From 7a060e21636d100c4cc73dae28394237265ec850 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Mon, 10 Oct 2022 17:33:41 +0100 Subject: [PATCH 01/47] Add 1.4.0 proto --- scripts/generate_protobuf.sh | 26 + secret_sdk/protobuf | 1 - secret_sdk/protobuf/__init__.py | 0 secret_sdk/protobuf/cosmos/__init__.py | 0 secret_sdk/protobuf/cosmos/auth/__init__.py | 0 .../protobuf/cosmos/auth/v1beta1/__init__.py | 248 +++ secret_sdk/protobuf/cosmos/authz/__init__.py | 0 .../protobuf/cosmos/authz/v1beta1/__init__.py | 465 +++++ secret_sdk/protobuf/cosmos/bank/__init__.py | 0 .../protobuf/cosmos/bank/v1beta1/__init__.py | 778 ++++++++ secret_sdk/protobuf/cosmos/base/__init__.py | 0 .../protobuf/cosmos/base/abci/__init__.py | 0 .../cosmos/base/abci/v1beta1/__init__.py | 196 ++ .../protobuf/cosmos/base/kv/__init__.py | 0 .../cosmos/base/kv/v1beta1/__init__.py | 22 + .../protobuf/cosmos/base/query/__init__.py | 0 .../cosmos/base/query/v1beta1/__init__.py | 68 + .../cosmos/base/reflection/__init__.py | 0 .../base/reflection/v1beta1/__init__.py | 143 ++ .../base/reflection/v2alpha1/__init__.py | 607 ++++++ .../cosmos/base/snapshots/__init__.py | 0 .../cosmos/base/snapshots/v1beta1/__init__.py | 76 + .../protobuf/cosmos/base/store/__init__.py | 0 .../cosmos/base/store/v1beta1/__init__.py | 55 + .../cosmos/base/tendermint/__init__.py | 0 .../base/tendermint/v1beta1/__init__.py | 421 ++++ .../protobuf/cosmos/base/v1beta1/__init__.py | 44 + .../protobuf/cosmos/capability/__init__.py | 0 .../cosmos/capability/v1beta1/__init__.py | 65 + secret_sdk/protobuf/cosmos/crisis/__init__.py | 0 .../cosmos/crisis/v1beta1/__init__.py | 95 + secret_sdk/protobuf/cosmos/crypto/__init__.py | 0 .../cosmos/crypto/ed25519/__init__.py | 29 + .../cosmos/crypto/multisig/__init__.py | 21 + .../crypto/multisig/v1beta1/__init__.py | 31 + .../cosmos/crypto/secp256k1/__init__.py | 26 + .../cosmos/crypto/secp256r1/__init__.py | 26 + .../protobuf/cosmos/distribution/__init__.py | 0 .../cosmos/distribution/v1beta1/__init__.py | 1182 +++++++++++ .../protobuf/cosmos/evidence/__init__.py | 0 .../cosmos/evidence/v1beta1/__init__.py | 236 +++ .../protobuf/cosmos/feegrant/__init__.py | 0 .../cosmos/feegrant/v1beta1/__init__.py | 401 ++++ .../protobuf/cosmos/genutil/__init__.py | 0 .../cosmos/genutil/v1beta1/__init__.py | 15 + secret_sdk/protobuf/cosmos/gov/__init__.py | 0 .../protobuf/cosmos/gov/v1beta1/__init__.py | 954 +++++++++ secret_sdk/protobuf/cosmos/mint/__init__.py | 0 .../protobuf/cosmos/mint/v1beta1/__init__.py | 240 +++ secret_sdk/protobuf/cosmos/params/__init__.py | 0 .../cosmos/params/v1beta1/__init__.py | 108 + .../protobuf/cosmos/slashing/__init__.py | 0 .../cosmos/slashing/v1beta1/__init__.py | 366 ++++ .../protobuf/cosmos/staking/__init__.py | 0 .../cosmos/staking/v1beta1/__init__.py | 1678 ++++++++++++++++ secret_sdk/protobuf/cosmos/tx/__init__.py | 0 .../protobuf/cosmos/tx/signing/__init__.py | 0 .../cosmos/tx/signing/v1beta1/__init__.py | 114 ++ .../protobuf/cosmos/tx/v1beta1/__init__.py | 648 ++++++ .../protobuf/cosmos/upgrade/__init__.py | 0 .../cosmos/upgrade/v1beta1/__init__.py | 377 ++++ .../protobuf/cosmos/vesting/__init__.py | 0 .../cosmos/vesting/v1beta1/__init__.py | 159 ++ secret_sdk/protobuf/cosmos_proto/__init__.py | 6 + secret_sdk/protobuf/gogoproto/__init__.py | 6 + secret_sdk/protobuf/google/__init__.py | 0 secret_sdk/protobuf/google/api/__init__.py | 248 +++ secret_sdk/protobuf/ibc/__init__.py | 0 .../protobuf/ibc/applications/__init__.py | 0 .../interchain_accounts/__init__.py | 0 .../controller/__init__.py | 0 .../controller/v1/__init__.py | 92 + .../interchain_accounts/host/__init__.py | 0 .../interchain_accounts/host/v1/__init__.py | 99 + .../interchain_accounts/v1/__init__.py | 159 ++ .../ibc/applications/transfer/__init__.py | 0 .../ibc/applications/transfer/v1/__init__.py | 400 ++++ .../ibc/applications/transfer/v2/__init__.py | 28 + secret_sdk/protobuf/ibc/core/__init__.py | 0 .../protobuf/ibc/core/channel/__init__.py | 0 .../protobuf/ibc/core/channel/v1/__init__.py | 1776 +++++++++++++++++ .../protobuf/ibc/core/client/__init__.py | 0 .../protobuf/ibc/core/client/v1/__init__.py | 980 +++++++++ .../protobuf/ibc/core/commitment/__init__.py | 0 .../ibc/core/commitment/v1/__init__.py | 53 + .../protobuf/ibc/core/connection/__init__.py | 0 .../ibc/core/connection/v1/__init__.py | 819 ++++++++ .../protobuf/ibc/core/types/__init__.py | 0 .../protobuf/ibc/core/types/v1/__init__.py | 24 + .../protobuf/ibc/lightclients/__init__.py | 0 .../ibc/lightclients/localhost/__init__.py | 0 .../ibc/lightclients/localhost/v1/__init__.py | 22 + .../ibc/lightclients/solomachine/__init__.py | 0 .../lightclients/solomachine/v1/__init__.py | 251 +++ .../lightclients/solomachine/v2/__init__.py | 251 +++ .../ibc/lightclients/tendermint/__init__.py | 0 .../lightclients/tendermint/v1/__init__.py | 136 ++ secret_sdk/protobuf/ics23/__init__.py | 278 +++ secret_sdk/protobuf/secret/__init__.py | 0 .../protobuf/secret/compute/__init__.py | 0 .../secret/compute/v1beta1/__init__.py | 773 +++++++ .../protobuf/secret/intertx/__init__.py | 0 .../secret/intertx/v1beta1/__init__.py | 202 ++ .../protobuf/secret/registration/__init__.py | 0 .../remote_attestation/__init__.py | 0 .../remote_attestation/v1beta1/__init__.py | 58 + .../secret/registration/v1beta1/__init__.py | 184 ++ secret_sdk/protobuf/tendermint/__init__.py | 0 .../protobuf/tendermint/abci/__init__.py | 983 +++++++++ .../tendermint/blockchain/__init__.py | 56 + .../protobuf/tendermint/consensus/__init__.py | 174 ++ .../protobuf/tendermint/crypto/__init__.py | 61 + .../protobuf/tendermint/libs/__init__.py | 0 .../protobuf/tendermint/libs/bits/__init__.py | 13 + .../protobuf/tendermint/mempool/__init__.py | 17 + .../protobuf/tendermint/p2p/__init__.py | 87 + .../protobuf/tendermint/privval/__init__.py | 111 ++ .../protobuf/tendermint/rpc/__init__.py | 0 .../protobuf/tendermint/rpc/grpc/__init__.py | 118 ++ .../protobuf/tendermint/state/__init__.py | 92 + .../protobuf/tendermint/statesync/__init__.py | 44 + .../protobuf/tendermint/store/__init__.py | 12 + .../protobuf/tendermint/types/__init__.py | 383 ++++ .../protobuf/tendermint/version/__init__.py | 30 + 124 files changed, 18946 insertions(+), 1 deletion(-) create mode 100644 scripts/generate_protobuf.sh delete mode 120000 secret_sdk/protobuf create mode 100644 secret_sdk/protobuf/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/auth/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/auth/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/authz/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/authz/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/bank/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/bank/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/abci/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/abci/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/kv/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/kv/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/query/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/query/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/reflection/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/reflection/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/reflection/v2alpha1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/snapshots/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/snapshots/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/store/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/store/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/tendermint/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/tendermint/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/base/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/capability/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/capability/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crisis/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crisis/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/ed25519/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/multisig/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/multisig/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/secp256k1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/crypto/secp256r1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/distribution/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/distribution/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/evidence/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/evidence/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/feegrant/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/feegrant/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/genutil/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/genutil/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/gov/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/gov/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/mint/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/mint/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/params/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/params/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/slashing/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/slashing/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/staking/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/staking/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/tx/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/tx/signing/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/tx/signing/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/tx/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/upgrade/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/upgrade/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/vesting/__init__.py create mode 100644 secret_sdk/protobuf/cosmos/vesting/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/cosmos_proto/__init__.py create mode 100644 secret_sdk/protobuf/gogoproto/__init__.py create mode 100644 secret_sdk/protobuf/google/__init__.py create mode 100644 secret_sdk/protobuf/google/api/__init__.py create mode 100644 secret_sdk/protobuf/ibc/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/host/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/host/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/interchain_accounts/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/transfer/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/transfer/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/applications/transfer/v2/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/channel/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/channel/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/client/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/client/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/commitment/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/commitment/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/connection/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/connection/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/types/__init__.py create mode 100644 secret_sdk/protobuf/ibc/core/types/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/localhost/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/localhost/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/solomachine/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/solomachine/v1/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/solomachine/v2/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/tendermint/__init__.py create mode 100644 secret_sdk/protobuf/ibc/lightclients/tendermint/v1/__init__.py create mode 100644 secret_sdk/protobuf/ics23/__init__.py create mode 100644 secret_sdk/protobuf/secret/__init__.py create mode 100644 secret_sdk/protobuf/secret/compute/__init__.py create mode 100644 secret_sdk/protobuf/secret/compute/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/secret/intertx/__init__.py create mode 100644 secret_sdk/protobuf/secret/intertx/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/secret/registration/__init__.py create mode 100644 secret_sdk/protobuf/secret/registration/remote_attestation/__init__.py create mode 100644 secret_sdk/protobuf/secret/registration/remote_attestation/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/secret/registration/v1beta1/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/abci/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/blockchain/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/consensus/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/crypto/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/libs/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/libs/bits/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/mempool/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/p2p/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/privval/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/rpc/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/rpc/grpc/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/state/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/statesync/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/store/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/types/__init__.py create mode 100644 secret_sdk/protobuf/tendermint/version/__init__.py diff --git a/scripts/generate_protobuf.sh b/scripts/generate_protobuf.sh new file mode 100644 index 0000000..cc01bf0 --- /dev/null +++ b/scripts/generate_protobuf.sh @@ -0,0 +1,26 @@ +#!/bin/bash +set -o errexit -o nounset -o pipefail + +SCRIPT_PATH="$( cd -- "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )" + +rm -rf "${SCRIPT_PATH}/SecretNetwork" +git clone --depth 1 --branch v1.4.0 https://github.com/scrtlabs/SecretNetwork "${SCRIPT_PATH}/SecretNetwork" + +SECRET_DIR="${SCRIPT_PATH}/SecretNetwork/proto" +SECRET_THIRD_PARTY_DIR="${SCRIPT_PATH}/SecretNetwork/third_party/proto" + +#!/bin/bash +set -o errexit -o nounset -o pipefail +command -v shellcheck >/dev/null && shellcheck "$0" + +OUT_DIR="../secret_sdk/protobuf/" + +mkdir -p "$OUT_DIR" + +echo "Processing secret proto files ..." + +protoc \ + --proto_path=${SECRET_DIR} \ + --proto_path=${SECRET_THIRD_PARTY_DIR} \ + --python_betterproto_out="${OUT_DIR}" \ + $(find ${SECRET_DIR} ${SECRET_THIRD_PARTY_DIR} -path -prune -o -name '*.proto' -print0 | xargs -0) \ No newline at end of file diff --git a/secret_sdk/protobuf b/secret_sdk/protobuf deleted file mode 120000 index 7d17d91..0000000 --- a/secret_sdk/protobuf +++ /dev/null @@ -1 +0,0 @@ -../secret.proto/python/secret_proto/ \ No newline at end of file diff --git a/secret_sdk/protobuf/__init__.py b/secret_sdk/protobuf/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/__init__.py b/secret_sdk/protobuf/cosmos/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/auth/__init__.py b/secret_sdk/protobuf/cosmos/auth/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/auth/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/auth/v1beta1/__init__.py new file mode 100644 index 0000000..840fe43 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/auth/v1beta1/__init__.py @@ -0,0 +1,248 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/auth/v1beta1/auth.proto, cosmos/auth/v1beta1/genesis.proto, cosmos/auth/v1beta1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class BaseAccount(betterproto.Message): + """ + BaseAccount defines a base account type. It contains all the necessary + fields for basic account functionality. Any custom account type should + extend this type for additional functionality (e.g. vesting). + """ + + address: str = betterproto.string_field(1) + pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + account_number: int = betterproto.uint64_field(3) + sequence: int = betterproto.uint64_field(4) + + +@dataclass(eq=False, repr=False) +class ModuleAccount(betterproto.Message): + """ + ModuleAccount defines an account for modules that holds coins on a pool. + """ + + base_account: "BaseAccount" = betterproto.message_field(1) + name: str = betterproto.string_field(2) + permissions: List[str] = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the parameters for the auth module.""" + + max_memo_characters: int = betterproto.uint64_field(1) + tx_sig_limit: int = betterproto.uint64_field(2) + tx_size_cost_per_byte: int = betterproto.uint64_field(3) + sig_verify_cost_ed25519: int = betterproto.uint64_field(4) + sig_verify_cost_secp256_k1: int = betterproto.uint64_field(5) + + +@dataclass(eq=False, repr=False) +class QueryAccountsRequest(betterproto.Message): + """ + QueryAccountsRequest is the request type for the Query/Accounts RPC method. + Since: cosmos-sdk 0.43 + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(1) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryAccountsResponse(betterproto.Message): + """ + QueryAccountsResponse is the response type for the Query/Accounts RPC + method. Since: cosmos-sdk 0.43 + """ + + accounts: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(1) + """accounts are the existing accounts""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryAccountRequest(betterproto.Message): + """ + QueryAccountRequest is the request type for the Query/Account RPC method. + """ + + address: str = betterproto.string_field(1) + """address defines the address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryAccountResponse(betterproto.Message): + """ + QueryAccountResponse is the response type for the Query/Account RPC method. + """ + + account: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """account defines the account of the corresponding address.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the auth module's genesis state.""" + + params: "Params" = betterproto.message_field(1) + """params defines all the paramaters of the module.""" + + accounts: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(2) + """accounts are the accounts present at genesis.""" + + +class QueryStub(betterproto.ServiceStub): + async def accounts( + self, + query_accounts_request: "QueryAccountsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAccountsResponse": + return await self._unary_unary( + "/cosmos.auth.v1beta1.Query/Accounts", + query_accounts_request, + QueryAccountsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def account( + self, + query_account_request: "QueryAccountRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAccountResponse": + return await self._unary_unary( + "/cosmos.auth.v1beta1.Query/Account", + query_account_request, + QueryAccountResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.auth.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def accounts( + self, query_accounts_request: "QueryAccountsRequest" + ) -> "QueryAccountsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def account( + self, query_account_request: "QueryAccountRequest" + ) -> "QueryAccountResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_accounts( + self, + stream: "grpclib.server.Stream[QueryAccountsRequest, QueryAccountsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.accounts(request) + await stream.send_message(response) + + async def __rpc_account( + self, stream: "grpclib.server.Stream[QueryAccountRequest, QueryAccountResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.account(request) + await stream.send_message(response) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.auth.v1beta1.Query/Accounts": grpclib.const.Handler( + self.__rpc_accounts, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAccountsRequest, + QueryAccountsResponse, + ), + "/cosmos.auth.v1beta1.Query/Account": grpclib.const.Handler( + self.__rpc_account, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAccountRequest, + QueryAccountResponse, + ), + "/cosmos.auth.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/authz/__init__.py b/secret_sdk/protobuf/cosmos/authz/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/authz/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/authz/v1beta1/__init__.py new file mode 100644 index 0000000..8dc3fda --- /dev/null +++ b/secret_sdk/protobuf/cosmos/authz/v1beta1/__init__.py @@ -0,0 +1,465 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/authz/v1beta1/authz.proto, cosmos/authz/v1beta1/event.proto, cosmos/authz/v1beta1/genesis.proto, cosmos/authz/v1beta1/query.proto, cosmos/authz/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import datetime +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class GenericAuthorization(betterproto.Message): + """ + GenericAuthorization gives the grantee unrestricted permissions to execute + the provided method on behalf of the granter's account. + """ + + msg: str = betterproto.string_field(1) + """ + Msg, identified by it's type URL, to grant unrestricted permissions to + execute + """ + + +@dataclass(eq=False, repr=False) +class Grant(betterproto.Message): + """ + Grant gives permissions to execute the provide method with expiration time. + """ + + authorization: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + expiration: datetime = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class GrantAuthorization(betterproto.Message): + """ + GrantAuthorization extends a grant with both the addresses of the grantee + and granter. It is used in genesis.proto and query.proto Since: cosmos-sdk + 0.45.2 + """ + + granter: str = betterproto.string_field(1) + grantee: str = betterproto.string_field(2) + authorization: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(3) + expiration: datetime = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class MsgGrant(betterproto.Message): + """ + MsgGrant is a request type for Grant method. It declares authorization to + the grantee on behalf of the granter with the provided expiration time. + """ + + granter: str = betterproto.string_field(1) + grantee: str = betterproto.string_field(2) + grant: "Grant" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgExecResponse(betterproto.Message): + """MsgExecResponse defines the Msg/MsgExecResponse response type.""" + + results: List[bytes] = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class MsgExec(betterproto.Message): + """ + MsgExec attempts to execute the provided messages using authorizations + granted to the grantee. Each message should have only one signer + corresponding to the granter of the authorization. + """ + + grantee: str = betterproto.string_field(1) + msgs: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(2) + """ + Authorization Msg requests to execute. Each msg must implement + Authorization interface The x/authz will try to find a grant matching + (msg.signers[0], grantee, MsgTypeURL(msg)) triple and validate it. + """ + + +@dataclass(eq=False, repr=False) +class MsgGrantResponse(betterproto.Message): + """MsgGrantResponse defines the Msg/MsgGrant response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgRevoke(betterproto.Message): + """ + MsgRevoke revokes any authorization with the provided sdk.Msg type on the + granter's account with that has been granted to the grantee. + """ + + granter: str = betterproto.string_field(1) + grantee: str = betterproto.string_field(2) + msg_type_url: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class MsgRevokeResponse(betterproto.Message): + """MsgRevokeResponse defines the Msg/MsgRevokeResponse response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryGrantsRequest(betterproto.Message): + """ + QueryGrantsRequest is the request type for the Query/Grants RPC method. + """ + + granter: str = betterproto.string_field(1) + grantee: str = betterproto.string_field(2) + msg_type_url: str = betterproto.string_field(3) + """ + Optional, msg_type_url, when set, will query only grants matching given msg + type. + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(4) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryGrantsResponse(betterproto.Message): + """ + QueryGrantsResponse is the response type for the Query/Authorizations RPC + method. + """ + + grants: List["Grant"] = betterproto.message_field(1) + """authorizations is a list of grants granted for grantee by granter.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class QueryGranterGrantsRequest(betterproto.Message): + """ + QueryGranterGrantsRequest is the request type for the Query/GranterGrants + RPC method. + """ + + granter: str = betterproto.string_field(1) + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryGranterGrantsResponse(betterproto.Message): + """ + QueryGranterGrantsResponse is the response type for the Query/GranterGrants + RPC method. + """ + + grants: List["GrantAuthorization"] = betterproto.message_field(1) + """grants is a list of grants granted by the granter.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class QueryGranteeGrantsRequest(betterproto.Message): + """ + QueryGranteeGrantsRequest is the request type for the Query/IssuedGrants + RPC method. + """ + + grantee: str = betterproto.string_field(1) + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryGranteeGrantsResponse(betterproto.Message): + """ + QueryGranteeGrantsResponse is the response type for the Query/GranteeGrants + RPC method. + """ + + grants: List["GrantAuthorization"] = betterproto.message_field(1) + """grants is a list of grants granted to the grantee.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class EventGrant(betterproto.Message): + """EventGrant is emitted on Msg/Grant""" + + msg_type_url: str = betterproto.string_field(2) + """Msg type URL for which an autorization is granted""" + + granter: str = betterproto.string_field(3) + """Granter account address""" + + grantee: str = betterproto.string_field(4) + """Grantee account address""" + + +@dataclass(eq=False, repr=False) +class EventRevoke(betterproto.Message): + """EventRevoke is emitted on Msg/Revoke""" + + msg_type_url: str = betterproto.string_field(2) + """Msg type URL for which an autorization is revoked""" + + granter: str = betterproto.string_field(3) + """Granter account address""" + + grantee: str = betterproto.string_field(4) + """Grantee account address""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the authz module's genesis state.""" + + authorization: List["GrantAuthorization"] = betterproto.message_field(1) + + +class MsgStub(betterproto.ServiceStub): + async def grant( + self, + msg_grant: "MsgGrant", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgGrantResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Msg/Grant", + msg_grant, + MsgGrantResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def exec( + self, + msg_exec: "MsgExec", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgExecResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Msg/Exec", + msg_exec, + MsgExecResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def revoke( + self, + msg_revoke: "MsgRevoke", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgRevokeResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Msg/Revoke", + msg_revoke, + MsgRevokeResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def grants( + self, + query_grants_request: "QueryGrantsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryGrantsResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Query/Grants", + query_grants_request, + QueryGrantsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def granter_grants( + self, + query_granter_grants_request: "QueryGranterGrantsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryGranterGrantsResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Query/GranterGrants", + query_granter_grants_request, + QueryGranterGrantsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def grantee_grants( + self, + query_grantee_grants_request: "QueryGranteeGrantsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryGranteeGrantsResponse": + return await self._unary_unary( + "/cosmos.authz.v1beta1.Query/GranteeGrants", + query_grantee_grants_request, + QueryGranteeGrantsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def grant(self, msg_grant: "MsgGrant") -> "MsgGrantResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def exec(self, msg_exec: "MsgExec") -> "MsgExecResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def revoke(self, msg_revoke: "MsgRevoke") -> "MsgRevokeResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_grant( + self, stream: "grpclib.server.Stream[MsgGrant, MsgGrantResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.grant(request) + await stream.send_message(response) + + async def __rpc_exec( + self, stream: "grpclib.server.Stream[MsgExec, MsgExecResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.exec(request) + await stream.send_message(response) + + async def __rpc_revoke( + self, stream: "grpclib.server.Stream[MsgRevoke, MsgRevokeResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.revoke(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.authz.v1beta1.Msg/Grant": grpclib.const.Handler( + self.__rpc_grant, + grpclib.const.Cardinality.UNARY_UNARY, + MsgGrant, + MsgGrantResponse, + ), + "/cosmos.authz.v1beta1.Msg/Exec": grpclib.const.Handler( + self.__rpc_exec, + grpclib.const.Cardinality.UNARY_UNARY, + MsgExec, + MsgExecResponse, + ), + "/cosmos.authz.v1beta1.Msg/Revoke": grpclib.const.Handler( + self.__rpc_revoke, + grpclib.const.Cardinality.UNARY_UNARY, + MsgRevoke, + MsgRevokeResponse, + ), + } + + +class QueryBase(ServiceBase): + async def grants( + self, query_grants_request: "QueryGrantsRequest" + ) -> "QueryGrantsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def granter_grants( + self, query_granter_grants_request: "QueryGranterGrantsRequest" + ) -> "QueryGranterGrantsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def grantee_grants( + self, query_grantee_grants_request: "QueryGranteeGrantsRequest" + ) -> "QueryGranteeGrantsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_grants( + self, stream: "grpclib.server.Stream[QueryGrantsRequest, QueryGrantsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.grants(request) + await stream.send_message(response) + + async def __rpc_granter_grants( + self, + stream: "grpclib.server.Stream[QueryGranterGrantsRequest, QueryGranterGrantsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.granter_grants(request) + await stream.send_message(response) + + async def __rpc_grantee_grants( + self, + stream: "grpclib.server.Stream[QueryGranteeGrantsRequest, QueryGranteeGrantsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.grantee_grants(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.authz.v1beta1.Query/Grants": grpclib.const.Handler( + self.__rpc_grants, + grpclib.const.Cardinality.UNARY_UNARY, + QueryGrantsRequest, + QueryGrantsResponse, + ), + "/cosmos.authz.v1beta1.Query/GranterGrants": grpclib.const.Handler( + self.__rpc_granter_grants, + grpclib.const.Cardinality.UNARY_UNARY, + QueryGranterGrantsRequest, + QueryGranterGrantsResponse, + ), + "/cosmos.authz.v1beta1.Query/GranteeGrants": grpclib.const.Handler( + self.__rpc_grantee_grants, + grpclib.const.Cardinality.UNARY_UNARY, + QueryGranteeGrantsRequest, + QueryGranteeGrantsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/bank/__init__.py b/secret_sdk/protobuf/cosmos/bank/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/bank/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/bank/v1beta1/__init__.py new file mode 100644 index 0000000..eb3f382 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/bank/v1beta1/__init__.py @@ -0,0 +1,778 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/bank/v1beta1/authz.proto, cosmos/bank/v1beta1/bank.proto, cosmos/bank/v1beta1/genesis.proto, cosmos/bank/v1beta1/query.proto, cosmos/bank/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the parameters for the bank module.""" + + send_enabled: List["SendEnabled"] = betterproto.message_field(1) + default_send_enabled: bool = betterproto.bool_field(2) + + +@dataclass(eq=False, repr=False) +class SendEnabled(betterproto.Message): + """ + SendEnabled maps coin denom to a send_enabled status (whether a denom is + sendable). + """ + + denom: str = betterproto.string_field(1) + enabled: bool = betterproto.bool_field(2) + + +@dataclass(eq=False, repr=False) +class Input(betterproto.Message): + """Input models transaction input.""" + + address: str = betterproto.string_field(1) + coins: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Output(betterproto.Message): + """Output models transaction outputs.""" + + address: str = betterproto.string_field(1) + coins: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Supply(betterproto.Message): + """ + Supply represents a struct that passively keeps track of the total supply + amounts in the network. This message is deprecated now that supply is + indexed by denom. + """ + + total: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + + def __post_init__(self) -> None: + warnings.warn("Supply is deprecated", DeprecationWarning) + super().__post_init__() + + +@dataclass(eq=False, repr=False) +class DenomUnit(betterproto.Message): + """ + DenomUnit represents a struct that describes a given denomination unit of + the basic token. + """ + + denom: str = betterproto.string_field(1) + """ + denom represents the string name of the given denom unit (e.g uatom). + """ + + exponent: int = betterproto.uint32_field(2) + """ + exponent represents power of 10 exponent that one must raise the base_denom + to in order to equal the given DenomUnit's denom 1 denom = 1^exponent + base_denom (e.g. with a base_denom of uatom, one can create a DenomUnit of + 'atom' with exponent = 6, thus: 1 atom = 10^6 uatom). + """ + + aliases: List[str] = betterproto.string_field(3) + """aliases is a list of string aliases for the given denom""" + + +@dataclass(eq=False, repr=False) +class Metadata(betterproto.Message): + """Metadata represents a struct that describes a basic token.""" + + description: str = betterproto.string_field(1) + denom_units: List["DenomUnit"] = betterproto.message_field(2) + """denom_units represents the list of DenomUnit's for a given coin""" + + base: str = betterproto.string_field(3) + """ + base represents the base denom (should be the DenomUnit with exponent = 0). + """ + + display: str = betterproto.string_field(4) + """ + display indicates the suggested denom that should be displayed in clients. + """ + + name: str = betterproto.string_field(5) + """ + name defines the name of the token (eg: Cosmos Atom) Since: cosmos-sdk 0.43 + """ + + symbol: str = betterproto.string_field(6) + """ + symbol is the token symbol usually shown on exchanges (eg: ATOM). This can + be the same as the display. Since: cosmos-sdk 0.43 + """ + + +@dataclass(eq=False, repr=False) +class MsgSend(betterproto.Message): + """ + MsgSend represents a message to send coins from one account to another. + """ + + from_address: str = betterproto.string_field(1) + to_address: str = betterproto.string_field(2) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgSendResponse(betterproto.Message): + """MsgSendResponse defines the Msg/Send response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgMultiSend(betterproto.Message): + """ + MsgMultiSend represents an arbitrary multi-in, multi-out send message. + """ + + inputs: List["Input"] = betterproto.message_field(1) + outputs: List["Output"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class MsgMultiSendResponse(betterproto.Message): + """MsgMultiSendResponse defines the Msg/MultiSend response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryBalanceRequest(betterproto.Message): + """ + QueryBalanceRequest is the request type for the Query/Balance RPC method. + """ + + address: str = betterproto.string_field(1) + """address is the address to query balances for.""" + + denom: str = betterproto.string_field(2) + """denom is the coin denom to query balances for.""" + + +@dataclass(eq=False, repr=False) +class QueryBalanceResponse(betterproto.Message): + """ + QueryBalanceResponse is the response type for the Query/Balance RPC method. + """ + + balance: "__base_v1_beta1__.Coin" = betterproto.message_field(1) + """balance is the balance of the coin.""" + + +@dataclass(eq=False, repr=False) +class QueryAllBalancesRequest(betterproto.Message): + """ + QueryBalanceRequest is the request type for the Query/AllBalances RPC + method. + """ + + address: str = betterproto.string_field(1) + """address is the address to query balances for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryAllBalancesResponse(betterproto.Message): + """ + QueryAllBalancesResponse is the response type for the Query/AllBalances RPC + method. + """ + + balances: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """balances is the balances of all the coins.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QuerySpendableBalancesRequest(betterproto.Message): + """ + QuerySpendableBalancesRequest defines the gRPC request structure for + querying an account's spendable balances. + """ + + address: str = betterproto.string_field(1) + """address is the address to query spendable balances for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QuerySpendableBalancesResponse(betterproto.Message): + """ + QuerySpendableBalancesResponse defines the gRPC response structure for + querying an account's spendable balances. + """ + + balances: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """balances is the spendable balances of all the coins.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryTotalSupplyRequest(betterproto.Message): + """ + QueryTotalSupplyRequest is the request type for the Query/TotalSupply RPC + method. + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(1) + """ + pagination defines an optional pagination for the request. Since: cosmos- + sdk 0.43 + """ + + +@dataclass(eq=False, repr=False) +class QueryTotalSupplyResponse(betterproto.Message): + """ + QueryTotalSupplyResponse is the response type for the Query/TotalSupply RPC + method + """ + + supply: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """supply is the supply of the coins""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """ + pagination defines the pagination in the response. Since: cosmos-sdk 0.43 + """ + + +@dataclass(eq=False, repr=False) +class QuerySupplyOfRequest(betterproto.Message): + """ + QuerySupplyOfRequest is the request type for the Query/SupplyOf RPC method. + """ + + denom: str = betterproto.string_field(1) + """denom is the coin denom to query balances for.""" + + +@dataclass(eq=False, repr=False) +class QuerySupplyOfResponse(betterproto.Message): + """ + QuerySupplyOfResponse is the response type for the Query/SupplyOf RPC + method. + """ + + amount: "__base_v1_beta1__.Coin" = betterproto.message_field(1) + """amount is the supply of the coin.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest defines the request type for querying x/bank parameters. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse defines the response type for querying x/bank + parameters. + """ + + params: "Params" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QueryDenomsMetadataRequest(betterproto.Message): + """ + QueryDenomsMetadataRequest is the request type for the Query/DenomsMetadata + RPC method. + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(1) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomsMetadataResponse(betterproto.Message): + """ + QueryDenomsMetadataResponse is the response type for the + Query/DenomsMetadata RPC method. + """ + + metadatas: List["Metadata"] = betterproto.message_field(1) + """ + metadata provides the client information for all the registered tokens. + """ + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomMetadataRequest(betterproto.Message): + """ + QueryDenomMetadataRequest is the request type for the Query/DenomMetadata + RPC method. + """ + + denom: str = betterproto.string_field(1) + """denom is the coin denom to query the metadata for.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomMetadataResponse(betterproto.Message): + """ + QueryDenomMetadataResponse is the response type for the Query/DenomMetadata + RPC method. + """ + + metadata: "Metadata" = betterproto.message_field(1) + """ + metadata describes and provides all the client information for the + requested token. + """ + + +@dataclass(eq=False, repr=False) +class SendAuthorization(betterproto.Message): + """ + SendAuthorization allows the grantee to spend up to spend_limit coins from + the granter's account. Since: cosmos-sdk 0.43 + """ + + spend_limit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the bank module's genesis state.""" + + params: "Params" = betterproto.message_field(1) + """params defines all the paramaters of the module.""" + + balances: List["Balance"] = betterproto.message_field(2) + """balances is an array containing the balances of all the accounts.""" + + supply: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + """ + supply represents the total supply. If it is left empty, then supply will + be calculated based on the provided balances. Otherwise, it will be used to + validate that the sum of the balances equals this amount. + """ + + denom_metadata: List["Metadata"] = betterproto.message_field(4) + """denom_metadata defines the metadata of the differents coins.""" + + +@dataclass(eq=False, repr=False) +class Balance(betterproto.Message): + """ + Balance defines an account address and balance pair used in the bank + module's genesis state. + """ + + address: str = betterproto.string_field(1) + """address is the address of the balance holder.""" + + coins: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + """coins defines the different coins this balance holds.""" + + +class MsgStub(betterproto.ServiceStub): + async def send( + self, + msg_send: "MsgSend", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSendResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Msg/Send", + msg_send, + MsgSendResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def multi_send( + self, + msg_multi_send: "MsgMultiSend", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgMultiSendResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Msg/MultiSend", + msg_multi_send, + MsgMultiSendResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def balance( + self, + query_balance_request: "QueryBalanceRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryBalanceResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/Balance", + query_balance_request, + QueryBalanceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def all_balances( + self, + query_all_balances_request: "QueryAllBalancesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAllBalancesResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/AllBalances", + query_all_balances_request, + QueryAllBalancesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def spendable_balances( + self, + query_spendable_balances_request: "QuerySpendableBalancesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QuerySpendableBalancesResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/SpendableBalances", + query_spendable_balances_request, + QuerySpendableBalancesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def total_supply( + self, + query_total_supply_request: "QueryTotalSupplyRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryTotalSupplyResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/TotalSupply", + query_total_supply_request, + QueryTotalSupplyResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def supply_of( + self, + query_supply_of_request: "QuerySupplyOfRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QuerySupplyOfResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/SupplyOf", + query_supply_of_request, + QuerySupplyOfResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def denom_metadata( + self, + query_denom_metadata_request: "QueryDenomMetadataRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDenomMetadataResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/DenomMetadata", + query_denom_metadata_request, + QueryDenomMetadataResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def denoms_metadata( + self, + query_denoms_metadata_request: "QueryDenomsMetadataRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDenomsMetadataResponse": + return await self._unary_unary( + "/cosmos.bank.v1beta1.Query/DenomsMetadata", + query_denoms_metadata_request, + QueryDenomsMetadataResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def send(self, msg_send: "MsgSend") -> "MsgSendResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def multi_send( + self, msg_multi_send: "MsgMultiSend" + ) -> "MsgMultiSendResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_send( + self, stream: "grpclib.server.Stream[MsgSend, MsgSendResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.send(request) + await stream.send_message(response) + + async def __rpc_multi_send( + self, stream: "grpclib.server.Stream[MsgMultiSend, MsgMultiSendResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.multi_send(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.bank.v1beta1.Msg/Send": grpclib.const.Handler( + self.__rpc_send, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSend, + MsgSendResponse, + ), + "/cosmos.bank.v1beta1.Msg/MultiSend": grpclib.const.Handler( + self.__rpc_multi_send, + grpclib.const.Cardinality.UNARY_UNARY, + MsgMultiSend, + MsgMultiSendResponse, + ), + } + + +class QueryBase(ServiceBase): + async def balance( + self, query_balance_request: "QueryBalanceRequest" + ) -> "QueryBalanceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def all_balances( + self, query_all_balances_request: "QueryAllBalancesRequest" + ) -> "QueryAllBalancesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def spendable_balances( + self, query_spendable_balances_request: "QuerySpendableBalancesRequest" + ) -> "QuerySpendableBalancesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def total_supply( + self, query_total_supply_request: "QueryTotalSupplyRequest" + ) -> "QueryTotalSupplyResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def supply_of( + self, query_supply_of_request: "QuerySupplyOfRequest" + ) -> "QuerySupplyOfResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def denom_metadata( + self, query_denom_metadata_request: "QueryDenomMetadataRequest" + ) -> "QueryDenomMetadataResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def denoms_metadata( + self, query_denoms_metadata_request: "QueryDenomsMetadataRequest" + ) -> "QueryDenomsMetadataResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_balance( + self, stream: "grpclib.server.Stream[QueryBalanceRequest, QueryBalanceResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.balance(request) + await stream.send_message(response) + + async def __rpc_all_balances( + self, + stream: "grpclib.server.Stream[QueryAllBalancesRequest, QueryAllBalancesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.all_balances(request) + await stream.send_message(response) + + async def __rpc_spendable_balances( + self, + stream: "grpclib.server.Stream[QuerySpendableBalancesRequest, QuerySpendableBalancesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.spendable_balances(request) + await stream.send_message(response) + + async def __rpc_total_supply( + self, + stream: "grpclib.server.Stream[QueryTotalSupplyRequest, QueryTotalSupplyResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.total_supply(request) + await stream.send_message(response) + + async def __rpc_supply_of( + self, + stream: "grpclib.server.Stream[QuerySupplyOfRequest, QuerySupplyOfResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.supply_of(request) + await stream.send_message(response) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_denom_metadata( + self, + stream: "grpclib.server.Stream[QueryDenomMetadataRequest, QueryDenomMetadataResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.denom_metadata(request) + await stream.send_message(response) + + async def __rpc_denoms_metadata( + self, + stream: "grpclib.server.Stream[QueryDenomsMetadataRequest, QueryDenomsMetadataResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.denoms_metadata(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.bank.v1beta1.Query/Balance": grpclib.const.Handler( + self.__rpc_balance, + grpclib.const.Cardinality.UNARY_UNARY, + QueryBalanceRequest, + QueryBalanceResponse, + ), + "/cosmos.bank.v1beta1.Query/AllBalances": grpclib.const.Handler( + self.__rpc_all_balances, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAllBalancesRequest, + QueryAllBalancesResponse, + ), + "/cosmos.bank.v1beta1.Query/SpendableBalances": grpclib.const.Handler( + self.__rpc_spendable_balances, + grpclib.const.Cardinality.UNARY_UNARY, + QuerySpendableBalancesRequest, + QuerySpendableBalancesResponse, + ), + "/cosmos.bank.v1beta1.Query/TotalSupply": grpclib.const.Handler( + self.__rpc_total_supply, + grpclib.const.Cardinality.UNARY_UNARY, + QueryTotalSupplyRequest, + QueryTotalSupplyResponse, + ), + "/cosmos.bank.v1beta1.Query/SupplyOf": grpclib.const.Handler( + self.__rpc_supply_of, + grpclib.const.Cardinality.UNARY_UNARY, + QuerySupplyOfRequest, + QuerySupplyOfResponse, + ), + "/cosmos.bank.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/cosmos.bank.v1beta1.Query/DenomMetadata": grpclib.const.Handler( + self.__rpc_denom_metadata, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDenomMetadataRequest, + QueryDenomMetadataResponse, + ), + "/cosmos.bank.v1beta1.Query/DenomsMetadata": grpclib.const.Handler( + self.__rpc_denoms_metadata, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDenomsMetadataRequest, + QueryDenomsMetadataResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/base/__init__.py b/secret_sdk/protobuf/cosmos/base/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/abci/__init__.py b/secret_sdk/protobuf/cosmos/base/abci/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/abci/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/abci/v1beta1/__init__.py new file mode 100644 index 0000000..075f6d4 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/abci/v1beta1/__init__.py @@ -0,0 +1,196 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/abci/v1beta1/abci.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + +from .....tendermint import abci as ____tendermint_abci__ + + +@dataclass(eq=False, repr=False) +class TxResponse(betterproto.Message): + """ + TxResponse defines a structure containing relevant tx data and metadata. + The tags are stringified and the log is JSON decoded. + """ + + height: int = betterproto.int64_field(1) + """The block height""" + + txhash: str = betterproto.string_field(2) + """The transaction hash.""" + + codespace: str = betterproto.string_field(3) + """Namespace for the Code""" + + code: int = betterproto.uint32_field(4) + """Response code.""" + + data: str = betterproto.string_field(5) + """Result bytes, if any.""" + + raw_log: str = betterproto.string_field(6) + """ + The output of the application's logger (raw string). May be non- + deterministic. + """ + + logs: List["AbciMessageLog"] = betterproto.message_field(7) + """ + The output of the application's logger (typed). May be non-deterministic. + """ + + info: str = betterproto.string_field(8) + """Additional information. May be non-deterministic.""" + + gas_wanted: int = betterproto.int64_field(9) + """Amount of gas requested for transaction.""" + + gas_used: int = betterproto.int64_field(10) + """Amount of gas consumed by transaction.""" + + tx: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(11) + """The request transaction bytes.""" + + timestamp: str = betterproto.string_field(12) + """ + Time of the previous block. For heights > 1, it's the weighted median of + the timestamps of the valid votes in the block.LastCommit. For height == 1, + it's genesis time. + """ + + events: List["____tendermint_abci__.Event"] = betterproto.message_field(13) + """ + Events defines all the events emitted by processing a transaction. Note, + these events include those emitted by processing all the messages and those + emitted from the ante handler. Whereas Logs contains the events, with + additional metadata, emitted only by processing the messages. Since: + cosmos-sdk 0.42.11, 0.44.5, 0.45 + """ + + +@dataclass(eq=False, repr=False) +class AbciMessageLog(betterproto.Message): + """ + ABCIMessageLog defines a structure containing an indexed tx ABCI message + log. + """ + + msg_index: int = betterproto.uint32_field(1) + log: str = betterproto.string_field(2) + events: List["StringEvent"] = betterproto.message_field(3) + """ + Events contains a slice of Event objects that were emitted during some + execution. + """ + + +@dataclass(eq=False, repr=False) +class StringEvent(betterproto.Message): + """ + StringEvent defines en Event object wrapper where all the attributes + contain key/value pairs that are strings instead of raw bytes. + """ + + type: str = betterproto.string_field(1) + attributes: List["Attribute"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Attribute(betterproto.Message): + """ + Attribute defines an attribute wrapper where the key and value are strings + instead of raw bytes. + """ + + key: str = betterproto.string_field(1) + value: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class GasInfo(betterproto.Message): + """GasInfo defines tx execution gas context.""" + + gas_wanted: int = betterproto.uint64_field(1) + """GasWanted is the maximum units of work we allow this tx to perform.""" + + gas_used: int = betterproto.uint64_field(2) + """GasUsed is the amount of gas actually consumed.""" + + +@dataclass(eq=False, repr=False) +class Result(betterproto.Message): + """Result is the union of ResponseFormat and ResponseCheckTx.""" + + data: bytes = betterproto.bytes_field(1) + """ + Data is any data returned from message or handler execution. It MUST be + length prefixed in order to separate data from multiple message executions. + """ + + log: str = betterproto.string_field(2) + """Log contains the log information from message or handler execution.""" + + events: List["____tendermint_abci__.Event"] = betterproto.message_field(3) + """ + Events contains a slice of Event objects that were emitted during message + or handler execution. + """ + + +@dataclass(eq=False, repr=False) +class SimulationResponse(betterproto.Message): + """ + SimulationResponse defines the response generated when a transaction is + successfully simulated. + """ + + gas_info: "GasInfo" = betterproto.message_field(1) + result: "Result" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class MsgData(betterproto.Message): + """ + MsgData defines the data returned in a Result object during message + execution. + """ + + msg_type: str = betterproto.string_field(1) + data: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class TxMsgData(betterproto.Message): + """ + TxMsgData defines a list of MsgData. A transaction will have a MsgData + object for each message. + """ + + data: List["MsgData"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class SearchTxsResult(betterproto.Message): + """SearchTxsResult defines a structure for querying txs pageable""" + + total_count: int = betterproto.uint64_field(1) + """Count of all txs""" + + count: int = betterproto.uint64_field(2) + """Count of txs in current page""" + + page_number: int = betterproto.uint64_field(3) + """Index of current page, start from 1""" + + page_total: int = betterproto.uint64_field(4) + """Count of total pages""" + + limit: int = betterproto.uint64_field(5) + """Max count txs per page""" + + txs: List["TxResponse"] = betterproto.message_field(6) + """List of txs in current page""" diff --git a/secret_sdk/protobuf/cosmos/base/kv/__init__.py b/secret_sdk/protobuf/cosmos/base/kv/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/kv/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/kv/v1beta1/__init__.py new file mode 100644 index 0000000..d5fbeeb --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/kv/v1beta1/__init__.py @@ -0,0 +1,22 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/kv/v1beta1/kv.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class Pairs(betterproto.Message): + """Pairs defines a repeated slice of Pair objects.""" + + pairs: List["Pair"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Pair(betterproto.Message): + """Pair defines a key/value bytes tuple.""" + + key: bytes = betterproto.bytes_field(1) + value: bytes = betterproto.bytes_field(2) diff --git a/secret_sdk/protobuf/cosmos/base/query/__init__.py b/secret_sdk/protobuf/cosmos/base/query/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/query/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/query/v1beta1/__init__.py new file mode 100644 index 0000000..a0e406d --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/query/v1beta1/__init__.py @@ -0,0 +1,68 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/query/v1beta1/pagination.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class PageRequest(betterproto.Message): + """ + PageRequest is to be embedded in gRPC request messages for efficient + pagination. Ex: message SomeRequest { Foo some_parameter = 1; + PageRequest pagination = 2; } + """ + + key: bytes = betterproto.bytes_field(1) + """ + key is a value returned in PageResponse.next_key to begin querying the next + page most efficiently. Only one of offset or key should be set. + """ + + offset: int = betterproto.uint64_field(2) + """ + offset is a numeric offset that can be used when key is unavailable. It is + less efficient than using key. Only one of offset or key should be set. + """ + + limit: int = betterproto.uint64_field(3) + """ + limit is the total number of results to be returned in the result page. If + left empty it will default to a value to be set by each app. + """ + + count_total: bool = betterproto.bool_field(4) + """ + count_total is set to true to indicate that the result set should include + a count of the total number of items available for pagination in UIs. + count_total is only respected when offset is used. It is ignored when key + is set. + """ + + reverse: bool = betterproto.bool_field(5) + """ + reverse is set to true if results are to be returned in the descending + order. Since: cosmos-sdk 0.43 + """ + + +@dataclass(eq=False, repr=False) +class PageResponse(betterproto.Message): + """ + PageResponse is to be embedded in gRPC response messages where the + corresponding request message has used PageRequest. message SomeResponse { + repeated Bar results = 1; PageResponse page = 2; } + """ + + next_key: bytes = betterproto.bytes_field(1) + """ + next_key is the key to be passed to PageRequest.key to query the next page + most efficiently + """ + + total: int = betterproto.uint64_field(2) + """ + total is total number of results available if PageRequest.count_total was + set, its value is undefined otherwise + """ diff --git a/secret_sdk/protobuf/cosmos/base/reflection/__init__.py b/secret_sdk/protobuf/cosmos/base/reflection/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/reflection/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/reflection/v1beta1/__init__.py new file mode 100644 index 0000000..a038e99 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/reflection/v1beta1/__init__.py @@ -0,0 +1,143 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/reflection/v1beta1/reflection.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class ListAllInterfacesRequest(betterproto.Message): + """ + ListAllInterfacesRequest is the request type of the ListAllInterfaces RPC. + """ + + pass + + +@dataclass(eq=False, repr=False) +class ListAllInterfacesResponse(betterproto.Message): + """ + ListAllInterfacesResponse is the response type of the ListAllInterfaces + RPC. + """ + + interface_names: List[str] = betterproto.string_field(1) + """interface_names is an array of all the registered interfaces.""" + + +@dataclass(eq=False, repr=False) +class ListImplementationsRequest(betterproto.Message): + """ + ListImplementationsRequest is the request type of the ListImplementations + RPC. + """ + + interface_name: str = betterproto.string_field(1) + """ + interface_name defines the interface to query the implementations for. + """ + + +@dataclass(eq=False, repr=False) +class ListImplementationsResponse(betterproto.Message): + """ + ListImplementationsResponse is the response type of the ListImplementations + RPC. + """ + + implementation_message_names: List[str] = betterproto.string_field(1) + + +class ReflectionServiceStub(betterproto.ServiceStub): + async def list_all_interfaces( + self, + list_all_interfaces_request: "ListAllInterfacesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ListAllInterfacesResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v1beta1.ReflectionService/ListAllInterfaces", + list_all_interfaces_request, + ListAllInterfacesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def list_implementations( + self, + list_implementations_request: "ListImplementationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ListImplementationsResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v1beta1.ReflectionService/ListImplementations", + list_implementations_request, + ListImplementationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class ReflectionServiceBase(ServiceBase): + async def list_all_interfaces( + self, list_all_interfaces_request: "ListAllInterfacesRequest" + ) -> "ListAllInterfacesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def list_implementations( + self, list_implementations_request: "ListImplementationsRequest" + ) -> "ListImplementationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_list_all_interfaces( + self, + stream: "grpclib.server.Stream[ListAllInterfacesRequest, ListAllInterfacesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.list_all_interfaces(request) + await stream.send_message(response) + + async def __rpc_list_implementations( + self, + stream: "grpclib.server.Stream[ListImplementationsRequest, ListImplementationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.list_implementations(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.base.reflection.v1beta1.ReflectionService/ListAllInterfaces": grpclib.const.Handler( + self.__rpc_list_all_interfaces, + grpclib.const.Cardinality.UNARY_UNARY, + ListAllInterfacesRequest, + ListAllInterfacesResponse, + ), + "/cosmos.base.reflection.v1beta1.ReflectionService/ListImplementations": grpclib.const.Handler( + self.__rpc_list_implementations, + grpclib.const.Cardinality.UNARY_UNARY, + ListImplementationsRequest, + ListImplementationsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/base/reflection/v2alpha1/__init__.py b/secret_sdk/protobuf/cosmos/base/reflection/v2alpha1/__init__.py new file mode 100644 index 0000000..5bd369c --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/reflection/v2alpha1/__init__.py @@ -0,0 +1,607 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/reflection/v2alpha1/reflection.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class AppDescriptor(betterproto.Message): + """AppDescriptor describes a cosmos-sdk based application""" + + authn: "AuthnDescriptor" = betterproto.message_field(1) + """ + AuthnDescriptor provides information on how to authenticate transactions on + the application NOTE: experimental and subject to change in future + releases. + """ + + chain: "ChainDescriptor" = betterproto.message_field(2) + """chain provides the chain descriptor""" + + codec: "CodecDescriptor" = betterproto.message_field(3) + """codec provides metadata information regarding codec related types""" + + configuration: "ConfigurationDescriptor" = betterproto.message_field(4) + """ + configuration provides metadata information regarding the sdk.Config type + """ + + query_services: "QueryServicesDescriptor" = betterproto.message_field(5) + """ + query_services provides metadata information regarding the available + queriable endpoints + """ + + tx: "TxDescriptor" = betterproto.message_field(6) + """ + tx provides metadata information regarding how to send transactions to the + given application + """ + + +@dataclass(eq=False, repr=False) +class TxDescriptor(betterproto.Message): + """TxDescriptor describes the accepted transaction type""" + + fullname: str = betterproto.string_field(1) + """ + fullname is the protobuf fullname of the raw transaction type (for instance + the tx.Tx type) it is not meant to support polymorphism of transaction + types, it is supposed to be used by reflection clients to understand if + they can handle a specific transaction type in an application. + """ + + msgs: List["MsgDescriptor"] = betterproto.message_field(2) + """msgs lists the accepted application messages (sdk.Msg)""" + + +@dataclass(eq=False, repr=False) +class AuthnDescriptor(betterproto.Message): + """ + AuthnDescriptor provides information on how to sign transactions without + relying on the online RPCs GetTxMetadata and CombineUnsignedTxAndSignatures + """ + + sign_modes: List["SigningModeDescriptor"] = betterproto.message_field(1) + """sign_modes defines the supported signature algorithm""" + + +@dataclass(eq=False, repr=False) +class SigningModeDescriptor(betterproto.Message): + """ + SigningModeDescriptor provides information on a signing flow of the + application NOTE(fdymylja): here we could go as far as providing an entire + flow on how to sign a message given a SigningModeDescriptor, but it's + better to think about this another time + """ + + name: str = betterproto.string_field(1) + """name defines the unique name of the signing mode""" + + number: int = betterproto.int32_field(2) + """number is the unique int32 identifier for the sign_mode enum""" + + authn_info_provider_method_fullname: str = betterproto.string_field(3) + """ + authn_info_provider_method_fullname defines the fullname of the method to + call to get the metadata required to authenticate using the provided + sign_modes + """ + + +@dataclass(eq=False, repr=False) +class ChainDescriptor(betterproto.Message): + """ChainDescriptor describes chain information of the application""" + + id: str = betterproto.string_field(1) + """id is the chain id""" + + +@dataclass(eq=False, repr=False) +class CodecDescriptor(betterproto.Message): + """ + CodecDescriptor describes the registered interfaces and provides metadata + information on the types + """ + + interfaces: List["InterfaceDescriptor"] = betterproto.message_field(1) + """interfaces is a list of the registerted interfaces descriptors""" + + +@dataclass(eq=False, repr=False) +class InterfaceDescriptor(betterproto.Message): + """InterfaceDescriptor describes the implementation of an interface""" + + fullname: str = betterproto.string_field(1) + """fullname is the name of the interface""" + + interface_accepting_messages: List[ + "InterfaceAcceptingMessageDescriptor" + ] = betterproto.message_field(2) + """ + interface_accepting_messages contains information regarding the proto + messages which contain the interface as google.protobuf.Any field + """ + + interface_implementers: List[ + "InterfaceImplementerDescriptor" + ] = betterproto.message_field(3) + """ + interface_implementers is a list of the descriptors of the interface + implementers + """ + + +@dataclass(eq=False, repr=False) +class InterfaceImplementerDescriptor(betterproto.Message): + """InterfaceImplementerDescriptor describes an interface implementer""" + + fullname: str = betterproto.string_field(1) + """fullname is the protobuf queryable name of the interface implementer""" + + type_url: str = betterproto.string_field(2) + """ + type_url defines the type URL used when marshalling the type as any this is + required so we can provide type safe google.protobuf.Any marshalling and + unmarshalling, making sure that we don't accept just 'any' type in our + interface fields + """ + + +@dataclass(eq=False, repr=False) +class InterfaceAcceptingMessageDescriptor(betterproto.Message): + """ + InterfaceAcceptingMessageDescriptor describes a protobuf message which + contains an interface represented as a google.protobuf.Any + """ + + fullname: str = betterproto.string_field(1) + """ + fullname is the protobuf fullname of the type containing the interface + """ + + field_descriptor_names: List[str] = betterproto.string_field(2) + """ + field_descriptor_names is a list of the protobuf name (not fullname) of the + field which contains the interface as google.protobuf.Any (the interface is + the same, but it can be in multiple fields of the same proto message) + """ + + +@dataclass(eq=False, repr=False) +class ConfigurationDescriptor(betterproto.Message): + """ + ConfigurationDescriptor contains metadata information on the sdk.Config + """ + + bech32_account_address_prefix: str = betterproto.string_field(1) + """bech32_account_address_prefix is the account address prefix""" + + +@dataclass(eq=False, repr=False) +class MsgDescriptor(betterproto.Message): + """ + MsgDescriptor describes a cosmos-sdk message that can be delivered with a + transaction + """ + + msg_type_url: str = betterproto.string_field(1) + """msg_type_url contains the TypeURL of a sdk.Msg.""" + + +@dataclass(eq=False, repr=False) +class GetAuthnDescriptorRequest(betterproto.Message): + """ + GetAuthnDescriptorRequest is the request used for the GetAuthnDescriptor + RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetAuthnDescriptorResponse(betterproto.Message): + """ + GetAuthnDescriptorResponse is the response returned by the + GetAuthnDescriptor RPC + """ + + authn: "AuthnDescriptor" = betterproto.message_field(1) + """ + authn describes how to authenticate to the application when sending + transactions + """ + + +@dataclass(eq=False, repr=False) +class GetChainDescriptorRequest(betterproto.Message): + """ + GetChainDescriptorRequest is the request used for the GetChainDescriptor + RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetChainDescriptorResponse(betterproto.Message): + """ + GetChainDescriptorResponse is the response returned by the + GetChainDescriptor RPC + """ + + chain: "ChainDescriptor" = betterproto.message_field(1) + """chain describes application chain information""" + + +@dataclass(eq=False, repr=False) +class GetCodecDescriptorRequest(betterproto.Message): + """ + GetCodecDescriptorRequest is the request used for the GetCodecDescriptor + RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetCodecDescriptorResponse(betterproto.Message): + """ + GetCodecDescriptorResponse is the response returned by the + GetCodecDescriptor RPC + """ + + codec: "CodecDescriptor" = betterproto.message_field(1) + """ + codec describes the application codec such as registered interfaces and + implementations + """ + + +@dataclass(eq=False, repr=False) +class GetConfigurationDescriptorRequest(betterproto.Message): + """ + GetConfigurationDescriptorRequest is the request used for the + GetConfigurationDescriptor RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetConfigurationDescriptorResponse(betterproto.Message): + """ + GetConfigurationDescriptorResponse is the response returned by the + GetConfigurationDescriptor RPC + """ + + config: "ConfigurationDescriptor" = betterproto.message_field(1) + """config describes the application's sdk.Config""" + + +@dataclass(eq=False, repr=False) +class GetQueryServicesDescriptorRequest(betterproto.Message): + """ + GetQueryServicesDescriptorRequest is the request used for the + GetQueryServicesDescriptor RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetQueryServicesDescriptorResponse(betterproto.Message): + """ + GetQueryServicesDescriptorResponse is the response returned by the + GetQueryServicesDescriptor RPC + """ + + queries: "QueryServicesDescriptor" = betterproto.message_field(1) + """queries provides information on the available queryable services""" + + +@dataclass(eq=False, repr=False) +class GetTxDescriptorRequest(betterproto.Message): + """ + GetTxDescriptorRequest is the request used for the GetTxDescriptor RPC + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetTxDescriptorResponse(betterproto.Message): + """ + GetTxDescriptorResponse is the response returned by the GetTxDescriptor RPC + """ + + tx: "TxDescriptor" = betterproto.message_field(1) + """ + tx provides information on msgs that can be forwarded to the application + alongside the accepted transaction protobuf type + """ + + +@dataclass(eq=False, repr=False) +class QueryServicesDescriptor(betterproto.Message): + """ + QueryServicesDescriptor contains the list of cosmos-sdk queriable services + """ + + query_services: List["QueryServiceDescriptor"] = betterproto.message_field(1) + """query_services is a list of cosmos-sdk QueryServiceDescriptor""" + + +@dataclass(eq=False, repr=False) +class QueryServiceDescriptor(betterproto.Message): + """QueryServiceDescriptor describes a cosmos-sdk queryable service""" + + fullname: str = betterproto.string_field(1) + """fullname is the protobuf fullname of the service descriptor""" + + is_module: bool = betterproto.bool_field(2) + """ + is_module describes if this service is actually exposed by an application's + module + """ + + methods: List["QueryMethodDescriptor"] = betterproto.message_field(3) + """methods provides a list of query service methods""" + + +@dataclass(eq=False, repr=False) +class QueryMethodDescriptor(betterproto.Message): + """ + QueryMethodDescriptor describes a queryable method of a query service no + other info is provided beside method name and tendermint queryable path + because it would be redundant with the grpc reflection service + """ + + name: str = betterproto.string_field(1) + """name is the protobuf name (not fullname) of the method""" + + full_query_path: str = betterproto.string_field(2) + """ + full_query_path is the path that can be used to query this method via + tendermint abci.Query + """ + + +class ReflectionServiceStub(betterproto.ServiceStub): + async def get_authn_descriptor( + self, + get_authn_descriptor_request: "GetAuthnDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetAuthnDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor", + get_authn_descriptor_request, + GetAuthnDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_chain_descriptor( + self, + get_chain_descriptor_request: "GetChainDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetChainDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor", + get_chain_descriptor_request, + GetChainDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_codec_descriptor( + self, + get_codec_descriptor_request: "GetCodecDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetCodecDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor", + get_codec_descriptor_request, + GetCodecDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_configuration_descriptor( + self, + get_configuration_descriptor_request: "GetConfigurationDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetConfigurationDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor", + get_configuration_descriptor_request, + GetConfigurationDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_query_services_descriptor( + self, + get_query_services_descriptor_request: "GetQueryServicesDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetQueryServicesDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor", + get_query_services_descriptor_request, + GetQueryServicesDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_tx_descriptor( + self, + get_tx_descriptor_request: "GetTxDescriptorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetTxDescriptorResponse": + return await self._unary_unary( + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor", + get_tx_descriptor_request, + GetTxDescriptorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class ReflectionServiceBase(ServiceBase): + async def get_authn_descriptor( + self, get_authn_descriptor_request: "GetAuthnDescriptorRequest" + ) -> "GetAuthnDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_chain_descriptor( + self, get_chain_descriptor_request: "GetChainDescriptorRequest" + ) -> "GetChainDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_codec_descriptor( + self, get_codec_descriptor_request: "GetCodecDescriptorRequest" + ) -> "GetCodecDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_configuration_descriptor( + self, get_configuration_descriptor_request: "GetConfigurationDescriptorRequest" + ) -> "GetConfigurationDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_query_services_descriptor( + self, get_query_services_descriptor_request: "GetQueryServicesDescriptorRequest" + ) -> "GetQueryServicesDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_tx_descriptor( + self, get_tx_descriptor_request: "GetTxDescriptorRequest" + ) -> "GetTxDescriptorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_get_authn_descriptor( + self, + stream: "grpclib.server.Stream[GetAuthnDescriptorRequest, GetAuthnDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_authn_descriptor(request) + await stream.send_message(response) + + async def __rpc_get_chain_descriptor( + self, + stream: "grpclib.server.Stream[GetChainDescriptorRequest, GetChainDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_chain_descriptor(request) + await stream.send_message(response) + + async def __rpc_get_codec_descriptor( + self, + stream: "grpclib.server.Stream[GetCodecDescriptorRequest, GetCodecDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_codec_descriptor(request) + await stream.send_message(response) + + async def __rpc_get_configuration_descriptor( + self, + stream: "grpclib.server.Stream[GetConfigurationDescriptorRequest, GetConfigurationDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_configuration_descriptor(request) + await stream.send_message(response) + + async def __rpc_get_query_services_descriptor( + self, + stream: "grpclib.server.Stream[GetQueryServicesDescriptorRequest, GetQueryServicesDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_query_services_descriptor(request) + await stream.send_message(response) + + async def __rpc_get_tx_descriptor( + self, + stream: "grpclib.server.Stream[GetTxDescriptorRequest, GetTxDescriptorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_tx_descriptor(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetAuthnDescriptor": grpclib.const.Handler( + self.__rpc_get_authn_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetAuthnDescriptorRequest, + GetAuthnDescriptorResponse, + ), + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetChainDescriptor": grpclib.const.Handler( + self.__rpc_get_chain_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetChainDescriptorRequest, + GetChainDescriptorResponse, + ), + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetCodecDescriptor": grpclib.const.Handler( + self.__rpc_get_codec_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetCodecDescriptorRequest, + GetCodecDescriptorResponse, + ), + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetConfigurationDescriptor": grpclib.const.Handler( + self.__rpc_get_configuration_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetConfigurationDescriptorRequest, + GetConfigurationDescriptorResponse, + ), + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetQueryServicesDescriptor": grpclib.const.Handler( + self.__rpc_get_query_services_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetQueryServicesDescriptorRequest, + GetQueryServicesDescriptorResponse, + ), + "/cosmos.base.reflection.v2alpha1.ReflectionService/GetTxDescriptor": grpclib.const.Handler( + self.__rpc_get_tx_descriptor, + grpclib.const.Cardinality.UNARY_UNARY, + GetTxDescriptorRequest, + GetTxDescriptorResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/base/snapshots/__init__.py b/secret_sdk/protobuf/cosmos/base/snapshots/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/snapshots/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/snapshots/v1beta1/__init__.py new file mode 100644 index 0000000..7349e15 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/snapshots/v1beta1/__init__.py @@ -0,0 +1,76 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/snapshots/v1beta1/snapshot.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class Snapshot(betterproto.Message): + """Snapshot contains Tendermint state sync snapshot info.""" + + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + chunks: int = betterproto.uint32_field(3) + hash: bytes = betterproto.bytes_field(4) + metadata: "Metadata" = betterproto.message_field(5) + + +@dataclass(eq=False, repr=False) +class Metadata(betterproto.Message): + """Metadata contains SDK-specific snapshot metadata.""" + + chunk_hashes: List[bytes] = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class SnapshotItem(betterproto.Message): + """SnapshotItem is an item contained in a rootmulti.Store snapshot.""" + + store: "SnapshotStoreItem" = betterproto.message_field(1, group="item") + iavl: "SnapshotIavlItem" = betterproto.message_field(2, group="item") + extension: "SnapshotExtensionMeta" = betterproto.message_field(3, group="item") + extension_payload: "SnapshotExtensionPayload" = betterproto.message_field( + 4, group="item" + ) + + +@dataclass(eq=False, repr=False) +class SnapshotStoreItem(betterproto.Message): + """SnapshotStoreItem contains metadata about a snapshotted store.""" + + name: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class SnapshotIavlItem(betterproto.Message): + """SnapshotIAVLItem is an exported IAVL node.""" + + key: bytes = betterproto.bytes_field(1) + value: bytes = betterproto.bytes_field(2) + version: int = betterproto.int64_field(3) + """version is block height""" + + height: int = betterproto.int32_field(4) + """height is depth of the tree.""" + + +@dataclass(eq=False, repr=False) +class SnapshotExtensionMeta(betterproto.Message): + """ + SnapshotExtensionMeta contains metadata about an external snapshotter. + """ + + name: str = betterproto.string_field(1) + format: int = betterproto.uint32_field(2) + + +@dataclass(eq=False, repr=False) +class SnapshotExtensionPayload(betterproto.Message): + """ + SnapshotExtensionPayload contains payloads of an external snapshotter. + """ + + payload: bytes = betterproto.bytes_field(1) diff --git a/secret_sdk/protobuf/cosmos/base/store/__init__.py b/secret_sdk/protobuf/cosmos/base/store/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/store/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/store/v1beta1/__init__.py new file mode 100644 index 0000000..588306b --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/store/v1beta1/__init__.py @@ -0,0 +1,55 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/store/v1beta1/commit_info.proto, cosmos/base/store/v1beta1/listening.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class CommitInfo(betterproto.Message): + """ + CommitInfo defines commit information used by the multi-store when + committing a version/height. + """ + + version: int = betterproto.int64_field(1) + store_infos: List["StoreInfo"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class StoreInfo(betterproto.Message): + """ + StoreInfo defines store-specific commit information. It contains a + reference between a store name and the commit ID. + """ + + name: str = betterproto.string_field(1) + commit_id: "CommitId" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class CommitId(betterproto.Message): + """ + CommitID defines the committment information when a specific store is + committed. + """ + + version: int = betterproto.int64_field(1) + hash: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class StoreKvPair(betterproto.Message): + """ + StoreKVPair is a KVStore KVPair used for listening to state changes (Sets + and Deletes) It optionally includes the StoreKey for the originating + KVStore and a Boolean flag to distinguish between Sets and Deletes Since: + cosmos-sdk 0.43 + """ + + store_key: str = betterproto.string_field(1) + delete: bool = betterproto.bool_field(2) + key: bytes = betterproto.bytes_field(3) + value: bytes = betterproto.bytes_field(4) diff --git a/secret_sdk/protobuf/cosmos/base/tendermint/__init__.py b/secret_sdk/protobuf/cosmos/base/tendermint/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/base/tendermint/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/tendermint/v1beta1/__init__.py new file mode 100644 index 0000000..9b48ebd --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/tendermint/v1beta1/__init__.py @@ -0,0 +1,421 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/tendermint/v1beta1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .....tendermint import ( + p2p as ____tendermint_p2_p__, + types as ____tendermint_types__, +) +from ...query import v1beta1 as __query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class GetValidatorSetByHeightRequest(betterproto.Message): + """ + GetValidatorSetByHeightRequest is the request type for the + Query/GetValidatorSetByHeight RPC method. + """ + + height: int = betterproto.int64_field(1) + pagination: "__query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class GetValidatorSetByHeightResponse(betterproto.Message): + """ + GetValidatorSetByHeightResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + """ + + block_height: int = betterproto.int64_field(1) + validators: List["Validator"] = betterproto.message_field(2) + pagination: "__query_v1_beta1__.PageResponse" = betterproto.message_field(3) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class GetLatestValidatorSetRequest(betterproto.Message): + """ + GetLatestValidatorSetRequest is the request type for the + Query/GetValidatorSetByHeight RPC method. + """ + + pagination: "__query_v1_beta1__.PageRequest" = betterproto.message_field(1) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class GetLatestValidatorSetResponse(betterproto.Message): + """ + GetLatestValidatorSetResponse is the response type for the + Query/GetValidatorSetByHeight RPC method. + """ + + block_height: int = betterproto.int64_field(1) + validators: List["Validator"] = betterproto.message_field(2) + pagination: "__query_v1_beta1__.PageResponse" = betterproto.message_field(3) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class Validator(betterproto.Message): + """Validator is the type for the validator-set.""" + + address: str = betterproto.string_field(1) + pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + voting_power: int = betterproto.int64_field(3) + proposer_priority: int = betterproto.int64_field(4) + + +@dataclass(eq=False, repr=False) +class GetBlockByHeightRequest(betterproto.Message): + """ + GetBlockByHeightRequest is the request type for the Query/GetBlockByHeight + RPC method. + """ + + height: int = betterproto.int64_field(1) + + +@dataclass(eq=False, repr=False) +class GetBlockByHeightResponse(betterproto.Message): + """ + GetBlockByHeightResponse is the response type for the + Query/GetBlockByHeight RPC method. + """ + + block_id: "____tendermint_types__.BlockId" = betterproto.message_field(1) + block: "____tendermint_types__.Block" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class GetLatestBlockRequest(betterproto.Message): + """ + GetLatestBlockRequest is the request type for the Query/GetLatestBlock RPC + method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetLatestBlockResponse(betterproto.Message): + """ + GetLatestBlockResponse is the response type for the Query/GetLatestBlock + RPC method. + """ + + block_id: "____tendermint_types__.BlockId" = betterproto.message_field(1) + block: "____tendermint_types__.Block" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class GetSyncingRequest(betterproto.Message): + """ + GetSyncingRequest is the request type for the Query/GetSyncing RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetSyncingResponse(betterproto.Message): + """ + GetSyncingResponse is the response type for the Query/GetSyncing RPC + method. + """ + + syncing: bool = betterproto.bool_field(1) + + +@dataclass(eq=False, repr=False) +class GetNodeInfoRequest(betterproto.Message): + """ + GetNodeInfoRequest is the request type for the Query/GetNodeInfo RPC + method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class GetNodeInfoResponse(betterproto.Message): + """ + GetNodeInfoResponse is the request type for the Query/GetNodeInfo RPC + method. + """ + + default_node_info: "____tendermint_p2_p__.DefaultNodeInfo" = ( + betterproto.message_field(1) + ) + application_version: "VersionInfo" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class VersionInfo(betterproto.Message): + """VersionInfo is the type for the GetNodeInfoResponse message.""" + + name: str = betterproto.string_field(1) + app_name: str = betterproto.string_field(2) + version: str = betterproto.string_field(3) + git_commit: str = betterproto.string_field(4) + build_tags: str = betterproto.string_field(5) + go_version: str = betterproto.string_field(6) + build_deps: List["Module"] = betterproto.message_field(7) + cosmos_sdk_version: str = betterproto.string_field(8) + """Since: cosmos-sdk 0.43""" + + +@dataclass(eq=False, repr=False) +class Module(betterproto.Message): + """Module is the type for VersionInfo""" + + path: str = betterproto.string_field(1) + """module path""" + + version: str = betterproto.string_field(2) + """module version""" + + sum: str = betterproto.string_field(3) + """checksum""" + + +class ServiceStub(betterproto.ServiceStub): + async def get_node_info( + self, + get_node_info_request: "GetNodeInfoRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetNodeInfoResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetNodeInfo", + get_node_info_request, + GetNodeInfoResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_syncing( + self, + get_syncing_request: "GetSyncingRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetSyncingResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetSyncing", + get_syncing_request, + GetSyncingResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_latest_block( + self, + get_latest_block_request: "GetLatestBlockRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetLatestBlockResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetLatestBlock", + get_latest_block_request, + GetLatestBlockResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_block_by_height( + self, + get_block_by_height_request: "GetBlockByHeightRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetBlockByHeightResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight", + get_block_by_height_request, + GetBlockByHeightResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_latest_validator_set( + self, + get_latest_validator_set_request: "GetLatestValidatorSetRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetLatestValidatorSetResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet", + get_latest_validator_set_request, + GetLatestValidatorSetResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_validator_set_by_height( + self, + get_validator_set_by_height_request: "GetValidatorSetByHeightRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetValidatorSetByHeightResponse": + return await self._unary_unary( + "/cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight", + get_validator_set_by_height_request, + GetValidatorSetByHeightResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class ServiceBase(ServiceBase): + async def get_node_info( + self, get_node_info_request: "GetNodeInfoRequest" + ) -> "GetNodeInfoResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_syncing( + self, get_syncing_request: "GetSyncingRequest" + ) -> "GetSyncingResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_latest_block( + self, get_latest_block_request: "GetLatestBlockRequest" + ) -> "GetLatestBlockResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_block_by_height( + self, get_block_by_height_request: "GetBlockByHeightRequest" + ) -> "GetBlockByHeightResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_latest_validator_set( + self, get_latest_validator_set_request: "GetLatestValidatorSetRequest" + ) -> "GetLatestValidatorSetResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_validator_set_by_height( + self, get_validator_set_by_height_request: "GetValidatorSetByHeightRequest" + ) -> "GetValidatorSetByHeightResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_get_node_info( + self, stream: "grpclib.server.Stream[GetNodeInfoRequest, GetNodeInfoResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.get_node_info(request) + await stream.send_message(response) + + async def __rpc_get_syncing( + self, stream: "grpclib.server.Stream[GetSyncingRequest, GetSyncingResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.get_syncing(request) + await stream.send_message(response) + + async def __rpc_get_latest_block( + self, + stream: "grpclib.server.Stream[GetLatestBlockRequest, GetLatestBlockResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_latest_block(request) + await stream.send_message(response) + + async def __rpc_get_block_by_height( + self, + stream: "grpclib.server.Stream[GetBlockByHeightRequest, GetBlockByHeightResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_block_by_height(request) + await stream.send_message(response) + + async def __rpc_get_latest_validator_set( + self, + stream: "grpclib.server.Stream[GetLatestValidatorSetRequest, GetLatestValidatorSetResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_latest_validator_set(request) + await stream.send_message(response) + + async def __rpc_get_validator_set_by_height( + self, + stream: "grpclib.server.Stream[GetValidatorSetByHeightRequest, GetValidatorSetByHeightResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_validator_set_by_height(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.base.tendermint.v1beta1.Service/GetNodeInfo": grpclib.const.Handler( + self.__rpc_get_node_info, + grpclib.const.Cardinality.UNARY_UNARY, + GetNodeInfoRequest, + GetNodeInfoResponse, + ), + "/cosmos.base.tendermint.v1beta1.Service/GetSyncing": grpclib.const.Handler( + self.__rpc_get_syncing, + grpclib.const.Cardinality.UNARY_UNARY, + GetSyncingRequest, + GetSyncingResponse, + ), + "/cosmos.base.tendermint.v1beta1.Service/GetLatestBlock": grpclib.const.Handler( + self.__rpc_get_latest_block, + grpclib.const.Cardinality.UNARY_UNARY, + GetLatestBlockRequest, + GetLatestBlockResponse, + ), + "/cosmos.base.tendermint.v1beta1.Service/GetBlockByHeight": grpclib.const.Handler( + self.__rpc_get_block_by_height, + grpclib.const.Cardinality.UNARY_UNARY, + GetBlockByHeightRequest, + GetBlockByHeightResponse, + ), + "/cosmos.base.tendermint.v1beta1.Service/GetLatestValidatorSet": grpclib.const.Handler( + self.__rpc_get_latest_validator_set, + grpclib.const.Cardinality.UNARY_UNARY, + GetLatestValidatorSetRequest, + GetLatestValidatorSetResponse, + ), + "/cosmos.base.tendermint.v1beta1.Service/GetValidatorSetByHeight": grpclib.const.Handler( + self.__rpc_get_validator_set_by_height, + grpclib.const.Cardinality.UNARY_UNARY, + GetValidatorSetByHeightRequest, + GetValidatorSetByHeightResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/base/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/base/v1beta1/__init__.py new file mode 100644 index 0000000..a5bceee --- /dev/null +++ b/secret_sdk/protobuf/cosmos/base/v1beta1/__init__.py @@ -0,0 +1,44 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/base/v1beta1/coin.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class Coin(betterproto.Message): + """ + Coin defines a token with a denomination and an amount. NOTE: The amount + field is an Int which implements the custom method signatures required by + gogoproto. + """ + + denom: str = betterproto.string_field(1) + amount: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class DecCoin(betterproto.Message): + """ + DecCoin defines a token with a denomination and a decimal amount. NOTE: The + amount field is an Dec which implements the custom method signatures + required by gogoproto. + """ + + denom: str = betterproto.string_field(1) + amount: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class IntProto(betterproto.Message): + """IntProto defines a Protobuf wrapper around an Int object.""" + + int: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class DecProto(betterproto.Message): + """DecProto defines a Protobuf wrapper around a Dec object.""" + + dec: str = betterproto.string_field(1) diff --git a/secret_sdk/protobuf/cosmos/capability/__init__.py b/secret_sdk/protobuf/cosmos/capability/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/capability/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/capability/v1beta1/__init__.py new file mode 100644 index 0000000..0068981 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/capability/v1beta1/__init__.py @@ -0,0 +1,65 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/capability/v1beta1/capability.proto, cosmos/capability/v1beta1/genesis.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class Capability(betterproto.Message): + """ + Capability defines an implementation of an object capability. The index + provided to a Capability must be globally unique. + """ + + index: int = betterproto.uint64_field(1) + + +@dataclass(eq=False, repr=False) +class Owner(betterproto.Message): + """ + Owner defines a single capability owner. An owner is defined by the name of + capability and the module name. + """ + + module: str = betterproto.string_field(1) + name: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class CapabilityOwners(betterproto.Message): + """ + CapabilityOwners defines a set of owners of a single Capability. The set of + owners must be unique. + """ + + owners: List["Owner"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class GenesisOwners(betterproto.Message): + """ + GenesisOwners defines the capability owners with their corresponding index. + """ + + index: int = betterproto.uint64_field(1) + """index is the index of the capability owner.""" + + index_owners: "CapabilityOwners" = betterproto.message_field(2) + """index_owners are the owners at the given index.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the capability module's genesis state.""" + + index: int = betterproto.uint64_field(1) + """index is the capability global index.""" + + owners: List["GenesisOwners"] = betterproto.message_field(2) + """ + owners represents a map from index to owners of the capability index index + key is string to allow amino marshalling. + """ diff --git a/secret_sdk/protobuf/cosmos/crisis/__init__.py b/secret_sdk/protobuf/cosmos/crisis/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/crisis/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/crisis/v1beta1/__init__.py new file mode 100644 index 0000000..2596612 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crisis/v1beta1/__init__.py @@ -0,0 +1,95 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crisis/v1beta1/genesis.proto, cosmos/crisis/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base import v1beta1 as __base_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgVerifyInvariant(betterproto.Message): + """ + MsgVerifyInvariant represents a message to verify a particular invariance. + """ + + sender: str = betterproto.string_field(1) + invariant_module_name: str = betterproto.string_field(2) + invariant_route: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class MsgVerifyInvariantResponse(betterproto.Message): + """ + MsgVerifyInvariantResponse defines the Msg/VerifyInvariant response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the crisis module's genesis state.""" + + constant_fee: "__base_v1_beta1__.Coin" = betterproto.message_field(3) + """ + constant_fee is the fee used to verify the invariant in the crisis module. + """ + + +class MsgStub(betterproto.ServiceStub): + async def verify_invariant( + self, + msg_verify_invariant: "MsgVerifyInvariant", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgVerifyInvariantResponse": + return await self._unary_unary( + "/cosmos.crisis.v1beta1.Msg/VerifyInvariant", + msg_verify_invariant, + MsgVerifyInvariantResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def verify_invariant( + self, msg_verify_invariant: "MsgVerifyInvariant" + ) -> "MsgVerifyInvariantResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_verify_invariant( + self, + stream: "grpclib.server.Stream[MsgVerifyInvariant, MsgVerifyInvariantResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.verify_invariant(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.crisis.v1beta1.Msg/VerifyInvariant": grpclib.const.Handler( + self.__rpc_verify_invariant, + grpclib.const.Cardinality.UNARY_UNARY, + MsgVerifyInvariant, + MsgVerifyInvariantResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/crypto/__init__.py b/secret_sdk/protobuf/cosmos/crypto/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/crypto/ed25519/__init__.py b/secret_sdk/protobuf/cosmos/crypto/ed25519/__init__.py new file mode 100644 index 0000000..5f00099 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crypto/ed25519/__init__.py @@ -0,0 +1,29 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crypto/ed25519/keys.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class PubKey(betterproto.Message): + """ + PubKey is an ed25519 public key for handling Tendermint keys in SDK. It's + needed for Any serialization and SDK compatibility. It must not be used in + a non Tendermint key context because it doesn't implement ADR-28. + Nevertheless, you will like to use ed25519 in app user level then you must + create a new proto message and follow ADR-28 for Address construction. + """ + + key: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class PrivKey(betterproto.Message): + """ + Deprecated: PrivKey defines a ed25519 private key. NOTE: ed25519 keys must + not be used in SDK apps except in a tendermint validator context. + """ + + key: bytes = betterproto.bytes_field(1) diff --git a/secret_sdk/protobuf/cosmos/crypto/multisig/__init__.py b/secret_sdk/protobuf/cosmos/crypto/multisig/__init__.py new file mode 100644 index 0000000..0019eae --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crypto/multisig/__init__.py @@ -0,0 +1,21 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crypto/multisig/keys.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + + +@dataclass(eq=False, repr=False) +class LegacyAminoPubKey(betterproto.Message): + """ + LegacyAminoPubKey specifies a public key type which nests multiple public + keys and a threshold, it uses legacy amino address rules. + """ + + threshold: int = betterproto.uint32_field(1) + public_keys: List[ + "betterproto_lib_google_protobuf.Any" + ] = betterproto.message_field(2) diff --git a/secret_sdk/protobuf/cosmos/crypto/multisig/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/crypto/multisig/v1beta1/__init__.py new file mode 100644 index 0000000..c6bea82 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crypto/multisig/v1beta1/__init__.py @@ -0,0 +1,31 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crypto/multisig/v1beta1/multisig.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class MultiSignature(betterproto.Message): + """ + MultiSignature wraps the signatures from a multisig.LegacyAminoPubKey. See + cosmos.tx.v1betata1.ModeInfo.Multi for how to specify which signers signed + and with which modes. + """ + + signatures: List[bytes] = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class CompactBitArray(betterproto.Message): + """ + CompactBitArray is an implementation of a space efficient bit array. This + is used to ensure that the encoded data takes up a minimal amount of space + after proto encoding. This is not thread safe, and is not intended for + concurrent usage. + """ + + extra_bits_stored: int = betterproto.uint32_field(1) + elems: bytes = betterproto.bytes_field(2) diff --git a/secret_sdk/protobuf/cosmos/crypto/secp256k1/__init__.py b/secret_sdk/protobuf/cosmos/crypto/secp256k1/__init__.py new file mode 100644 index 0000000..050d59e --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crypto/secp256k1/__init__.py @@ -0,0 +1,26 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crypto/secp256k1/keys.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class PubKey(betterproto.Message): + """ + PubKey defines a secp256k1 public key Key is the compressed form of the + pubkey. The first byte depends is a 0x02 byte if the y-coordinate is the + lexicographically largest of the two associated with the x-coordinate. + Otherwise the first byte is a 0x03. This prefix is followed with the + x-coordinate. + """ + + key: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class PrivKey(betterproto.Message): + """PrivKey defines a secp256k1 private key.""" + + key: bytes = betterproto.bytes_field(1) diff --git a/secret_sdk/protobuf/cosmos/crypto/secp256r1/__init__.py b/secret_sdk/protobuf/cosmos/crypto/secp256r1/__init__.py new file mode 100644 index 0000000..54b9718 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/crypto/secp256r1/__init__.py @@ -0,0 +1,26 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/crypto/secp256r1/keys.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class PubKey(betterproto.Message): + """PubKey defines a secp256r1 ECDSA public key.""" + + key: bytes = betterproto.bytes_field(1) + """ + Point on secp256r1 curve in a compressed representation as specified in + section 4.3.6 of ANSI X9.62: + https://webstore.ansi.org/standards/ascx9/ansix9621998 + """ + + +@dataclass(eq=False, repr=False) +class PrivKey(betterproto.Message): + """PrivKey defines a secp256r1 ECDSA private key.""" + + secret: bytes = betterproto.bytes_field(1) + """secret number serialized using big-endian encoding""" diff --git a/secret_sdk/protobuf/cosmos/distribution/__init__.py b/secret_sdk/protobuf/cosmos/distribution/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/distribution/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/distribution/v1beta1/__init__.py new file mode 100644 index 0000000..107db0c --- /dev/null +++ b/secret_sdk/protobuf/cosmos/distribution/v1beta1/__init__.py @@ -0,0 +1,1182 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/distribution/v1beta1/distribution.proto, cosmos/distribution/v1beta1/genesis.proto, cosmos/distribution/v1beta1/query.proto, cosmos/distribution/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgSetWithdrawAddress(betterproto.Message): + """ + MsgSetWithdrawAddress sets the withdraw address for a delegator (or + validator self-delegation). + """ + + delegator_address: str = betterproto.string_field(1) + withdraw_address: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class MsgSetWithdrawAddressResponse(betterproto.Message): + """ + MsgSetWithdrawAddressResponse defines the Msg/SetWithdrawAddress response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgWithdrawDelegatorReward(betterproto.Message): + """ + MsgWithdrawDelegatorReward represents delegation withdrawal to a delegator + from a single validator. + """ + + delegator_address: str = betterproto.string_field(1) + validator_address: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class MsgWithdrawDelegatorRewardResponse(betterproto.Message): + """ + MsgWithdrawDelegatorRewardResponse defines the Msg/WithdrawDelegatorReward + response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgWithdrawValidatorCommission(betterproto.Message): + """ + MsgWithdrawValidatorCommission withdraws the full commission to the + validator address. + """ + + validator_address: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class MsgWithdrawValidatorCommissionResponse(betterproto.Message): + """ + MsgWithdrawValidatorCommissionResponse defines the + Msg/WithdrawValidatorCommission response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgFundCommunityPool(betterproto.Message): + """ + MsgFundCommunityPool allows an account to directly fund the community pool. + """ + + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + depositor: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class MsgFundCommunityPoolResponse(betterproto.Message): + """ + MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the set of params for the distribution module.""" + + community_tax: str = betterproto.string_field(1) + base_proposer_reward: str = betterproto.string_field(2) + bonus_proposer_reward: str = betterproto.string_field(3) + withdraw_addr_enabled: bool = betterproto.bool_field(4) + secret_foundation_tax: str = betterproto.string_field(5) + secret_foundation_address: str = betterproto.string_field(6) + + +@dataclass(eq=False, repr=False) +class ValidatorHistoricalRewards(betterproto.Message): + """ + ValidatorHistoricalRewards represents historical rewards for a validator. + Height is implicit within the store key. Cumulative reward ratio is the sum + from the zeroeth period until this period of rewards / tokens, per the + spec. The reference count indicates the number of objects which might need + to reference this historical entry at any point. ReferenceCount = number + of outstanding delegations which ended the associated period (and might + need to read that record) + number of slashes which ended the associated + period (and might need to read that record) + one per validator for the + zeroeth period, set on initialization + """ + + cumulative_reward_ratio: List[ + "__base_v1_beta1__.DecCoin" + ] = betterproto.message_field(1) + reference_count: int = betterproto.uint32_field(2) + + +@dataclass(eq=False, repr=False) +class ValidatorCurrentRewards(betterproto.Message): + """ + ValidatorCurrentRewards represents current rewards and current period for a + validator kept as a running counter and incremented each block as long as + the validator's tokens remain constant. + """ + + rewards: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + period: int = betterproto.uint64_field(2) + + +@dataclass(eq=False, repr=False) +class ValidatorAccumulatedCommission(betterproto.Message): + """ + ValidatorAccumulatedCommission represents accumulated commission for a + validator kept as a running counter, can be withdrawn at any time. + """ + + commission: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class ValidatorOutstandingRewards(betterproto.Message): + """ + ValidatorOutstandingRewards represents outstanding (un-withdrawn) rewards + for a validator inexpensive to track, allows simple sanity checks. + """ + + rewards: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class ValidatorSlashEvent(betterproto.Message): + """ + ValidatorSlashEvent represents a validator slash event. Height is implicit + within the store key. This is needed to calculate appropriate amount of + staking tokens for delegations which are withdrawn after a slash has + occurred. + """ + + validator_period: int = betterproto.uint64_field(1) + fraction: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class ValidatorSlashEvents(betterproto.Message): + """ + ValidatorSlashEvents is a collection of ValidatorSlashEvent messages. + """ + + validator_slash_events: List["ValidatorSlashEvent"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class FeePool(betterproto.Message): + """FeePool is the global fee pool for distribution.""" + + community_pool: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class CommunityPoolSpendProposal(betterproto.Message): + """ + CommunityPoolSpendProposal details a proposal for use of community funds, + together with how many coins are proposed to be spent, and to which + recipient account. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + recipient: str = betterproto.string_field(3) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class DelegatorStartingInfo(betterproto.Message): + """ + DelegatorStartingInfo represents the starting info for a delegator reward + period. It tracks the previous validator period, the delegation's amount of + staking token, and the creation height (to check later on if any slashes + have occurred). NOTE: Even though validators are slashed to whole staking + tokens, the delegators within the validator may be left with less than a + full token, thus sdk.Dec is used. + """ + + previous_period: int = betterproto.uint64_field(1) + stake: str = betterproto.string_field(2) + height: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class DelegationDelegatorReward(betterproto.Message): + """ + DelegationDelegatorReward represents the properties of a delegator's + delegation reward. + """ + + validator_address: str = betterproto.string_field(1) + reward: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class CommunityPoolSpendProposalWithDeposit(betterproto.Message): + """ + CommunityPoolSpendProposalWithDeposit defines a CommunityPoolSpendProposal + with a deposit + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + recipient: str = betterproto.string_field(3) + amount: str = betterproto.string_field(4) + deposit: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorOutstandingRewardsRequest(betterproto.Message): + """ + QueryValidatorOutstandingRewardsRequest is the request type for the + Query/ValidatorOutstandingRewards RPC method. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorOutstandingRewardsResponse(betterproto.Message): + """ + QueryValidatorOutstandingRewardsResponse is the response type for the + Query/ValidatorOutstandingRewards RPC method. + """ + + rewards: "ValidatorOutstandingRewards" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QueryValidatorCommissionRequest(betterproto.Message): + """ + QueryValidatorCommissionRequest is the request type for the + Query/ValidatorCommission RPC method + """ + + validator_address: str = betterproto.string_field(1) + """validator_address defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorCommissionResponse(betterproto.Message): + """ + QueryValidatorCommissionResponse is the response type for the + Query/ValidatorCommission RPC method + """ + + commission: "ValidatorAccumulatedCommission" = betterproto.message_field(1) + """commission defines the commision the validator received.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorSlashesRequest(betterproto.Message): + """ + QueryValidatorSlashesRequest is the request type for the + Query/ValidatorSlashes RPC method + """ + + validator_address: str = betterproto.string_field(1) + """validator_address defines the validator address to query for.""" + + starting_height: int = betterproto.uint64_field(2) + """ + starting_height defines the optional starting height to query the slashes. + """ + + ending_height: int = betterproto.uint64_field(3) + """ + starting_height defines the optional ending height to query the slashes. + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(4) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorSlashesResponse(betterproto.Message): + """ + QueryValidatorSlashesResponse is the response type for the + Query/ValidatorSlashes RPC method. + """ + + slashes: List["ValidatorSlashEvent"] = betterproto.message_field(1) + """slashes defines the slashes the validator received.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationRewardsRequest(betterproto.Message): + """ + QueryDelegationRewardsRequest is the request type for the + Query/DelegationRewards RPC method. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address defines the delegator address to query for.""" + + validator_address: str = betterproto.string_field(2) + """validator_address defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationRewardsResponse(betterproto.Message): + """ + QueryDelegationRewardsResponse is the response type for the + Query/DelegationRewards RPC method. + """ + + rewards: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + """rewards defines the rewards accrued by a delegation.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationTotalRewardsRequest(betterproto.Message): + """ + QueryDelegationTotalRewardsRequest is the request type for the + Query/DelegationTotalRewards RPC method. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address defines the delegator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationTotalRewardsResponse(betterproto.Message): + """ + QueryDelegationTotalRewardsResponse is the response type for the + Query/DelegationTotalRewards RPC method. + """ + + rewards: List["DelegationDelegatorReward"] = betterproto.message_field(1) + """rewards defines all the rewards accrued by a delegator.""" + + total: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(2) + """total defines the sum of all the rewards.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorsRequest(betterproto.Message): + """ + QueryDelegatorValidatorsRequest is the request type for the + Query/DelegatorValidators RPC method. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address defines the delegator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorsResponse(betterproto.Message): + """ + QueryDelegatorValidatorsResponse is the response type for the + Query/DelegatorValidators RPC method. + """ + + validators: List[str] = betterproto.string_field(1) + """validators defines the validators a delegator is delegating for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorWithdrawAddressRequest(betterproto.Message): + """ + QueryDelegatorWithdrawAddressRequest is the request type for the + Query/DelegatorWithdrawAddress RPC method. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address defines the delegator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorWithdrawAddressResponse(betterproto.Message): + """ + QueryDelegatorWithdrawAddressResponse is the response type for the + Query/DelegatorWithdrawAddress RPC method. + """ + + withdraw_address: str = betterproto.string_field(1) + """withdraw_address defines the delegator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryFoundationTaxRequest(betterproto.Message): + """ + QueryFoundationTaxRequest is the request type for the Query/FoundationTax + RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryFoundationTaxResponse(betterproto.Message): + """ + QueryDelegatorWithdrawAddressResponse is the response type for the + Query/DelegatorWithdrawAddress RPC method. + """ + + tax: str = betterproto.string_field(1) + """withdraw_address defines the delegator address to query for.""" + + foundation_address: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class QueryCommunityPoolRequest(betterproto.Message): + """ + QueryCommunityPoolRequest is the request type for the Query/CommunityPool + RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryCommunityPoolResponse(betterproto.Message): + """ + QueryCommunityPoolResponse is the response type for the Query/CommunityPool + RPC method. + """ + + pool: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field(1) + """pool defines community pool's coins.""" + + +@dataclass(eq=False, repr=False) +class DelegatorWithdrawInfo(betterproto.Message): + """ + DelegatorWithdrawInfo is the address for where distributions rewards are + withdrawn to by default this struct is only used at genesis to feed in + default withdraw addresses. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address is the address of the delegator.""" + + withdraw_address: str = betterproto.string_field(2) + """ + withdraw_address is the address to withdraw the delegation rewards to. + """ + + +@dataclass(eq=False, repr=False) +class ValidatorOutstandingRewardsRecord(betterproto.Message): + """ + ValidatorOutstandingRewardsRecord is used for import/export via genesis + json. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address is the address of the validator.""" + + outstanding_rewards: List["__base_v1_beta1__.DecCoin"] = betterproto.message_field( + 2 + ) + """ + outstanding_rewards represents the oustanding rewards of a validator. + """ + + +@dataclass(eq=False, repr=False) +class ValidatorAccumulatedCommissionRecord(betterproto.Message): + """ + ValidatorAccumulatedCommissionRecord is used for import / export via + genesis json. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address is the address of the validator.""" + + accumulated: "ValidatorAccumulatedCommission" = betterproto.message_field(2) + """accumulated is the accumulated commission of a validator.""" + + +@dataclass(eq=False, repr=False) +class ValidatorHistoricalRewardsRecord(betterproto.Message): + """ + ValidatorHistoricalRewardsRecord is used for import / export via genesis + json. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address is the address of the validator.""" + + period: int = betterproto.uint64_field(2) + """period defines the period the historical rewards apply to.""" + + rewards: "ValidatorHistoricalRewards" = betterproto.message_field(3) + """rewards defines the historical rewards of a validator.""" + + +@dataclass(eq=False, repr=False) +class ValidatorCurrentRewardsRecord(betterproto.Message): + """ + ValidatorCurrentRewardsRecord is used for import / export via genesis json. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address is the address of the validator.""" + + rewards: "ValidatorCurrentRewards" = betterproto.message_field(2) + """rewards defines the current rewards of a validator.""" + + +@dataclass(eq=False, repr=False) +class DelegatorStartingInfoRecord(betterproto.Message): + """ + DelegatorStartingInfoRecord used for import / export via genesis json. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address is the address of the delegator.""" + + validator_address: str = betterproto.string_field(2) + """validator_address is the address of the validator.""" + + starting_info: "DelegatorStartingInfo" = betterproto.message_field(3) + """starting_info defines the starting info of a delegator.""" + + +@dataclass(eq=False, repr=False) +class ValidatorSlashEventRecord(betterproto.Message): + """ + ValidatorSlashEventRecord is used for import / export via genesis json. + """ + + validator_address: str = betterproto.string_field(1) + """validator_address is the address of the validator.""" + + height: int = betterproto.uint64_field(2) + """height defines the block height at which the slash event occured.""" + + period: int = betterproto.uint64_field(3) + """period is the period of the slash event.""" + + validator_slash_event: "ValidatorSlashEvent" = betterproto.message_field(4) + """validator_slash_event describes the slash event.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the distribution module's genesis state.""" + + params: "Params" = betterproto.message_field(1) + """params defines all the paramaters of the module.""" + + fee_pool: "FeePool" = betterproto.message_field(2) + """fee_pool defines the fee pool at genesis.""" + + delegator_withdraw_infos: List["DelegatorWithdrawInfo"] = betterproto.message_field( + 3 + ) + """fee_pool defines the delegator withdraw infos at genesis.""" + + previous_proposer: str = betterproto.string_field(4) + """fee_pool defines the previous proposer at genesis.""" + + outstanding_rewards: List[ + "ValidatorOutstandingRewardsRecord" + ] = betterproto.message_field(5) + """ + fee_pool defines the outstanding rewards of all validators at genesis. + """ + + validator_accumulated_commissions: List[ + "ValidatorAccumulatedCommissionRecord" + ] = betterproto.message_field(6) + """ + fee_pool defines the accumulated commisions of all validators at genesis. + """ + + validator_historical_rewards: List[ + "ValidatorHistoricalRewardsRecord" + ] = betterproto.message_field(7) + """ + fee_pool defines the historical rewards of all validators at genesis. + """ + + validator_current_rewards: List[ + "ValidatorCurrentRewardsRecord" + ] = betterproto.message_field(8) + """fee_pool defines the current rewards of all validators at genesis.""" + + delegator_starting_infos: List[ + "DelegatorStartingInfoRecord" + ] = betterproto.message_field(9) + """fee_pool defines the delegator starting infos at genesis.""" + + validator_slash_events: List[ + "ValidatorSlashEventRecord" + ] = betterproto.message_field(10) + """fee_pool defines the validator slash events at genesis.""" + + +class MsgStub(betterproto.ServiceStub): + async def set_withdraw_address( + self, + msg_set_withdraw_address: "MsgSetWithdrawAddress", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSetWithdrawAddressResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress", + msg_set_withdraw_address, + MsgSetWithdrawAddressResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def withdraw_delegator_reward( + self, + msg_withdraw_delegator_reward: "MsgWithdrawDelegatorReward", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgWithdrawDelegatorRewardResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward", + msg_withdraw_delegator_reward, + MsgWithdrawDelegatorRewardResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def withdraw_validator_commission( + self, + msg_withdraw_validator_commission: "MsgWithdrawValidatorCommission", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgWithdrawValidatorCommissionResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission", + msg_withdraw_validator_commission, + MsgWithdrawValidatorCommissionResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def fund_community_pool( + self, + msg_fund_community_pool: "MsgFundCommunityPool", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgFundCommunityPoolResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Msg/FundCommunityPool", + msg_fund_community_pool, + MsgFundCommunityPoolResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator_outstanding_rewards( + self, + query_validator_outstanding_rewards_request: "QueryValidatorOutstandingRewardsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorOutstandingRewardsResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards", + query_validator_outstanding_rewards_request, + QueryValidatorOutstandingRewardsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator_commission( + self, + query_validator_commission_request: "QueryValidatorCommissionRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorCommissionResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/ValidatorCommission", + query_validator_commission_request, + QueryValidatorCommissionResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator_slashes( + self, + query_validator_slashes_request: "QueryValidatorSlashesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorSlashesResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/ValidatorSlashes", + query_validator_slashes_request, + QueryValidatorSlashesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegation_rewards( + self, + query_delegation_rewards_request: "QueryDelegationRewardsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegationRewardsResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/DelegationRewards", + query_delegation_rewards_request, + QueryDelegationRewardsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegation_total_rewards( + self, + query_delegation_total_rewards_request: "QueryDelegationTotalRewardsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegationTotalRewardsResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/DelegationTotalRewards", + query_delegation_total_rewards_request, + QueryDelegationTotalRewardsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_validators( + self, + query_delegator_validators_request: "QueryDelegatorValidatorsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorValidatorsResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/DelegatorValidators", + query_delegator_validators_request, + QueryDelegatorValidatorsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_withdraw_address( + self, + query_delegator_withdraw_address_request: "QueryDelegatorWithdrawAddressRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorWithdrawAddressResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress", + query_delegator_withdraw_address_request, + QueryDelegatorWithdrawAddressResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def community_pool( + self, + query_community_pool_request: "QueryCommunityPoolRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCommunityPoolResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/CommunityPool", + query_community_pool_request, + QueryCommunityPoolResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def foundation_tax( + self, + query_foundation_tax_request: "QueryFoundationTaxRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryFoundationTaxResponse": + return await self._unary_unary( + "/cosmos.distribution.v1beta1.Query/FoundationTax", + query_foundation_tax_request, + QueryFoundationTaxResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def set_withdraw_address( + self, msg_set_withdraw_address: "MsgSetWithdrawAddress" + ) -> "MsgSetWithdrawAddressResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def withdraw_delegator_reward( + self, msg_withdraw_delegator_reward: "MsgWithdrawDelegatorReward" + ) -> "MsgWithdrawDelegatorRewardResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def withdraw_validator_commission( + self, msg_withdraw_validator_commission: "MsgWithdrawValidatorCommission" + ) -> "MsgWithdrawValidatorCommissionResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def fund_community_pool( + self, msg_fund_community_pool: "MsgFundCommunityPool" + ) -> "MsgFundCommunityPoolResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_set_withdraw_address( + self, + stream: "grpclib.server.Stream[MsgSetWithdrawAddress, MsgSetWithdrawAddressResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.set_withdraw_address(request) + await stream.send_message(response) + + async def __rpc_withdraw_delegator_reward( + self, + stream: "grpclib.server.Stream[MsgWithdrawDelegatorReward, MsgWithdrawDelegatorRewardResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.withdraw_delegator_reward(request) + await stream.send_message(response) + + async def __rpc_withdraw_validator_commission( + self, + stream: "grpclib.server.Stream[MsgWithdrawValidatorCommission, MsgWithdrawValidatorCommissionResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.withdraw_validator_commission(request) + await stream.send_message(response) + + async def __rpc_fund_community_pool( + self, + stream: "grpclib.server.Stream[MsgFundCommunityPool, MsgFundCommunityPoolResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.fund_community_pool(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.distribution.v1beta1.Msg/SetWithdrawAddress": grpclib.const.Handler( + self.__rpc_set_withdraw_address, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSetWithdrawAddress, + MsgSetWithdrawAddressResponse, + ), + "/cosmos.distribution.v1beta1.Msg/WithdrawDelegatorReward": grpclib.const.Handler( + self.__rpc_withdraw_delegator_reward, + grpclib.const.Cardinality.UNARY_UNARY, + MsgWithdrawDelegatorReward, + MsgWithdrawDelegatorRewardResponse, + ), + "/cosmos.distribution.v1beta1.Msg/WithdrawValidatorCommission": grpclib.const.Handler( + self.__rpc_withdraw_validator_commission, + grpclib.const.Cardinality.UNARY_UNARY, + MsgWithdrawValidatorCommission, + MsgWithdrawValidatorCommissionResponse, + ), + "/cosmos.distribution.v1beta1.Msg/FundCommunityPool": grpclib.const.Handler( + self.__rpc_fund_community_pool, + grpclib.const.Cardinality.UNARY_UNARY, + MsgFundCommunityPool, + MsgFundCommunityPoolResponse, + ), + } + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator_outstanding_rewards( + self, + query_validator_outstanding_rewards_request: "QueryValidatorOutstandingRewardsRequest", + ) -> "QueryValidatorOutstandingRewardsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator_commission( + self, query_validator_commission_request: "QueryValidatorCommissionRequest" + ) -> "QueryValidatorCommissionResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator_slashes( + self, query_validator_slashes_request: "QueryValidatorSlashesRequest" + ) -> "QueryValidatorSlashesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegation_rewards( + self, query_delegation_rewards_request: "QueryDelegationRewardsRequest" + ) -> "QueryDelegationRewardsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegation_total_rewards( + self, + query_delegation_total_rewards_request: "QueryDelegationTotalRewardsRequest", + ) -> "QueryDelegationTotalRewardsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_validators( + self, query_delegator_validators_request: "QueryDelegatorValidatorsRequest" + ) -> "QueryDelegatorValidatorsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_withdraw_address( + self, + query_delegator_withdraw_address_request: "QueryDelegatorWithdrawAddressRequest", + ) -> "QueryDelegatorWithdrawAddressResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def community_pool( + self, query_community_pool_request: "QueryCommunityPoolRequest" + ) -> "QueryCommunityPoolResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def foundation_tax( + self, query_foundation_tax_request: "QueryFoundationTaxRequest" + ) -> "QueryFoundationTaxResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_validator_outstanding_rewards( + self, + stream: "grpclib.server.Stream[QueryValidatorOutstandingRewardsRequest, QueryValidatorOutstandingRewardsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator_outstanding_rewards(request) + await stream.send_message(response) + + async def __rpc_validator_commission( + self, + stream: "grpclib.server.Stream[QueryValidatorCommissionRequest, QueryValidatorCommissionResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator_commission(request) + await stream.send_message(response) + + async def __rpc_validator_slashes( + self, + stream: "grpclib.server.Stream[QueryValidatorSlashesRequest, QueryValidatorSlashesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator_slashes(request) + await stream.send_message(response) + + async def __rpc_delegation_rewards( + self, + stream: "grpclib.server.Stream[QueryDelegationRewardsRequest, QueryDelegationRewardsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegation_rewards(request) + await stream.send_message(response) + + async def __rpc_delegation_total_rewards( + self, + stream: "grpclib.server.Stream[QueryDelegationTotalRewardsRequest, QueryDelegationTotalRewardsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegation_total_rewards(request) + await stream.send_message(response) + + async def __rpc_delegator_validators( + self, + stream: "grpclib.server.Stream[QueryDelegatorValidatorsRequest, QueryDelegatorValidatorsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_validators(request) + await stream.send_message(response) + + async def __rpc_delegator_withdraw_address( + self, + stream: "grpclib.server.Stream[QueryDelegatorWithdrawAddressRequest, QueryDelegatorWithdrawAddressResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_withdraw_address(request) + await stream.send_message(response) + + async def __rpc_community_pool( + self, + stream: "grpclib.server.Stream[QueryCommunityPoolRequest, QueryCommunityPoolResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.community_pool(request) + await stream.send_message(response) + + async def __rpc_foundation_tax( + self, + stream: "grpclib.server.Stream[QueryFoundationTaxRequest, QueryFoundationTaxResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.foundation_tax(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.distribution.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/cosmos.distribution.v1beta1.Query/ValidatorOutstandingRewards": grpclib.const.Handler( + self.__rpc_validator_outstanding_rewards, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorOutstandingRewardsRequest, + QueryValidatorOutstandingRewardsResponse, + ), + "/cosmos.distribution.v1beta1.Query/ValidatorCommission": grpclib.const.Handler( + self.__rpc_validator_commission, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorCommissionRequest, + QueryValidatorCommissionResponse, + ), + "/cosmos.distribution.v1beta1.Query/ValidatorSlashes": grpclib.const.Handler( + self.__rpc_validator_slashes, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorSlashesRequest, + QueryValidatorSlashesResponse, + ), + "/cosmos.distribution.v1beta1.Query/DelegationRewards": grpclib.const.Handler( + self.__rpc_delegation_rewards, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegationRewardsRequest, + QueryDelegationRewardsResponse, + ), + "/cosmos.distribution.v1beta1.Query/DelegationTotalRewards": grpclib.const.Handler( + self.__rpc_delegation_total_rewards, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegationTotalRewardsRequest, + QueryDelegationTotalRewardsResponse, + ), + "/cosmos.distribution.v1beta1.Query/DelegatorValidators": grpclib.const.Handler( + self.__rpc_delegator_validators, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorValidatorsRequest, + QueryDelegatorValidatorsResponse, + ), + "/cosmos.distribution.v1beta1.Query/DelegatorWithdrawAddress": grpclib.const.Handler( + self.__rpc_delegator_withdraw_address, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorWithdrawAddressRequest, + QueryDelegatorWithdrawAddressResponse, + ), + "/cosmos.distribution.v1beta1.Query/CommunityPool": grpclib.const.Handler( + self.__rpc_community_pool, + grpclib.const.Cardinality.UNARY_UNARY, + QueryCommunityPoolRequest, + QueryCommunityPoolResponse, + ), + "/cosmos.distribution.v1beta1.Query/FoundationTax": grpclib.const.Handler( + self.__rpc_foundation_tax, + grpclib.const.Cardinality.UNARY_UNARY, + QueryFoundationTaxRequest, + QueryFoundationTaxResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/evidence/__init__.py b/secret_sdk/protobuf/cosmos/evidence/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/evidence/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/evidence/v1beta1/__init__.py new file mode 100644 index 0000000..57fd211 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/evidence/v1beta1/__init__.py @@ -0,0 +1,236 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/evidence/v1beta1/evidence.proto, cosmos/evidence/v1beta1/genesis.proto, cosmos/evidence/v1beta1/query.proto, cosmos/evidence/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import datetime +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgSubmitEvidence(betterproto.Message): + """ + MsgSubmitEvidence represents a message that supports submitting arbitrary + Evidence of misbehavior such as equivocation or counterfactual signing. + """ + + submitter: str = betterproto.string_field(1) + evidence: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class MsgSubmitEvidenceResponse(betterproto.Message): + """ + MsgSubmitEvidenceResponse defines the Msg/SubmitEvidence response type. + """ + + hash: bytes = betterproto.bytes_field(4) + """hash defines the hash of the evidence.""" + + +@dataclass(eq=False, repr=False) +class Equivocation(betterproto.Message): + """ + Equivocation implements the Evidence interface and defines evidence of + double signing misbehavior. + """ + + height: int = betterproto.int64_field(1) + time: datetime = betterproto.message_field(2) + power: int = betterproto.int64_field(3) + consensus_address: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class QueryEvidenceRequest(betterproto.Message): + """ + QueryEvidenceRequest is the request type for the Query/Evidence RPC method. + """ + + evidence_hash: bytes = betterproto.bytes_field(1) + """evidence_hash defines the hash of the requested evidence.""" + + +@dataclass(eq=False, repr=False) +class QueryEvidenceResponse(betterproto.Message): + """ + QueryEvidenceResponse is the response type for the Query/Evidence RPC + method. + """ + + evidence: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """evidence returns the requested evidence.""" + + +@dataclass(eq=False, repr=False) +class QueryAllEvidenceRequest(betterproto.Message): + """ + QueryEvidenceRequest is the request type for the Query/AllEvidence RPC + method. + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(1) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryAllEvidenceResponse(betterproto.Message): + """ + QueryAllEvidenceResponse is the response type for the Query/AllEvidence RPC + method. + """ + + evidence: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(1) + """evidence returns all evidences.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the evidence module's genesis state.""" + + evidence: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(1) + """evidence defines all the evidence at genesis.""" + + +class MsgStub(betterproto.ServiceStub): + async def submit_evidence( + self, + msg_submit_evidence: "MsgSubmitEvidence", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSubmitEvidenceResponse": + return await self._unary_unary( + "/cosmos.evidence.v1beta1.Msg/SubmitEvidence", + msg_submit_evidence, + MsgSubmitEvidenceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def evidence( + self, + query_evidence_request: "QueryEvidenceRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryEvidenceResponse": + return await self._unary_unary( + "/cosmos.evidence.v1beta1.Query/Evidence", + query_evidence_request, + QueryEvidenceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def all_evidence( + self, + query_all_evidence_request: "QueryAllEvidenceRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAllEvidenceResponse": + return await self._unary_unary( + "/cosmos.evidence.v1beta1.Query/AllEvidence", + query_all_evidence_request, + QueryAllEvidenceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def submit_evidence( + self, msg_submit_evidence: "MsgSubmitEvidence" + ) -> "MsgSubmitEvidenceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_submit_evidence( + self, + stream: "grpclib.server.Stream[MsgSubmitEvidence, MsgSubmitEvidenceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.submit_evidence(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.evidence.v1beta1.Msg/SubmitEvidence": grpclib.const.Handler( + self.__rpc_submit_evidence, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSubmitEvidence, + MsgSubmitEvidenceResponse, + ), + } + + +class QueryBase(ServiceBase): + async def evidence( + self, query_evidence_request: "QueryEvidenceRequest" + ) -> "QueryEvidenceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def all_evidence( + self, query_all_evidence_request: "QueryAllEvidenceRequest" + ) -> "QueryAllEvidenceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_evidence( + self, + stream: "grpclib.server.Stream[QueryEvidenceRequest, QueryEvidenceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.evidence(request) + await stream.send_message(response) + + async def __rpc_all_evidence( + self, + stream: "grpclib.server.Stream[QueryAllEvidenceRequest, QueryAllEvidenceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.all_evidence(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.evidence.v1beta1.Query/Evidence": grpclib.const.Handler( + self.__rpc_evidence, + grpclib.const.Cardinality.UNARY_UNARY, + QueryEvidenceRequest, + QueryEvidenceResponse, + ), + "/cosmos.evidence.v1beta1.Query/AllEvidence": grpclib.const.Handler( + self.__rpc_all_evidence, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAllEvidenceRequest, + QueryAllEvidenceResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/feegrant/__init__.py b/secret_sdk/protobuf/cosmos/feegrant/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/feegrant/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/feegrant/v1beta1/__init__.py new file mode 100644 index 0000000..116402b --- /dev/null +++ b/secret_sdk/protobuf/cosmos/feegrant/v1beta1/__init__.py @@ -0,0 +1,401 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/feegrant/v1beta1/feegrant.proto, cosmos/feegrant/v1beta1/genesis.proto, cosmos/feegrant/v1beta1/query.proto, cosmos/feegrant/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgGrantAllowance(betterproto.Message): + """ + MsgGrantAllowance adds permission for Grantee to spend up to Allowance of + fees from the account of Granter. + """ + + granter: str = betterproto.string_field(1) + """ + granter is the address of the user granting an allowance of their funds. + """ + + grantee: str = betterproto.string_field(2) + """ + grantee is the address of the user being granted an allowance of another + user's funds. + """ + + allowance: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(3) + """allowance can be any of basic and filtered fee allowance.""" + + +@dataclass(eq=False, repr=False) +class MsgGrantAllowanceResponse(betterproto.Message): + """ + MsgGrantAllowanceResponse defines the Msg/GrantAllowanceResponse response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgRevokeAllowance(betterproto.Message): + """ + MsgRevokeAllowance removes any existing Allowance from Granter to Grantee. + """ + + granter: str = betterproto.string_field(1) + """ + granter is the address of the user granting an allowance of their funds. + """ + + grantee: str = betterproto.string_field(2) + """ + grantee is the address of the user being granted an allowance of another + user's funds. + """ + + +@dataclass(eq=False, repr=False) +class MsgRevokeAllowanceResponse(betterproto.Message): + """ + MsgRevokeAllowanceResponse defines the Msg/RevokeAllowanceResponse response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class BasicAllowance(betterproto.Message): + """ + BasicAllowance implements Allowance with a one-time grant of tokens that + optionally expires. The grantee can use up to SpendLimit to cover fees. + """ + + spend_limit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """ + spend_limit specifies the maximum amount of tokens that can be spent by + this allowance and will be updated as tokens are spent. If it is empty, + there is no spend limit and any amount of coins can be spent. + """ + + expiration: datetime = betterproto.message_field(2) + """expiration specifies an optional time when this allowance expires""" + + +@dataclass(eq=False, repr=False) +class PeriodicAllowance(betterproto.Message): + """ + PeriodicAllowance extends Allowance to allow for both a maximum cap, as + well as a limit per time period. + """ + + basic: "BasicAllowance" = betterproto.message_field(1) + """basic specifies a struct of `BasicAllowance`""" + + period: timedelta = betterproto.message_field(2) + """ + period specifies the time duration in which period_spend_limit coins can be + spent before that allowance is reset + """ + + period_spend_limit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + """ + period_spend_limit specifies the maximum number of coins that can be spent + in the period + """ + + period_can_spend: List["__base_v1_beta1__.Coin"] = betterproto.message_field(4) + """ + period_can_spend is the number of coins left to be spent before the + period_reset time + """ + + period_reset: datetime = betterproto.message_field(5) + """ + period_reset is the time at which this period resets and a new one begins, + it is calculated from the start time of the first transaction after the + last period ended + """ + + +@dataclass(eq=False, repr=False) +class AllowedMsgAllowance(betterproto.Message): + """ + AllowedMsgAllowance creates allowance only for specified message types. + """ + + allowance: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """allowance can be any of basic and filtered fee allowance.""" + + allowed_messages: List[str] = betterproto.string_field(2) + """ + allowed_messages are the messages for which the grantee has the access. + """ + + +@dataclass(eq=False, repr=False) +class Grant(betterproto.Message): + """Grant is stored in the KVStore to record a grant with full context""" + + granter: str = betterproto.string_field(1) + """ + granter is the address of the user granting an allowance of their funds. + """ + + grantee: str = betterproto.string_field(2) + """ + grantee is the address of the user being granted an allowance of another + user's funds. + """ + + allowance: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(3) + """allowance can be any of basic and filtered fee allowance.""" + + +@dataclass(eq=False, repr=False) +class QueryAllowanceRequest(betterproto.Message): + """ + QueryAllowanceRequest is the request type for the Query/Allowance RPC + method. + """ + + granter: str = betterproto.string_field(1) + """ + granter is the address of the user granting an allowance of their funds. + """ + + grantee: str = betterproto.string_field(2) + """ + grantee is the address of the user being granted an allowance of another + user's funds. + """ + + +@dataclass(eq=False, repr=False) +class QueryAllowanceResponse(betterproto.Message): + """ + QueryAllowanceResponse is the response type for the Query/Allowance RPC + method. + """ + + allowance: "Grant" = betterproto.message_field(1) + """allowance is a allowance granted for grantee by granter.""" + + +@dataclass(eq=False, repr=False) +class QueryAllowancesRequest(betterproto.Message): + """ + QueryAllowancesRequest is the request type for the Query/Allowances RPC + method. + """ + + grantee: str = betterproto.string_field(1) + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryAllowancesResponse(betterproto.Message): + """ + QueryAllowancesResponse is the response type for the Query/Allowances RPC + method. + """ + + allowances: List["Grant"] = betterproto.message_field(1) + """allowances are allowance's granted for grantee by granter.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines an pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """ + GenesisState contains a set of fee allowances, persisted from the store + """ + + allowances: List["Grant"] = betterproto.message_field(1) + + +class MsgStub(betterproto.ServiceStub): + async def grant_allowance( + self, + msg_grant_allowance: "MsgGrantAllowance", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgGrantAllowanceResponse": + return await self._unary_unary( + "/cosmos.feegrant.v1beta1.Msg/GrantAllowance", + msg_grant_allowance, + MsgGrantAllowanceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def revoke_allowance( + self, + msg_revoke_allowance: "MsgRevokeAllowance", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgRevokeAllowanceResponse": + return await self._unary_unary( + "/cosmos.feegrant.v1beta1.Msg/RevokeAllowance", + msg_revoke_allowance, + MsgRevokeAllowanceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def allowance( + self, + query_allowance_request: "QueryAllowanceRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAllowanceResponse": + return await self._unary_unary( + "/cosmos.feegrant.v1beta1.Query/Allowance", + query_allowance_request, + QueryAllowanceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def allowances( + self, + query_allowances_request: "QueryAllowancesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAllowancesResponse": + return await self._unary_unary( + "/cosmos.feegrant.v1beta1.Query/Allowances", + query_allowances_request, + QueryAllowancesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def grant_allowance( + self, msg_grant_allowance: "MsgGrantAllowance" + ) -> "MsgGrantAllowanceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def revoke_allowance( + self, msg_revoke_allowance: "MsgRevokeAllowance" + ) -> "MsgRevokeAllowanceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_grant_allowance( + self, + stream: "grpclib.server.Stream[MsgGrantAllowance, MsgGrantAllowanceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.grant_allowance(request) + await stream.send_message(response) + + async def __rpc_revoke_allowance( + self, + stream: "grpclib.server.Stream[MsgRevokeAllowance, MsgRevokeAllowanceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.revoke_allowance(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.feegrant.v1beta1.Msg/GrantAllowance": grpclib.const.Handler( + self.__rpc_grant_allowance, + grpclib.const.Cardinality.UNARY_UNARY, + MsgGrantAllowance, + MsgGrantAllowanceResponse, + ), + "/cosmos.feegrant.v1beta1.Msg/RevokeAllowance": grpclib.const.Handler( + self.__rpc_revoke_allowance, + grpclib.const.Cardinality.UNARY_UNARY, + MsgRevokeAllowance, + MsgRevokeAllowanceResponse, + ), + } + + +class QueryBase(ServiceBase): + async def allowance( + self, query_allowance_request: "QueryAllowanceRequest" + ) -> "QueryAllowanceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def allowances( + self, query_allowances_request: "QueryAllowancesRequest" + ) -> "QueryAllowancesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_allowance( + self, + stream: "grpclib.server.Stream[QueryAllowanceRequest, QueryAllowanceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.allowance(request) + await stream.send_message(response) + + async def __rpc_allowances( + self, + stream: "grpclib.server.Stream[QueryAllowancesRequest, QueryAllowancesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.allowances(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.feegrant.v1beta1.Query/Allowance": grpclib.const.Handler( + self.__rpc_allowance, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAllowanceRequest, + QueryAllowanceResponse, + ), + "/cosmos.feegrant.v1beta1.Query/Allowances": grpclib.const.Handler( + self.__rpc_allowances, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAllowancesRequest, + QueryAllowancesResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/genutil/__init__.py b/secret_sdk/protobuf/cosmos/genutil/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/genutil/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/genutil/v1beta1/__init__.py new file mode 100644 index 0000000..133c5ae --- /dev/null +++ b/secret_sdk/protobuf/cosmos/genutil/v1beta1/__init__.py @@ -0,0 +1,15 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/genutil/v1beta1/genesis.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the raw genesis transaction in JSON.""" + + gen_txs: List[bytes] = betterproto.bytes_field(1) + """gen_txs defines the genesis transactions.""" diff --git a/secret_sdk/protobuf/cosmos/gov/__init__.py b/secret_sdk/protobuf/cosmos/gov/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/gov/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/gov/v1beta1/__init__.py new file mode 100644 index 0000000..f4b6acc --- /dev/null +++ b/secret_sdk/protobuf/cosmos/gov/v1beta1/__init__.py @@ -0,0 +1,954 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/gov/v1beta1/genesis.proto, cosmos/gov/v1beta1/gov.proto, cosmos/gov/v1beta1/query.proto, cosmos/gov/v1beta1/tx.proto +# plugin: python-betterproto +import warnings +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class VoteOption(betterproto.Enum): + """ + VoteOption enumerates the valid vote options for a given governance + proposal. + """ + + VOTE_OPTION_UNSPECIFIED = 0 + """VOTE_OPTION_UNSPECIFIED defines a no-op vote option.""" + + VOTE_OPTION_YES = 1 + """VOTE_OPTION_YES defines a yes vote option.""" + + VOTE_OPTION_ABSTAIN = 2 + """VOTE_OPTION_ABSTAIN defines an abstain vote option.""" + + VOTE_OPTION_NO = 3 + """VOTE_OPTION_NO defines a no vote option.""" + + VOTE_OPTION_NO_WITH_VETO = 4 + """VOTE_OPTION_NO_WITH_VETO defines a no with veto vote option.""" + + +class ProposalStatus(betterproto.Enum): + """ProposalStatus enumerates the valid statuses of a proposal.""" + + PROPOSAL_STATUS_UNSPECIFIED = 0 + """PROPOSAL_STATUS_UNSPECIFIED defines the default propopsal status.""" + + PROPOSAL_STATUS_DEPOSIT_PERIOD = 1 + """ + PROPOSAL_STATUS_DEPOSIT_PERIOD defines a proposal status during the deposit + period. + """ + + PROPOSAL_STATUS_VOTING_PERIOD = 2 + """ + PROPOSAL_STATUS_VOTING_PERIOD defines a proposal status during the voting + period. + """ + + PROPOSAL_STATUS_PASSED = 3 + """ + PROPOSAL_STATUS_PASSED defines a proposal status of a proposal that has + passed. + """ + + PROPOSAL_STATUS_REJECTED = 4 + """ + PROPOSAL_STATUS_REJECTED defines a proposal status of a proposal that has + been rejected. + """ + + PROPOSAL_STATUS_FAILED = 5 + """ + PROPOSAL_STATUS_FAILED defines a proposal status of a proposal that has + failed. + """ + + +@dataclass(eq=False, repr=False) +class WeightedVoteOption(betterproto.Message): + """ + WeightedVoteOption defines a unit of vote for vote split. Since: cosmos-sdk + 0.43 + """ + + option: "VoteOption" = betterproto.enum_field(1) + weight: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class TextProposal(betterproto.Message): + """ + TextProposal defines a standard text proposal whose changes need to be + manually updated in case of approval. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class Deposit(betterproto.Message): + """ + Deposit defines an amount deposited by an account address to an active + proposal. + """ + + proposal_id: int = betterproto.uint64_field(1) + depositor: str = betterproto.string_field(2) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class Proposal(betterproto.Message): + """Proposal defines the core field members of a governance proposal.""" + + proposal_id: int = betterproto.uint64_field(1) + content: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + status: "ProposalStatus" = betterproto.enum_field(3) + final_tally_result: "TallyResult" = betterproto.message_field(4) + submit_time: datetime = betterproto.message_field(5) + deposit_end_time: datetime = betterproto.message_field(6) + total_deposit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(7) + voting_start_time: datetime = betterproto.message_field(8) + voting_end_time: datetime = betterproto.message_field(9) + + +@dataclass(eq=False, repr=False) +class TallyResult(betterproto.Message): + """TallyResult defines a standard tally for a governance proposal.""" + + yes: str = betterproto.string_field(1) + abstain: str = betterproto.string_field(2) + no: str = betterproto.string_field(3) + no_with_veto: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class Vote(betterproto.Message): + """ + Vote defines a vote on a governance proposal. A Vote consists of a proposal + ID, the voter, and the vote option. + """ + + proposal_id: int = betterproto.uint64_field(1) + voter: str = betterproto.string_field(2) + option: "VoteOption" = betterproto.enum_field(3) + """ + Deprecated: Prefer to use `options` instead. This field is set in queries + if and only if `len(options) == 1` and that option has weight 1. In all + other cases, this field will default to VOTE_OPTION_UNSPECIFIED. + """ + + options: List["WeightedVoteOption"] = betterproto.message_field(4) + """Since: cosmos-sdk 0.43""" + + def __post_init__(self) -> None: + super().__post_init__() + if self.is_set("option"): + warnings.warn("Vote.option is deprecated", DeprecationWarning) + + +@dataclass(eq=False, repr=False) +class DepositParams(betterproto.Message): + """ + DepositParams defines the params for deposits on governance proposals. + """ + + min_deposit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """Minimum deposit for a proposal to enter voting period.""" + + max_deposit_period: timedelta = betterproto.message_field(2) + """ + Maximum period for Atom holders to deposit on a proposal. Initial value: 2 + months. + """ + + +@dataclass(eq=False, repr=False) +class VotingParams(betterproto.Message): + """VotingParams defines the params for voting on governance proposals.""" + + voting_period: timedelta = betterproto.message_field(1) + """Length of the voting period.""" + + +@dataclass(eq=False, repr=False) +class TallyParams(betterproto.Message): + """ + TallyParams defines the params for tallying votes on governance proposals. + """ + + quorum: bytes = betterproto.bytes_field(1) + """ + Minimum percentage of total stake needed to vote for a result to be + considered valid. + """ + + threshold: bytes = betterproto.bytes_field(2) + """ + Minimum proportion of Yes votes for proposal to pass. Default value: 0.5. + """ + + veto_threshold: bytes = betterproto.bytes_field(3) + """ + Minimum value of Veto votes to Total votes ratio for proposal to be + vetoed. Default value: 1/3. + """ + + +@dataclass(eq=False, repr=False) +class MsgSubmitProposal(betterproto.Message): + """ + MsgSubmitProposal defines an sdk.Msg type that supports submitting + arbitrary proposal Content. + """ + + content: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + initial_deposit: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + proposer: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class MsgSubmitProposalResponse(betterproto.Message): + """ + MsgSubmitProposalResponse defines the Msg/SubmitProposal response type. + """ + + proposal_id: int = betterproto.uint64_field(1) + + +@dataclass(eq=False, repr=False) +class MsgVote(betterproto.Message): + """MsgVote defines a message to cast a vote.""" + + proposal_id: int = betterproto.uint64_field(1) + voter: str = betterproto.string_field(2) + option: "VoteOption" = betterproto.enum_field(3) + + +@dataclass(eq=False, repr=False) +class MsgVoteResponse(betterproto.Message): + """MsgVoteResponse defines the Msg/Vote response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgVoteWeighted(betterproto.Message): + """ + MsgVoteWeighted defines a message to cast a vote. Since: cosmos-sdk 0.43 + """ + + proposal_id: int = betterproto.uint64_field(1) + voter: str = betterproto.string_field(2) + options: List["WeightedVoteOption"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgVoteWeightedResponse(betterproto.Message): + """ + MsgVoteWeightedResponse defines the Msg/VoteWeighted response type. Since: + cosmos-sdk 0.43 + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgDeposit(betterproto.Message): + """ + MsgDeposit defines a message to submit a deposit to an existing proposal. + """ + + proposal_id: int = betterproto.uint64_field(1) + depositor: str = betterproto.string_field(2) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgDepositResponse(betterproto.Message): + """MsgDepositResponse defines the Msg/Deposit response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryProposalRequest(betterproto.Message): + """ + QueryProposalRequest is the request type for the Query/Proposal RPC method. + """ + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + +@dataclass(eq=False, repr=False) +class QueryProposalResponse(betterproto.Message): + """ + QueryProposalResponse is the response type for the Query/Proposal RPC + method. + """ + + proposal: "Proposal" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QueryProposalsRequest(betterproto.Message): + """ + QueryProposalsRequest is the request type for the Query/Proposals RPC + method. + """ + + proposal_status: "ProposalStatus" = betterproto.enum_field(1) + """proposal_status defines the status of the proposals.""" + + voter: str = betterproto.string_field(2) + """voter defines the voter address for the proposals.""" + + depositor: str = betterproto.string_field(3) + """depositor defines the deposit addresses from the proposals.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(4) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryProposalsResponse(betterproto.Message): + """ + QueryProposalsResponse is the response type for the Query/Proposals RPC + method. + """ + + proposals: List["Proposal"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryVoteRequest(betterproto.Message): + """QueryVoteRequest is the request type for the Query/Vote RPC method.""" + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + voter: str = betterproto.string_field(2) + """voter defines the oter address for the proposals.""" + + +@dataclass(eq=False, repr=False) +class QueryVoteResponse(betterproto.Message): + """ + QueryVoteResponse is the response type for the Query/Vote RPC method. + """ + + vote: "Vote" = betterproto.message_field(1) + """vote defined the queried vote.""" + + +@dataclass(eq=False, repr=False) +class QueryVotesRequest(betterproto.Message): + """ + QueryVotesRequest is the request type for the Query/Votes RPC method. + """ + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryVotesResponse(betterproto.Message): + """ + QueryVotesResponse is the response type for the Query/Votes RPC method. + """ + + votes: List["Vote"] = betterproto.message_field(1) + """votes defined the queried votes.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + params_type: str = betterproto.string_field(1) + """ + params_type defines which parameters to query for, can be one of "voting", + "tallying" or "deposit". + """ + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + voting_params: "VotingParams" = betterproto.message_field(1) + """voting_params defines the parameters related to voting.""" + + deposit_params: "DepositParams" = betterproto.message_field(2) + """deposit_params defines the parameters related to deposit.""" + + tally_params: "TallyParams" = betterproto.message_field(3) + """tally_params defines the parameters related to tally.""" + + +@dataclass(eq=False, repr=False) +class QueryDepositRequest(betterproto.Message): + """ + QueryDepositRequest is the request type for the Query/Deposit RPC method. + """ + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + depositor: str = betterproto.string_field(2) + """depositor defines the deposit addresses from the proposals.""" + + +@dataclass(eq=False, repr=False) +class QueryDepositResponse(betterproto.Message): + """ + QueryDepositResponse is the response type for the Query/Deposit RPC method. + """ + + deposit: "Deposit" = betterproto.message_field(1) + """deposit defines the requested deposit.""" + + +@dataclass(eq=False, repr=False) +class QueryDepositsRequest(betterproto.Message): + """ + QueryDepositsRequest is the request type for the Query/Deposits RPC method. + """ + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDepositsResponse(betterproto.Message): + """ + QueryDepositsResponse is the response type for the Query/Deposits RPC + method. + """ + + deposits: List["Deposit"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryTallyResultRequest(betterproto.Message): + """ + QueryTallyResultRequest is the request type for the Query/Tally RPC method. + """ + + proposal_id: int = betterproto.uint64_field(1) + """proposal_id defines the unique id of the proposal.""" + + +@dataclass(eq=False, repr=False) +class QueryTallyResultResponse(betterproto.Message): + """ + QueryTallyResultResponse is the response type for the Query/Tally RPC + method. + """ + + tally: "TallyResult" = betterproto.message_field(1) + """tally defines the requested tally.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the gov module's genesis state.""" + + starting_proposal_id: int = betterproto.uint64_field(1) + """starting_proposal_id is the ID of the starting proposal.""" + + deposits: List["Deposit"] = betterproto.message_field(2) + """deposits defines all the deposits present at genesis.""" + + votes: List["Vote"] = betterproto.message_field(3) + """votes defines all the votes present at genesis.""" + + proposals: List["Proposal"] = betterproto.message_field(4) + """proposals defines all the proposals present at genesis.""" + + deposit_params: "DepositParams" = betterproto.message_field(5) + """params defines all the paramaters of related to deposit.""" + + voting_params: "VotingParams" = betterproto.message_field(6) + """params defines all the paramaters of related to voting.""" + + tally_params: "TallyParams" = betterproto.message_field(7) + """params defines all the paramaters of related to tally.""" + + +class MsgStub(betterproto.ServiceStub): + async def submit_proposal( + self, + msg_submit_proposal: "MsgSubmitProposal", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSubmitProposalResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Msg/SubmitProposal", + msg_submit_proposal, + MsgSubmitProposalResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def vote( + self, + msg_vote: "MsgVote", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgVoteResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Msg/Vote", + msg_vote, + MsgVoteResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def vote_weighted( + self, + msg_vote_weighted: "MsgVoteWeighted", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgVoteWeightedResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Msg/VoteWeighted", + msg_vote_weighted, + MsgVoteWeightedResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def deposit( + self, + msg_deposit: "MsgDeposit", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgDepositResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Msg/Deposit", + msg_deposit, + MsgDepositResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def proposal( + self, + query_proposal_request: "QueryProposalRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryProposalResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Proposal", + query_proposal_request, + QueryProposalResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def proposals( + self, + query_proposals_request: "QueryProposalsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryProposalsResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Proposals", + query_proposals_request, + QueryProposalsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def vote( + self, + query_vote_request: "QueryVoteRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryVoteResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Vote", + query_vote_request, + QueryVoteResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def votes( + self, + query_votes_request: "QueryVotesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryVotesResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Votes", + query_votes_request, + QueryVotesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def deposit( + self, + query_deposit_request: "QueryDepositRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDepositResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Deposit", + query_deposit_request, + QueryDepositResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def deposits( + self, + query_deposits_request: "QueryDepositsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDepositsResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/Deposits", + query_deposits_request, + QueryDepositsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def tally_result( + self, + query_tally_result_request: "QueryTallyResultRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryTallyResultResponse": + return await self._unary_unary( + "/cosmos.gov.v1beta1.Query/TallyResult", + query_tally_result_request, + QueryTallyResultResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def submit_proposal( + self, msg_submit_proposal: "MsgSubmitProposal" + ) -> "MsgSubmitProposalResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def vote(self, msg_vote: "MsgVote") -> "MsgVoteResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def vote_weighted( + self, msg_vote_weighted: "MsgVoteWeighted" + ) -> "MsgVoteWeightedResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def deposit(self, msg_deposit: "MsgDeposit") -> "MsgDepositResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_submit_proposal( + self, + stream: "grpclib.server.Stream[MsgSubmitProposal, MsgSubmitProposalResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.submit_proposal(request) + await stream.send_message(response) + + async def __rpc_vote( + self, stream: "grpclib.server.Stream[MsgVote, MsgVoteResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.vote(request) + await stream.send_message(response) + + async def __rpc_vote_weighted( + self, stream: "grpclib.server.Stream[MsgVoteWeighted, MsgVoteWeightedResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.vote_weighted(request) + await stream.send_message(response) + + async def __rpc_deposit( + self, stream: "grpclib.server.Stream[MsgDeposit, MsgDepositResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.deposit(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.gov.v1beta1.Msg/SubmitProposal": grpclib.const.Handler( + self.__rpc_submit_proposal, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSubmitProposal, + MsgSubmitProposalResponse, + ), + "/cosmos.gov.v1beta1.Msg/Vote": grpclib.const.Handler( + self.__rpc_vote, + grpclib.const.Cardinality.UNARY_UNARY, + MsgVote, + MsgVoteResponse, + ), + "/cosmos.gov.v1beta1.Msg/VoteWeighted": grpclib.const.Handler( + self.__rpc_vote_weighted, + grpclib.const.Cardinality.UNARY_UNARY, + MsgVoteWeighted, + MsgVoteWeightedResponse, + ), + "/cosmos.gov.v1beta1.Msg/Deposit": grpclib.const.Handler( + self.__rpc_deposit, + grpclib.const.Cardinality.UNARY_UNARY, + MsgDeposit, + MsgDepositResponse, + ), + } + + +class QueryBase(ServiceBase): + async def proposal( + self, query_proposal_request: "QueryProposalRequest" + ) -> "QueryProposalResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def proposals( + self, query_proposals_request: "QueryProposalsRequest" + ) -> "QueryProposalsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def vote(self, query_vote_request: "QueryVoteRequest") -> "QueryVoteResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def votes( + self, query_votes_request: "QueryVotesRequest" + ) -> "QueryVotesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def deposit( + self, query_deposit_request: "QueryDepositRequest" + ) -> "QueryDepositResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def deposits( + self, query_deposits_request: "QueryDepositsRequest" + ) -> "QueryDepositsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def tally_result( + self, query_tally_result_request: "QueryTallyResultRequest" + ) -> "QueryTallyResultResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_proposal( + self, + stream: "grpclib.server.Stream[QueryProposalRequest, QueryProposalResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.proposal(request) + await stream.send_message(response) + + async def __rpc_proposals( + self, + stream: "grpclib.server.Stream[QueryProposalsRequest, QueryProposalsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.proposals(request) + await stream.send_message(response) + + async def __rpc_vote( + self, stream: "grpclib.server.Stream[QueryVoteRequest, QueryVoteResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.vote(request) + await stream.send_message(response) + + async def __rpc_votes( + self, stream: "grpclib.server.Stream[QueryVotesRequest, QueryVotesResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.votes(request) + await stream.send_message(response) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_deposit( + self, stream: "grpclib.server.Stream[QueryDepositRequest, QueryDepositResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.deposit(request) + await stream.send_message(response) + + async def __rpc_deposits( + self, + stream: "grpclib.server.Stream[QueryDepositsRequest, QueryDepositsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.deposits(request) + await stream.send_message(response) + + async def __rpc_tally_result( + self, + stream: "grpclib.server.Stream[QueryTallyResultRequest, QueryTallyResultResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.tally_result(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.gov.v1beta1.Query/Proposal": grpclib.const.Handler( + self.__rpc_proposal, + grpclib.const.Cardinality.UNARY_UNARY, + QueryProposalRequest, + QueryProposalResponse, + ), + "/cosmos.gov.v1beta1.Query/Proposals": grpclib.const.Handler( + self.__rpc_proposals, + grpclib.const.Cardinality.UNARY_UNARY, + QueryProposalsRequest, + QueryProposalsResponse, + ), + "/cosmos.gov.v1beta1.Query/Vote": grpclib.const.Handler( + self.__rpc_vote, + grpclib.const.Cardinality.UNARY_UNARY, + QueryVoteRequest, + QueryVoteResponse, + ), + "/cosmos.gov.v1beta1.Query/Votes": grpclib.const.Handler( + self.__rpc_votes, + grpclib.const.Cardinality.UNARY_UNARY, + QueryVotesRequest, + QueryVotesResponse, + ), + "/cosmos.gov.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/cosmos.gov.v1beta1.Query/Deposit": grpclib.const.Handler( + self.__rpc_deposit, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDepositRequest, + QueryDepositResponse, + ), + "/cosmos.gov.v1beta1.Query/Deposits": grpclib.const.Handler( + self.__rpc_deposits, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDepositsRequest, + QueryDepositsResponse, + ), + "/cosmos.gov.v1beta1.Query/TallyResult": grpclib.const.Handler( + self.__rpc_tally_result, + grpclib.const.Cardinality.UNARY_UNARY, + QueryTallyResultRequest, + QueryTallyResultResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/mint/__init__.py b/secret_sdk/protobuf/cosmos/mint/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/mint/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/mint/v1beta1/__init__.py new file mode 100644 index 0000000..ab060ed --- /dev/null +++ b/secret_sdk/protobuf/cosmos/mint/v1beta1/__init__.py @@ -0,0 +1,240 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/mint/v1beta1/genesis.proto, cosmos/mint/v1beta1/mint.proto, cosmos/mint/v1beta1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class Minter(betterproto.Message): + """Minter represents the minting state.""" + + inflation: str = betterproto.string_field(1) + """current annual inflation rate""" + + annual_provisions: str = betterproto.string_field(2) + """current annual expected provisions""" + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params holds parameters for the mint module.""" + + mint_denom: str = betterproto.string_field(1) + """type of coin to mint""" + + inflation_rate_change: str = betterproto.string_field(2) + """maximum annual change in inflation rate""" + + inflation_max: str = betterproto.string_field(3) + """maximum inflation rate""" + + inflation_min: str = betterproto.string_field(4) + """minimum inflation rate""" + + goal_bonded: str = betterproto.string_field(5) + """goal of percent bonded atoms""" + + blocks_per_year: int = betterproto.uint64_field(6) + """expected blocks per year""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +@dataclass(eq=False, repr=False) +class QueryInflationRequest(betterproto.Message): + """ + QueryInflationRequest is the request type for the Query/Inflation RPC + method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryInflationResponse(betterproto.Message): + """ + QueryInflationResponse is the response type for the Query/Inflation RPC + method. + """ + + inflation: bytes = betterproto.bytes_field(1) + """inflation is the current minting inflation value.""" + + +@dataclass(eq=False, repr=False) +class QueryAnnualProvisionsRequest(betterproto.Message): + """ + QueryAnnualProvisionsRequest is the request type for the + Query/AnnualProvisions RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryAnnualProvisionsResponse(betterproto.Message): + """ + QueryAnnualProvisionsResponse is the response type for the + Query/AnnualProvisions RPC method. + """ + + annual_provisions: bytes = betterproto.bytes_field(1) + """annual_provisions is the current minting annual provisions value.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the mint module's genesis state.""" + + minter: "Minter" = betterproto.message_field(1) + """minter is a space for holding current inflation information.""" + + params: "Params" = betterproto.message_field(2) + """params defines all the paramaters of the module.""" + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.mint.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def inflation( + self, + query_inflation_request: "QueryInflationRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryInflationResponse": + return await self._unary_unary( + "/cosmos.mint.v1beta1.Query/Inflation", + query_inflation_request, + QueryInflationResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def annual_provisions( + self, + query_annual_provisions_request: "QueryAnnualProvisionsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAnnualProvisionsResponse": + return await self._unary_unary( + "/cosmos.mint.v1beta1.Query/AnnualProvisions", + query_annual_provisions_request, + QueryAnnualProvisionsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def inflation( + self, query_inflation_request: "QueryInflationRequest" + ) -> "QueryInflationResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def annual_provisions( + self, query_annual_provisions_request: "QueryAnnualProvisionsRequest" + ) -> "QueryAnnualProvisionsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_inflation( + self, + stream: "grpclib.server.Stream[QueryInflationRequest, QueryInflationResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.inflation(request) + await stream.send_message(response) + + async def __rpc_annual_provisions( + self, + stream: "grpclib.server.Stream[QueryAnnualProvisionsRequest, QueryAnnualProvisionsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.annual_provisions(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.mint.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/cosmos.mint.v1beta1.Query/Inflation": grpclib.const.Handler( + self.__rpc_inflation, + grpclib.const.Cardinality.UNARY_UNARY, + QueryInflationRequest, + QueryInflationResponse, + ), + "/cosmos.mint.v1beta1.Query/AnnualProvisions": grpclib.const.Handler( + self.__rpc_annual_provisions, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAnnualProvisionsRequest, + QueryAnnualProvisionsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/params/__init__.py b/secret_sdk/protobuf/cosmos/params/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/params/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/params/v1beta1/__init__.py new file mode 100644 index 0000000..be11080 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/params/v1beta1/__init__.py @@ -0,0 +1,108 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/params/v1beta1/params.proto, cosmos/params/v1beta1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class ParameterChangeProposal(betterproto.Message): + """ + ParameterChangeProposal defines a proposal to change one or more + parameters. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + changes: List["ParamChange"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class ParamChange(betterproto.Message): + """ + ParamChange defines an individual parameter change, for use in + ParameterChangeProposal. + """ + + subspace: str = betterproto.string_field(1) + key: str = betterproto.string_field(2) + value: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """QueryParamsRequest is request type for the Query/Params RPC method.""" + + subspace: str = betterproto.string_field(1) + """subspace defines the module to query the parameter for.""" + + key: str = betterproto.string_field(2) + """key defines the key of the parameter in the subspace.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is response type for the Query/Params RPC method. + """ + + param: "ParamChange" = betterproto.message_field(1) + """param defines the queried parameter.""" + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.params.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.params.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/slashing/__init__.py b/secret_sdk/protobuf/cosmos/slashing/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/slashing/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/slashing/v1beta1/__init__.py new file mode 100644 index 0000000..d3e1f99 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/slashing/v1beta1/__init__.py @@ -0,0 +1,366 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/slashing/v1beta1/genesis.proto, cosmos/slashing/v1beta1/query.proto, cosmos/slashing/v1beta1/slashing.proto, cosmos/slashing/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgUnjail(betterproto.Message): + """MsgUnjail defines the Msg/Unjail request type""" + + validator_addr: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class MsgUnjailResponse(betterproto.Message): + """MsgUnjailResponse defines the Msg/Unjail response type""" + + pass + + +@dataclass(eq=False, repr=False) +class ValidatorSigningInfo(betterproto.Message): + """ + ValidatorSigningInfo defines a validator's signing info for monitoring + their liveness activity. + """ + + address: str = betterproto.string_field(1) + start_height: int = betterproto.int64_field(2) + """Height at which validator was first a candidate OR was unjailed""" + + index_offset: int = betterproto.int64_field(3) + """ + Index which is incremented each time the validator was a bonded in a block + and may have signed a precommit or not. This in conjunction with the + `SignedBlocksWindow` param determines the index in the + `MissedBlocksBitArray`. + """ + + jailed_until: datetime = betterproto.message_field(4) + """ + Timestamp until which the validator is jailed due to liveness downtime. + """ + + tombstoned: bool = betterproto.bool_field(5) + """ + Whether or not a validator has been tombstoned (killed out of validator + set). It is set once the validator commits an equivocation or for any other + configured misbehiavor. + """ + + missed_blocks_counter: int = betterproto.int64_field(6) + """ + A counter kept to avoid unnecessary array reads. Note that + `Sum(MissedBlocksBitArray)` always equals `MissedBlocksCounter`. + """ + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params represents the parameters used for by the slashing module.""" + + signed_blocks_window: int = betterproto.int64_field(1) + min_signed_per_window: bytes = betterproto.bytes_field(2) + downtime_jail_duration: timedelta = betterproto.message_field(3) + slash_fraction_double_sign: bytes = betterproto.bytes_field(4) + slash_fraction_downtime: bytes = betterproto.bytes_field(5) + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method + """ + + params: "Params" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QuerySigningInfoRequest(betterproto.Message): + """ + QuerySigningInfoRequest is the request type for the Query/SigningInfo RPC + method + """ + + cons_address: str = betterproto.string_field(1) + """cons_address is the address to query signing info of""" + + +@dataclass(eq=False, repr=False) +class QuerySigningInfoResponse(betterproto.Message): + """ + QuerySigningInfoResponse is the response type for the Query/SigningInfo RPC + method + """ + + val_signing_info: "ValidatorSigningInfo" = betterproto.message_field(1) + """val_signing_info is the signing info of requested val cons address""" + + +@dataclass(eq=False, repr=False) +class QuerySigningInfosRequest(betterproto.Message): + """ + QuerySigningInfosRequest is the request type for the Query/SigningInfos RPC + method + """ + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QuerySigningInfosResponse(betterproto.Message): + """ + QuerySigningInfosResponse is the response type for the Query/SigningInfos + RPC method + """ + + info: List["ValidatorSigningInfo"] = betterproto.message_field(1) + """info is the signing info of all validators""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the slashing module's genesis state.""" + + params: "Params" = betterproto.message_field(1) + """params defines all the paramaters of related to deposit.""" + + signing_infos: List["SigningInfo"] = betterproto.message_field(2) + """ + signing_infos represents a map between validator addresses and their + signing infos. + """ + + missed_blocks: List["ValidatorMissedBlocks"] = betterproto.message_field(3) + """ + missed_blocks represents a map between validator addresses and their missed + blocks. + """ + + +@dataclass(eq=False, repr=False) +class SigningInfo(betterproto.Message): + """SigningInfo stores validator signing info of corresponding address.""" + + address: str = betterproto.string_field(1) + """address is the validator address.""" + + validator_signing_info: "ValidatorSigningInfo" = betterproto.message_field(2) + """ + validator_signing_info represents the signing info of this validator. + """ + + +@dataclass(eq=False, repr=False) +class ValidatorMissedBlocks(betterproto.Message): + """ + ValidatorMissedBlocks contains array of missed blocks of corresponding + address. + """ + + address: str = betterproto.string_field(1) + """address is the validator address.""" + + missed_blocks: List["MissedBlock"] = betterproto.message_field(2) + """missed_blocks is an array of missed blocks by the validator.""" + + +@dataclass(eq=False, repr=False) +class MissedBlock(betterproto.Message): + """MissedBlock contains height and missed status as boolean.""" + + index: int = betterproto.int64_field(1) + """index is the height at which the block was missed.""" + + missed: bool = betterproto.bool_field(2) + """missed is the missed status.""" + + +class MsgStub(betterproto.ServiceStub): + async def unjail( + self, + msg_unjail: "MsgUnjail", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgUnjailResponse": + return await self._unary_unary( + "/cosmos.slashing.v1beta1.Msg/Unjail", + msg_unjail, + MsgUnjailResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.slashing.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def signing_info( + self, + query_signing_info_request: "QuerySigningInfoRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QuerySigningInfoResponse": + return await self._unary_unary( + "/cosmos.slashing.v1beta1.Query/SigningInfo", + query_signing_info_request, + QuerySigningInfoResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def signing_infos( + self, + query_signing_infos_request: "QuerySigningInfosRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QuerySigningInfosResponse": + return await self._unary_unary( + "/cosmos.slashing.v1beta1.Query/SigningInfos", + query_signing_infos_request, + QuerySigningInfosResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def unjail(self, msg_unjail: "MsgUnjail") -> "MsgUnjailResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_unjail( + self, stream: "grpclib.server.Stream[MsgUnjail, MsgUnjailResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.unjail(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.slashing.v1beta1.Msg/Unjail": grpclib.const.Handler( + self.__rpc_unjail, + grpclib.const.Cardinality.UNARY_UNARY, + MsgUnjail, + MsgUnjailResponse, + ), + } + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def signing_info( + self, query_signing_info_request: "QuerySigningInfoRequest" + ) -> "QuerySigningInfoResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def signing_infos( + self, query_signing_infos_request: "QuerySigningInfosRequest" + ) -> "QuerySigningInfosResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_signing_info( + self, + stream: "grpclib.server.Stream[QuerySigningInfoRequest, QuerySigningInfoResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.signing_info(request) + await stream.send_message(response) + + async def __rpc_signing_infos( + self, + stream: "grpclib.server.Stream[QuerySigningInfosRequest, QuerySigningInfosResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.signing_infos(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.slashing.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/cosmos.slashing.v1beta1.Query/SigningInfo": grpclib.const.Handler( + self.__rpc_signing_info, + grpclib.const.Cardinality.UNARY_UNARY, + QuerySigningInfoRequest, + QuerySigningInfoResponse, + ), + "/cosmos.slashing.v1beta1.Query/SigningInfos": grpclib.const.Handler( + self.__rpc_signing_infos, + grpclib.const.Cardinality.UNARY_UNARY, + QuerySigningInfosRequest, + QuerySigningInfosResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/staking/__init__.py b/secret_sdk/protobuf/cosmos/staking/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/staking/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/staking/v1beta1/__init__.py new file mode 100644 index 0000000..c1b16f7 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/staking/v1beta1/__init__.py @@ -0,0 +1,1678 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/staking/v1beta1/authz.proto, cosmos/staking/v1beta1/genesis.proto, cosmos/staking/v1beta1/query.proto, cosmos/staking/v1beta1/staking.proto, cosmos/staking/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ....tendermint import types as ___tendermint_types__ +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class BondStatus(betterproto.Enum): + """BondStatus is the status of a validator.""" + + BOND_STATUS_UNSPECIFIED = 0 + """UNSPECIFIED defines an invalid validator status.""" + + BOND_STATUS_UNBONDED = 1 + """UNBONDED defines a validator that is not bonded.""" + + BOND_STATUS_UNBONDING = 2 + """UNBONDING defines a validator that is unbonding.""" + + BOND_STATUS_BONDED = 3 + """BONDED defines a validator that is bonded.""" + + +class AuthorizationType(betterproto.Enum): + """ + AuthorizationType defines the type of staking module authorization type + Since: cosmos-sdk 0.43 + """ + + AUTHORIZATION_TYPE_UNSPECIFIED = 0 + """ + AUTHORIZATION_TYPE_UNSPECIFIED specifies an unknown authorization type + """ + + AUTHORIZATION_TYPE_DELEGATE = 1 + """ + AUTHORIZATION_TYPE_DELEGATE defines an authorization type for Msg/Delegate + """ + + AUTHORIZATION_TYPE_UNDELEGATE = 2 + """ + AUTHORIZATION_TYPE_UNDELEGATE defines an authorization type for + Msg/Undelegate + """ + + AUTHORIZATION_TYPE_REDELEGATE = 3 + """ + AUTHORIZATION_TYPE_REDELEGATE defines an authorization type for + Msg/BeginRedelegate + """ + + +@dataclass(eq=False, repr=False) +class HistoricalInfo(betterproto.Message): + """ + HistoricalInfo contains header and validator information for a given block. + It is stored as part of staking module's state, which persists the `n` most + recent HistoricalInfo (`n` is set by the staking module's + `historical_entries` parameter). + """ + + header: "___tendermint_types__.Header" = betterproto.message_field(1) + valset: List["Validator"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class CommissionRates(betterproto.Message): + """ + CommissionRates defines the initial commission rates to be used for + creating a validator. + """ + + rate: str = betterproto.string_field(1) + """rate is the commission rate charged to delegators, as a fraction.""" + + max_rate: str = betterproto.string_field(2) + """ + max_rate defines the maximum commission rate which validator can ever + charge, as a fraction. + """ + + max_change_rate: str = betterproto.string_field(3) + """ + max_change_rate defines the maximum daily increase of the validator + commission, as a fraction. + """ + + +@dataclass(eq=False, repr=False) +class Commission(betterproto.Message): + """Commission defines commission parameters for a given validator.""" + + commission_rates: "CommissionRates" = betterproto.message_field(1) + """ + commission_rates defines the initial commission rates to be used for + creating a validator. + """ + + update_time: datetime = betterproto.message_field(2) + """update_time is the last time the commission rate was changed.""" + + +@dataclass(eq=False, repr=False) +class Description(betterproto.Message): + """Description defines a validator description.""" + + moniker: str = betterproto.string_field(1) + """moniker defines a human-readable name for the validator.""" + + identity: str = betterproto.string_field(2) + """ + identity defines an optional identity signature (ex. UPort or Keybase). + """ + + website: str = betterproto.string_field(3) + """website defines an optional website link.""" + + security_contact: str = betterproto.string_field(4) + """security_contact defines an optional email for security contact.""" + + details: str = betterproto.string_field(5) + """details define other optional details.""" + + +@dataclass(eq=False, repr=False) +class Validator(betterproto.Message): + """ + Validator defines a validator, together with the total amount of the + Validator's bond shares and their exchange rate to coins. Slashing results + in a decrease in the exchange rate, allowing correct calculation of future + undelegations without iterating over delegators. When coins are delegated + to this validator, the validator is credited with a delegation whose number + of bond shares is based on the amount of coins delegated divided by the + current exchange rate. Voting power can be calculated as total bonded + shares multiplied by exchange rate. + """ + + operator_address: str = betterproto.string_field(1) + """ + operator_address defines the address of the validator's operator; bech + encoded in JSON. + """ + + consensus_pubkey: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 2 + ) + """ + consensus_pubkey is the consensus public key of the validator, as a + Protobuf Any. + """ + + jailed: bool = betterproto.bool_field(3) + """ + jailed defined whether the validator has been jailed from bonded status or + not. + """ + + status: "BondStatus" = betterproto.enum_field(4) + """status is the validator status (bonded/unbonding/unbonded).""" + + tokens: str = betterproto.string_field(5) + """tokens define the delegated tokens (incl. self-delegation).""" + + delegator_shares: str = betterproto.string_field(6) + """ + delegator_shares defines total shares issued to a validator's delegators. + """ + + description: "Description" = betterproto.message_field(7) + """description defines the description terms for the validator.""" + + unbonding_height: int = betterproto.int64_field(8) + """ + unbonding_height defines, if unbonding, the height at which this validator + has begun unbonding. + """ + + unbonding_time: datetime = betterproto.message_field(9) + """ + unbonding_time defines, if unbonding, the min time for the validator to + complete unbonding. + """ + + commission: "Commission" = betterproto.message_field(10) + """commission defines the commission parameters.""" + + min_self_delegation: str = betterproto.string_field(11) + """ + min_self_delegation is the validator's self declared minimum self + delegation. + """ + + +@dataclass(eq=False, repr=False) +class ValAddresses(betterproto.Message): + """ValAddresses defines a repeated set of validator addresses.""" + + addresses: List[str] = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class DvPair(betterproto.Message): + """ + DVPair is struct that just has a delegator-validator pair with no other + data. It is intended to be used as a marshalable pointer. For example, a + DVPair can be used to construct the key to getting an UnbondingDelegation + from state. + """ + + delegator_address: str = betterproto.string_field(1) + validator_address: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class DvPairs(betterproto.Message): + """DVPairs defines an array of DVPair objects.""" + + pairs: List["DvPair"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class DvvTriplet(betterproto.Message): + """ + DVVTriplet is struct that just has a delegator-validator-validator triplet + with no other data. It is intended to be used as a marshalable pointer. For + example, a DVVTriplet can be used to construct the key to getting a + Redelegation from state. + """ + + delegator_address: str = betterproto.string_field(1) + validator_src_address: str = betterproto.string_field(2) + validator_dst_address: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class DvvTriplets(betterproto.Message): + """DVVTriplets defines an array of DVVTriplet objects.""" + + triplets: List["DvvTriplet"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Delegation(betterproto.Message): + """ + Delegation represents the bond with tokens held by an account. It is owned + by one delegator, and is associated with the voting power of one validator. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address is the bech32-encoded address of the delegator.""" + + validator_address: str = betterproto.string_field(2) + """validator_address is the bech32-encoded address of the validator.""" + + shares: str = betterproto.string_field(3) + """shares define the delegation shares received.""" + + +@dataclass(eq=False, repr=False) +class UnbondingDelegation(betterproto.Message): + """ + UnbondingDelegation stores all of a single delegator's unbonding bonds for + a single validator in an time-ordered list. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address is the bech32-encoded address of the delegator.""" + + validator_address: str = betterproto.string_field(2) + """validator_address is the bech32-encoded address of the validator.""" + + entries: List["UnbondingDelegationEntry"] = betterproto.message_field(3) + """entries are the unbonding delegation entries.""" + + +@dataclass(eq=False, repr=False) +class UnbondingDelegationEntry(betterproto.Message): + """ + UnbondingDelegationEntry defines an unbonding object with relevant + metadata. + """ + + creation_height: int = betterproto.int64_field(1) + """creation_height is the height which the unbonding took place.""" + + completion_time: datetime = betterproto.message_field(2) + """completion_time is the unix time for unbonding completion.""" + + initial_balance: str = betterproto.string_field(3) + """ + initial_balance defines the tokens initially scheduled to receive at + completion. + """ + + balance: str = betterproto.string_field(4) + """balance defines the tokens to receive at completion.""" + + +@dataclass(eq=False, repr=False) +class RedelegationEntry(betterproto.Message): + """ + RedelegationEntry defines a redelegation object with relevant metadata. + """ + + creation_height: int = betterproto.int64_field(1) + """ + creation_height defines the height which the redelegation took place. + """ + + completion_time: datetime = betterproto.message_field(2) + """completion_time defines the unix time for redelegation completion.""" + + initial_balance: str = betterproto.string_field(3) + """ + initial_balance defines the initial balance when redelegation started. + """ + + shares_dst: str = betterproto.string_field(4) + """ + shares_dst is the amount of destination-validator shares created by + redelegation. + """ + + +@dataclass(eq=False, repr=False) +class Redelegation(betterproto.Message): + """ + Redelegation contains the list of a particular delegator's redelegating + bonds from a particular source validator to a particular destination + validator. + """ + + delegator_address: str = betterproto.string_field(1) + """delegator_address is the bech32-encoded address of the delegator.""" + + validator_src_address: str = betterproto.string_field(2) + """ + validator_src_address is the validator redelegation source operator + address. + """ + + validator_dst_address: str = betterproto.string_field(3) + """ + validator_dst_address is the validator redelegation destination operator + address. + """ + + entries: List["RedelegationEntry"] = betterproto.message_field(4) + """entries are the redelegation entries.""" + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the parameters for the staking module.""" + + unbonding_time: timedelta = betterproto.message_field(1) + """unbonding_time is the time duration of unbonding.""" + + max_validators: int = betterproto.uint32_field(2) + """max_validators is the maximum number of validators.""" + + max_entries: int = betterproto.uint32_field(3) + """ + max_entries is the max entries for either unbonding delegation or + redelegation (per pair/trio). + """ + + historical_entries: int = betterproto.uint32_field(4) + """historical_entries is the number of historical entries to persist.""" + + bond_denom: str = betterproto.string_field(5) + """bond_denom defines the bondable coin denomination.""" + + +@dataclass(eq=False, repr=False) +class DelegationResponse(betterproto.Message): + """ + DelegationResponse is equivalent to Delegation except that it contains a + balance in addition to shares which is more suitable for client responses. + """ + + delegation: "Delegation" = betterproto.message_field(1) + balance: "__base_v1_beta1__.Coin" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class RedelegationEntryResponse(betterproto.Message): + """ + RedelegationEntryResponse is equivalent to a RedelegationEntry except that + it contains a balance in addition to shares which is more suitable for + client responses. + """ + + redelegation_entry: "RedelegationEntry" = betterproto.message_field(1) + balance: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class RedelegationResponse(betterproto.Message): + """ + RedelegationResponse is equivalent to a Redelegation except that its + entries contain a balance in addition to shares which is more suitable for + client responses. + """ + + redelegation: "Redelegation" = betterproto.message_field(1) + entries: List["RedelegationEntryResponse"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Pool(betterproto.Message): + """ + Pool is used for tracking bonded and not-bonded token supply of the bond + denomination. + """ + + not_bonded_tokens: str = betterproto.string_field(1) + bonded_tokens: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class MsgCreateValidator(betterproto.Message): + """ + MsgCreateValidator defines a SDK message for creating a new validator. + """ + + description: "Description" = betterproto.message_field(1) + commission: "CommissionRates" = betterproto.message_field(2) + min_self_delegation: str = betterproto.string_field(3) + delegator_address: str = betterproto.string_field(4) + validator_address: str = betterproto.string_field(5) + pubkey: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(6) + value: "__base_v1_beta1__.Coin" = betterproto.message_field(7) + + +@dataclass(eq=False, repr=False) +class MsgCreateValidatorResponse(betterproto.Message): + """ + MsgCreateValidatorResponse defines the Msg/CreateValidator response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgEditValidator(betterproto.Message): + """ + MsgEditValidator defines a SDK message for editing an existing validator. + """ + + description: "Description" = betterproto.message_field(1) + validator_address: str = betterproto.string_field(2) + commission_rate: str = betterproto.string_field(3) + """ + We pass a reference to the new commission rate and min self delegation as + it's not mandatory to update. If not updated, the deserialized rate will be + zero with no way to distinguish if an update was intended. REF: #2373 + """ + + min_self_delegation: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class MsgEditValidatorResponse(betterproto.Message): + """ + MsgEditValidatorResponse defines the Msg/EditValidator response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgDelegate(betterproto.Message): + """ + MsgDelegate defines a SDK message for performing a delegation of coins from + a delegator to a validator. + """ + + delegator_address: str = betterproto.string_field(1) + validator_address: str = betterproto.string_field(2) + amount: "__base_v1_beta1__.Coin" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgDelegateResponse(betterproto.Message): + """MsgDelegateResponse defines the Msg/Delegate response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgBeginRedelegate(betterproto.Message): + """ + MsgBeginRedelegate defines a SDK message for performing a redelegation of + coins from a delegator and source validator to a destination validator. + """ + + delegator_address: str = betterproto.string_field(1) + validator_src_address: str = betterproto.string_field(2) + validator_dst_address: str = betterproto.string_field(3) + amount: "__base_v1_beta1__.Coin" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class MsgBeginRedelegateResponse(betterproto.Message): + """ + MsgBeginRedelegateResponse defines the Msg/BeginRedelegate response type. + """ + + completion_time: datetime = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class MsgUndelegate(betterproto.Message): + """ + MsgUndelegate defines a SDK message for performing an undelegation from a + delegate and a validator. + """ + + delegator_address: str = betterproto.string_field(1) + validator_address: str = betterproto.string_field(2) + amount: "__base_v1_beta1__.Coin" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class MsgUndelegateResponse(betterproto.Message): + """MsgUndelegateResponse defines the Msg/Undelegate response type.""" + + completion_time: datetime = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QueryValidatorsRequest(betterproto.Message): + """ + QueryValidatorsRequest is request type for Query/Validators RPC method. + """ + + status: str = betterproto.string_field(1) + """status enables to query for validators matching a given status.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorsResponse(betterproto.Message): + """ + QueryValidatorsResponse is response type for the Query/Validators RPC + method + """ + + validators: List["Validator"] = betterproto.message_field(1) + """validators contains all the queried validators.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorRequest(betterproto.Message): + """ + QueryValidatorRequest is response type for the Query/Validator RPC method + """ + + validator_addr: str = betterproto.string_field(1) + """validator_addr defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorResponse(betterproto.Message): + """ + QueryValidatorResponse is response type for the Query/Validator RPC method + """ + + validator: "Validator" = betterproto.message_field(1) + """validator defines the the validator info.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorDelegationsRequest(betterproto.Message): + """ + QueryValidatorDelegationsRequest is request type for the + Query/ValidatorDelegations RPC method + """ + + validator_addr: str = betterproto.string_field(1) + """validator_addr defines the validator address to query for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorDelegationsResponse(betterproto.Message): + """ + QueryValidatorDelegationsResponse is response type for the + Query/ValidatorDelegations RPC method + """ + + delegation_responses: List["DelegationResponse"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorUnbondingDelegationsRequest(betterproto.Message): + """ + QueryValidatorUnbondingDelegationsRequest is required type for the + Query/ValidatorUnbondingDelegations RPC method + """ + + validator_addr: str = betterproto.string_field(1) + """validator_addr defines the validator address to query for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryValidatorUnbondingDelegationsResponse(betterproto.Message): + """ + QueryValidatorUnbondingDelegationsResponse is response type for the + Query/ValidatorUnbondingDelegations RPC method. + """ + + unbonding_responses: List["UnbondingDelegation"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationRequest(betterproto.Message): + """ + QueryDelegationRequest is request type for the Query/Delegation RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + validator_addr: str = betterproto.string_field(2) + """validator_addr defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegationResponse(betterproto.Message): + """ + QueryDelegationResponse is response type for the Query/Delegation RPC + method. + """ + + delegation_response: "DelegationResponse" = betterproto.message_field(1) + """delegation_responses defines the delegation info of a delegation.""" + + +@dataclass(eq=False, repr=False) +class QueryUnbondingDelegationRequest(betterproto.Message): + """ + QueryUnbondingDelegationRequest is request type for the + Query/UnbondingDelegation RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + validator_addr: str = betterproto.string_field(2) + """validator_addr defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryUnbondingDelegationResponse(betterproto.Message): + """ + QueryDelegationResponse is response type for the Query/UnbondingDelegation + RPC method. + """ + + unbond: "UnbondingDelegation" = betterproto.message_field(1) + """unbond defines the unbonding information of a delegation.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorDelegationsRequest(betterproto.Message): + """ + QueryDelegatorDelegationsRequest is request type for the + Query/DelegatorDelegations RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorDelegationsResponse(betterproto.Message): + """ + QueryDelegatorDelegationsResponse is response type for the + Query/DelegatorDelegations RPC method. + """ + + delegation_responses: List["DelegationResponse"] = betterproto.message_field(1) + """ + delegation_responses defines all the delegations' info of a delegator. + """ + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorUnbondingDelegationsRequest(betterproto.Message): + """ + QueryDelegatorUnbondingDelegationsRequest is request type for the + Query/DelegatorUnbondingDelegations RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorUnbondingDelegationsResponse(betterproto.Message): + """ + QueryUnbondingDelegatorDelegationsResponse is response type for the + Query/UnbondingDelegatorDelegations RPC method. + """ + + unbonding_responses: List["UnbondingDelegation"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryRedelegationsRequest(betterproto.Message): + """ + QueryRedelegationsRequest is request type for the Query/Redelegations RPC + method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + src_validator_addr: str = betterproto.string_field(2) + """src_validator_addr defines the validator address to redelegate from.""" + + dst_validator_addr: str = betterproto.string_field(3) + """dst_validator_addr defines the validator address to redelegate to.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(4) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryRedelegationsResponse(betterproto.Message): + """ + QueryRedelegationsResponse is response type for the Query/Redelegations RPC + method. + """ + + redelegation_responses: List["RedelegationResponse"] = betterproto.message_field(1) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorsRequest(betterproto.Message): + """ + QueryDelegatorValidatorsRequest is request type for the + Query/DelegatorValidators RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorsResponse(betterproto.Message): + """ + QueryDelegatorValidatorsResponse is response type for the + Query/DelegatorValidators RPC method. + """ + + validators: List["Validator"] = betterproto.message_field(1) + """validators defines the the validators' info of a delegator.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(2) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorRequest(betterproto.Message): + """ + QueryDelegatorValidatorRequest is request type for the + Query/DelegatorValidator RPC method. + """ + + delegator_addr: str = betterproto.string_field(1) + """delegator_addr defines the delegator address to query for.""" + + validator_addr: str = betterproto.string_field(2) + """validator_addr defines the validator address to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryDelegatorValidatorResponse(betterproto.Message): + """ + QueryDelegatorValidatorResponse response type for the + Query/DelegatorValidator RPC method. + """ + + validator: "Validator" = betterproto.message_field(1) + """validator defines the the validator info.""" + + +@dataclass(eq=False, repr=False) +class QueryHistoricalInfoRequest(betterproto.Message): + """ + QueryHistoricalInfoRequest is request type for the Query/HistoricalInfo RPC + method. + """ + + height: int = betterproto.int64_field(1) + """height defines at which height to query the historical info.""" + + +@dataclass(eq=False, repr=False) +class QueryHistoricalInfoResponse(betterproto.Message): + """ + QueryHistoricalInfoResponse is response type for the Query/HistoricalInfo + RPC method. + """ + + hist: "HistoricalInfo" = betterproto.message_field(1) + """hist defines the historical info at the given height.""" + + +@dataclass(eq=False, repr=False) +class QueryPoolRequest(betterproto.Message): + """QueryPoolRequest is request type for the Query/Pool RPC method.""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryPoolResponse(betterproto.Message): + """QueryPoolResponse is response type for the Query/Pool RPC method.""" + + pool: "Pool" = betterproto.message_field(1) + """pool defines the pool info.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """QueryParamsRequest is request type for the Query/Params RPC method.""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params holds all the parameters of this module.""" + + +@dataclass(eq=False, repr=False) +class StakeAuthorization(betterproto.Message): + """ + StakeAuthorization defines authorization for + delegate/undelegate/redelegate. Since: cosmos-sdk 0.43 + """ + + max_tokens: "__base_v1_beta1__.Coin" = betterproto.message_field(1) + """ + max_tokens specifies the maximum amount of tokens can be delegate to a + validator. If it is empty, there is no spend limit and any amount of coins + can be delegated. + """ + + allow_list: "StakeAuthorizationValidators" = betterproto.message_field( + 2, group="validators" + ) + """ + allow_list specifies list of validator addresses to whom grantee can + delegate tokens on behalf of granter's account. + """ + + deny_list: "StakeAuthorizationValidators" = betterproto.message_field( + 3, group="validators" + ) + """ + deny_list specifies list of validator addresses to whom grantee can not + delegate tokens. + """ + + authorization_type: "AuthorizationType" = betterproto.enum_field(4) + """authorization_type defines one of AuthorizationType.""" + + +@dataclass(eq=False, repr=False) +class StakeAuthorizationValidators(betterproto.Message): + """Validators defines list of validator addresses.""" + + address: List[str] = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the staking module's genesis state.""" + + params: "Params" = betterproto.message_field(1) + """params defines all the paramaters of related to deposit.""" + + last_total_power: bytes = betterproto.bytes_field(2) + """ + last_total_power tracks the total amounts of bonded tokens recorded during + the previous end block. + """ + + last_validator_powers: List["LastValidatorPower"] = betterproto.message_field(3) + """ + last_validator_powers is a special index that provides a historical list of + the last-block's bonded validators. + """ + + validators: List["Validator"] = betterproto.message_field(4) + """delegations defines the validator set at genesis.""" + + delegations: List["Delegation"] = betterproto.message_field(5) + """delegations defines the delegations active at genesis.""" + + unbonding_delegations: List["UnbondingDelegation"] = betterproto.message_field(6) + """ + unbonding_delegations defines the unbonding delegations active at genesis. + """ + + redelegations: List["Redelegation"] = betterproto.message_field(7) + """redelegations defines the redelegations active at genesis.""" + + exported: bool = betterproto.bool_field(8) + + +@dataclass(eq=False, repr=False) +class LastValidatorPower(betterproto.Message): + """LastValidatorPower required for validator set update logic.""" + + address: str = betterproto.string_field(1) + """address is the address of the validator.""" + + power: int = betterproto.int64_field(2) + """power defines the power of the validator.""" + + +class MsgStub(betterproto.ServiceStub): + async def create_validator( + self, + msg_create_validator: "MsgCreateValidator", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgCreateValidatorResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Msg/CreateValidator", + msg_create_validator, + MsgCreateValidatorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def edit_validator( + self, + msg_edit_validator: "MsgEditValidator", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgEditValidatorResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Msg/EditValidator", + msg_edit_validator, + MsgEditValidatorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegate( + self, + msg_delegate: "MsgDelegate", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgDelegateResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Msg/Delegate", + msg_delegate, + MsgDelegateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def begin_redelegate( + self, + msg_begin_redelegate: "MsgBeginRedelegate", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgBeginRedelegateResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Msg/BeginRedelegate", + msg_begin_redelegate, + MsgBeginRedelegateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def undelegate( + self, + msg_undelegate: "MsgUndelegate", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgUndelegateResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Msg/Undelegate", + msg_undelegate, + MsgUndelegateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def validators( + self, + query_validators_request: "QueryValidatorsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Validators", + query_validators_request, + QueryValidatorsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator( + self, + query_validator_request: "QueryValidatorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Validator", + query_validator_request, + QueryValidatorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator_delegations( + self, + query_validator_delegations_request: "QueryValidatorDelegationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorDelegationsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/ValidatorDelegations", + query_validator_delegations_request, + QueryValidatorDelegationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def validator_unbonding_delegations( + self, + query_validator_unbonding_delegations_request: "QueryValidatorUnbondingDelegationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryValidatorUnbondingDelegationsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations", + query_validator_unbonding_delegations_request, + QueryValidatorUnbondingDelegationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegation( + self, + query_delegation_request: "QueryDelegationRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegationResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Delegation", + query_delegation_request, + QueryDelegationResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def unbonding_delegation( + self, + query_unbonding_delegation_request: "QueryUnbondingDelegationRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUnbondingDelegationResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/UnbondingDelegation", + query_unbonding_delegation_request, + QueryUnbondingDelegationResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_delegations( + self, + query_delegator_delegations_request: "QueryDelegatorDelegationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorDelegationsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/DelegatorDelegations", + query_delegator_delegations_request, + QueryDelegatorDelegationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_unbonding_delegations( + self, + query_delegator_unbonding_delegations_request: "QueryDelegatorUnbondingDelegationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorUnbondingDelegationsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations", + query_delegator_unbonding_delegations_request, + QueryDelegatorUnbondingDelegationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def redelegations( + self, + query_redelegations_request: "QueryRedelegationsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryRedelegationsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Redelegations", + query_redelegations_request, + QueryRedelegationsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_validators( + self, + query_delegator_validators_request: "QueryDelegatorValidatorsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorValidatorsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/DelegatorValidators", + query_delegator_validators_request, + QueryDelegatorValidatorsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def delegator_validator( + self, + query_delegator_validator_request: "QueryDelegatorValidatorRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDelegatorValidatorResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/DelegatorValidator", + query_delegator_validator_request, + QueryDelegatorValidatorResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def historical_info( + self, + query_historical_info_request: "QueryHistoricalInfoRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryHistoricalInfoResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/HistoricalInfo", + query_historical_info_request, + QueryHistoricalInfoResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def pool( + self, + query_pool_request: "QueryPoolRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPoolResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Pool", + query_pool_request, + QueryPoolResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/cosmos.staking.v1beta1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def create_validator( + self, msg_create_validator: "MsgCreateValidator" + ) -> "MsgCreateValidatorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def edit_validator( + self, msg_edit_validator: "MsgEditValidator" + ) -> "MsgEditValidatorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegate(self, msg_delegate: "MsgDelegate") -> "MsgDelegateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def begin_redelegate( + self, msg_begin_redelegate: "MsgBeginRedelegate" + ) -> "MsgBeginRedelegateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def undelegate( + self, msg_undelegate: "MsgUndelegate" + ) -> "MsgUndelegateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_create_validator( + self, + stream: "grpclib.server.Stream[MsgCreateValidator, MsgCreateValidatorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.create_validator(request) + await stream.send_message(response) + + async def __rpc_edit_validator( + self, + stream: "grpclib.server.Stream[MsgEditValidator, MsgEditValidatorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.edit_validator(request) + await stream.send_message(response) + + async def __rpc_delegate( + self, stream: "grpclib.server.Stream[MsgDelegate, MsgDelegateResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.delegate(request) + await stream.send_message(response) + + async def __rpc_begin_redelegate( + self, + stream: "grpclib.server.Stream[MsgBeginRedelegate, MsgBeginRedelegateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.begin_redelegate(request) + await stream.send_message(response) + + async def __rpc_undelegate( + self, stream: "grpclib.server.Stream[MsgUndelegate, MsgUndelegateResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.undelegate(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.staking.v1beta1.Msg/CreateValidator": grpclib.const.Handler( + self.__rpc_create_validator, + grpclib.const.Cardinality.UNARY_UNARY, + MsgCreateValidator, + MsgCreateValidatorResponse, + ), + "/cosmos.staking.v1beta1.Msg/EditValidator": grpclib.const.Handler( + self.__rpc_edit_validator, + grpclib.const.Cardinality.UNARY_UNARY, + MsgEditValidator, + MsgEditValidatorResponse, + ), + "/cosmos.staking.v1beta1.Msg/Delegate": grpclib.const.Handler( + self.__rpc_delegate, + grpclib.const.Cardinality.UNARY_UNARY, + MsgDelegate, + MsgDelegateResponse, + ), + "/cosmos.staking.v1beta1.Msg/BeginRedelegate": grpclib.const.Handler( + self.__rpc_begin_redelegate, + grpclib.const.Cardinality.UNARY_UNARY, + MsgBeginRedelegate, + MsgBeginRedelegateResponse, + ), + "/cosmos.staking.v1beta1.Msg/Undelegate": grpclib.const.Handler( + self.__rpc_undelegate, + grpclib.const.Cardinality.UNARY_UNARY, + MsgUndelegate, + MsgUndelegateResponse, + ), + } + + +class QueryBase(ServiceBase): + async def validators( + self, query_validators_request: "QueryValidatorsRequest" + ) -> "QueryValidatorsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator( + self, query_validator_request: "QueryValidatorRequest" + ) -> "QueryValidatorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator_delegations( + self, query_validator_delegations_request: "QueryValidatorDelegationsRequest" + ) -> "QueryValidatorDelegationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def validator_unbonding_delegations( + self, + query_validator_unbonding_delegations_request: "QueryValidatorUnbondingDelegationsRequest", + ) -> "QueryValidatorUnbondingDelegationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegation( + self, query_delegation_request: "QueryDelegationRequest" + ) -> "QueryDelegationResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def unbonding_delegation( + self, query_unbonding_delegation_request: "QueryUnbondingDelegationRequest" + ) -> "QueryUnbondingDelegationResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_delegations( + self, query_delegator_delegations_request: "QueryDelegatorDelegationsRequest" + ) -> "QueryDelegatorDelegationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_unbonding_delegations( + self, + query_delegator_unbonding_delegations_request: "QueryDelegatorUnbondingDelegationsRequest", + ) -> "QueryDelegatorUnbondingDelegationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def redelegations( + self, query_redelegations_request: "QueryRedelegationsRequest" + ) -> "QueryRedelegationsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_validators( + self, query_delegator_validators_request: "QueryDelegatorValidatorsRequest" + ) -> "QueryDelegatorValidatorsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def delegator_validator( + self, query_delegator_validator_request: "QueryDelegatorValidatorRequest" + ) -> "QueryDelegatorValidatorResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def historical_info( + self, query_historical_info_request: "QueryHistoricalInfoRequest" + ) -> "QueryHistoricalInfoResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def pool(self, query_pool_request: "QueryPoolRequest") -> "QueryPoolResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_validators( + self, + stream: "grpclib.server.Stream[QueryValidatorsRequest, QueryValidatorsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validators(request) + await stream.send_message(response) + + async def __rpc_validator( + self, + stream: "grpclib.server.Stream[QueryValidatorRequest, QueryValidatorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator(request) + await stream.send_message(response) + + async def __rpc_validator_delegations( + self, + stream: "grpclib.server.Stream[QueryValidatorDelegationsRequest, QueryValidatorDelegationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator_delegations(request) + await stream.send_message(response) + + async def __rpc_validator_unbonding_delegations( + self, + stream: "grpclib.server.Stream[QueryValidatorUnbondingDelegationsRequest, QueryValidatorUnbondingDelegationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.validator_unbonding_delegations(request) + await stream.send_message(response) + + async def __rpc_delegation( + self, + stream: "grpclib.server.Stream[QueryDelegationRequest, QueryDelegationResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegation(request) + await stream.send_message(response) + + async def __rpc_unbonding_delegation( + self, + stream: "grpclib.server.Stream[QueryUnbondingDelegationRequest, QueryUnbondingDelegationResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.unbonding_delegation(request) + await stream.send_message(response) + + async def __rpc_delegator_delegations( + self, + stream: "grpclib.server.Stream[QueryDelegatorDelegationsRequest, QueryDelegatorDelegationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_delegations(request) + await stream.send_message(response) + + async def __rpc_delegator_unbonding_delegations( + self, + stream: "grpclib.server.Stream[QueryDelegatorUnbondingDelegationsRequest, QueryDelegatorUnbondingDelegationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_unbonding_delegations(request) + await stream.send_message(response) + + async def __rpc_redelegations( + self, + stream: "grpclib.server.Stream[QueryRedelegationsRequest, QueryRedelegationsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.redelegations(request) + await stream.send_message(response) + + async def __rpc_delegator_validators( + self, + stream: "grpclib.server.Stream[QueryDelegatorValidatorsRequest, QueryDelegatorValidatorsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_validators(request) + await stream.send_message(response) + + async def __rpc_delegator_validator( + self, + stream: "grpclib.server.Stream[QueryDelegatorValidatorRequest, QueryDelegatorValidatorResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.delegator_validator(request) + await stream.send_message(response) + + async def __rpc_historical_info( + self, + stream: "grpclib.server.Stream[QueryHistoricalInfoRequest, QueryHistoricalInfoResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.historical_info(request) + await stream.send_message(response) + + async def __rpc_pool( + self, stream: "grpclib.server.Stream[QueryPoolRequest, QueryPoolResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.pool(request) + await stream.send_message(response) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.staking.v1beta1.Query/Validators": grpclib.const.Handler( + self.__rpc_validators, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorsRequest, + QueryValidatorsResponse, + ), + "/cosmos.staking.v1beta1.Query/Validator": grpclib.const.Handler( + self.__rpc_validator, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorRequest, + QueryValidatorResponse, + ), + "/cosmos.staking.v1beta1.Query/ValidatorDelegations": grpclib.const.Handler( + self.__rpc_validator_delegations, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorDelegationsRequest, + QueryValidatorDelegationsResponse, + ), + "/cosmos.staking.v1beta1.Query/ValidatorUnbondingDelegations": grpclib.const.Handler( + self.__rpc_validator_unbonding_delegations, + grpclib.const.Cardinality.UNARY_UNARY, + QueryValidatorUnbondingDelegationsRequest, + QueryValidatorUnbondingDelegationsResponse, + ), + "/cosmos.staking.v1beta1.Query/Delegation": grpclib.const.Handler( + self.__rpc_delegation, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegationRequest, + QueryDelegationResponse, + ), + "/cosmos.staking.v1beta1.Query/UnbondingDelegation": grpclib.const.Handler( + self.__rpc_unbonding_delegation, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUnbondingDelegationRequest, + QueryUnbondingDelegationResponse, + ), + "/cosmos.staking.v1beta1.Query/DelegatorDelegations": grpclib.const.Handler( + self.__rpc_delegator_delegations, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorDelegationsRequest, + QueryDelegatorDelegationsResponse, + ), + "/cosmos.staking.v1beta1.Query/DelegatorUnbondingDelegations": grpclib.const.Handler( + self.__rpc_delegator_unbonding_delegations, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorUnbondingDelegationsRequest, + QueryDelegatorUnbondingDelegationsResponse, + ), + "/cosmos.staking.v1beta1.Query/Redelegations": grpclib.const.Handler( + self.__rpc_redelegations, + grpclib.const.Cardinality.UNARY_UNARY, + QueryRedelegationsRequest, + QueryRedelegationsResponse, + ), + "/cosmos.staking.v1beta1.Query/DelegatorValidators": grpclib.const.Handler( + self.__rpc_delegator_validators, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorValidatorsRequest, + QueryDelegatorValidatorsResponse, + ), + "/cosmos.staking.v1beta1.Query/DelegatorValidator": grpclib.const.Handler( + self.__rpc_delegator_validator, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDelegatorValidatorRequest, + QueryDelegatorValidatorResponse, + ), + "/cosmos.staking.v1beta1.Query/HistoricalInfo": grpclib.const.Handler( + self.__rpc_historical_info, + grpclib.const.Cardinality.UNARY_UNARY, + QueryHistoricalInfoRequest, + QueryHistoricalInfoResponse, + ), + "/cosmos.staking.v1beta1.Query/Pool": grpclib.const.Handler( + self.__rpc_pool, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPoolRequest, + QueryPoolResponse, + ), + "/cosmos.staking.v1beta1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/tx/__init__.py b/secret_sdk/protobuf/cosmos/tx/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/tx/signing/__init__.py b/secret_sdk/protobuf/cosmos/tx/signing/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/tx/signing/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/tx/signing/v1beta1/__init__.py new file mode 100644 index 0000000..bacac8b --- /dev/null +++ b/secret_sdk/protobuf/cosmos/tx/signing/v1beta1/__init__.py @@ -0,0 +1,114 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/tx/signing/v1beta1/signing.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + +from ....crypto.multisig import v1beta1 as ___crypto_multisig_v1_beta1__ + + +class SignMode(betterproto.Enum): + """SignMode represents a signing mode with its own security guarantees.""" + + SIGN_MODE_UNSPECIFIED = 0 + """ + SIGN_MODE_UNSPECIFIED specifies an unknown signing mode and will be + rejected + """ + + SIGN_MODE_DIRECT = 1 + """ + SIGN_MODE_DIRECT specifies a signing mode which uses SignDoc and is + verified with raw bytes from Tx + """ + + SIGN_MODE_TEXTUAL = 2 + """ + SIGN_MODE_TEXTUAL is a future signing mode that will verify some human- + readable textual representation on top of the binary representation from + SIGN_MODE_DIRECT + """ + + SIGN_MODE_LEGACY_AMINO_JSON = 127 + """ + SIGN_MODE_LEGACY_AMINO_JSON is a backwards compatibility mode which uses + Amino JSON and will be removed in the future + """ + + SIGN_MODE_EIP_191 = 191 + """ + SIGN_MODE_EIP_191 specifies the sign mode for EIP 191 signing on the Cosmos + SDK. Ref: https://eips.ethereum.org/EIPS/eip-191 Currently, + SIGN_MODE_EIP_191 is registered as a SignMode enum variant, but is not + implemented on the SDK by default. To enable EIP-191, you need to pass a + custom `TxConfig` that has an implementation of `SignModeHandler` for + EIP-191. The SDK may decide to fully support EIP-191 in the future. Since: + cosmos-sdk 0.45.2 + """ + + +@dataclass(eq=False, repr=False) +class SignatureDescriptors(betterproto.Message): + """SignatureDescriptors wraps multiple SignatureDescriptor's.""" + + signatures: List["SignatureDescriptor"] = betterproto.message_field(1) + """signatures are the signature descriptors""" + + +@dataclass(eq=False, repr=False) +class SignatureDescriptor(betterproto.Message): + """ + SignatureDescriptor is a convenience type which represents the full data + for a signature including the public key of the signer, signing modes and + the signature itself. It is primarily used for coordinating signatures + between clients. + """ + + public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """public_key is the public key of the signer""" + + data: "SignatureDescriptorData" = betterproto.message_field(2) + sequence: int = betterproto.uint64_field(3) + """ + sequence is the sequence of the account, which describes the number of + committed transactions signed by a given address. It is used to prevent + replay attacks. + """ + + +@dataclass(eq=False, repr=False) +class SignatureDescriptorData(betterproto.Message): + """Data represents signature data""" + + single: "SignatureDescriptorDataSingle" = betterproto.message_field(1, group="sum") + """single represents a single signer""" + + multi: "SignatureDescriptorDataMulti" = betterproto.message_field(2, group="sum") + """multi represents a multisig signer""" + + +@dataclass(eq=False, repr=False) +class SignatureDescriptorDataSingle(betterproto.Message): + """Single is the signature data for a single signer""" + + mode: "SignMode" = betterproto.enum_field(1) + """mode is the signing mode of the single signer""" + + signature: bytes = betterproto.bytes_field(2) + """signature is the raw signature bytes""" + + +@dataclass(eq=False, repr=False) +class SignatureDescriptorDataMulti(betterproto.Message): + """Multi is the signature data for a multisig public key""" + + bitarray: "___crypto_multisig_v1_beta1__.CompactBitArray" = ( + betterproto.message_field(1) + ) + """bitarray specifies which keys within the multisig are signing""" + + signatures: List["SignatureDescriptorData"] = betterproto.message_field(2) + """signatures is the signatures of the multi-signature""" diff --git a/secret_sdk/protobuf/cosmos/tx/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/tx/v1beta1/__init__.py new file mode 100644 index 0000000..ce5a07d --- /dev/null +++ b/secret_sdk/protobuf/cosmos/tx/v1beta1/__init__.py @@ -0,0 +1,648 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/tx/v1beta1/service.proto, cosmos/tx/v1beta1/tx.proto +# plugin: python-betterproto +import warnings +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ....tendermint import types as ___tendermint_types__ +from ...base import v1beta1 as __base_v1_beta1__ +from ...base.abci import v1beta1 as __base_abci_v1_beta1__ +from ...base.query import v1beta1 as __base_query_v1_beta1__ +from ...crypto.multisig import v1beta1 as __crypto_multisig_v1_beta1__ +from ..signing import v1beta1 as _signing_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class OrderBy(betterproto.Enum): + """OrderBy defines the sorting order""" + + ORDER_BY_UNSPECIFIED = 0 + """ + ORDER_BY_UNSPECIFIED specifies an unknown sorting order. OrderBy defaults + to ASC in this case. + """ + + ORDER_BY_ASC = 1 + """ORDER_BY_ASC defines ascending order""" + + ORDER_BY_DESC = 2 + """ORDER_BY_DESC defines descending order""" + + +class BroadcastMode(betterproto.Enum): + """ + BroadcastMode specifies the broadcast mode for the TxService.Broadcast RPC + method. + """ + + BROADCAST_MODE_UNSPECIFIED = 0 + """zero-value for mode ordering""" + + BROADCAST_MODE_BLOCK = 1 + """ + BROADCAST_MODE_BLOCK defines a tx broadcasting mode where the client waits + for the tx to be committed in a block. + """ + + BROADCAST_MODE_SYNC = 2 + """ + BROADCAST_MODE_SYNC defines a tx broadcasting mode where the client waits + for a CheckTx execution response only. + """ + + BROADCAST_MODE_ASYNC = 3 + """ + BROADCAST_MODE_ASYNC defines a tx broadcasting mode where the client + returns immediately. + """ + + +@dataclass(eq=False, repr=False) +class Tx(betterproto.Message): + """Tx is the standard type used for broadcasting transactions.""" + + body: "TxBody" = betterproto.message_field(1) + """body is the processable content of the transaction""" + + auth_info: "AuthInfo" = betterproto.message_field(2) + """ + auth_info is the authorization related content of the transaction, + specifically signers, signer modes and fee + """ + + signatures: List[bytes] = betterproto.bytes_field(3) + """ + signatures is a list of signatures that matches the length and order of + AuthInfo's signer_infos to allow connecting signature meta information like + public key and signing mode by position. + """ + + +@dataclass(eq=False, repr=False) +class TxRaw(betterproto.Message): + """ + TxRaw is a variant of Tx that pins the signer's exact binary representation + of body and auth_info. This is used for signing, broadcasting and + verification. The binary `serialize(tx: TxRaw)` is stored in Tendermint and + the hash `sha256(serialize(tx: TxRaw))` becomes the "txhash", commonly used + as the transaction ID. + """ + + body_bytes: bytes = betterproto.bytes_field(1) + """ + body_bytes is a protobuf serialization of a TxBody that matches the + representation in SignDoc. + """ + + auth_info_bytes: bytes = betterproto.bytes_field(2) + """ + auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + representation in SignDoc. + """ + + signatures: List[bytes] = betterproto.bytes_field(3) + """ + signatures is a list of signatures that matches the length and order of + AuthInfo's signer_infos to allow connecting signature meta information like + public key and signing mode by position. + """ + + +@dataclass(eq=False, repr=False) +class SignDoc(betterproto.Message): + """ + SignDoc is the type used for generating sign bytes for SIGN_MODE_DIRECT. + """ + + body_bytes: bytes = betterproto.bytes_field(1) + """ + body_bytes is protobuf serialization of a TxBody that matches the + representation in TxRaw. + """ + + auth_info_bytes: bytes = betterproto.bytes_field(2) + """ + auth_info_bytes is a protobuf serialization of an AuthInfo that matches the + representation in TxRaw. + """ + + chain_id: str = betterproto.string_field(3) + """ + chain_id is the unique identifier of the chain this transaction targets. It + prevents signed transactions from being used on another chain by an + attacker + """ + + account_number: int = betterproto.uint64_field(4) + """account_number is the account number of the account in state""" + + +@dataclass(eq=False, repr=False) +class TxBody(betterproto.Message): + """TxBody is the body of a transaction that all signers sign over.""" + + messages: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(1) + """ + messages is a list of messages to be executed. The required signers of + those messages define the number and order of elements in AuthInfo's + signer_infos and Tx's signatures. Each required signer address is added to + the list only the first time it occurs. By convention, the first required + signer (usually from the first message) is referred to as the primary + signer and pays the fee for the whole transaction. + """ + + memo: str = betterproto.string_field(2) + """ + memo is any arbitrary note/comment to be added to the transaction. WARNING: + in clients, any publicly exposed text should not be called memo, but should + be called `note` instead (see https://github.com/cosmos/cosmos- + sdk/issues/9122). + """ + + timeout_height: int = betterproto.uint64_field(3) + """ + timeout is the block height after which this transaction will not be + processed by the chain + """ + + extension_options: List[ + "betterproto_lib_google_protobuf.Any" + ] = betterproto.message_field(1023) + """ + extension_options are arbitrary options that can be added by chains when + the default options are not sufficient. If any of these are present and + can't be handled, the transaction will be rejected + """ + + non_critical_extension_options: List[ + "betterproto_lib_google_protobuf.Any" + ] = betterproto.message_field(2047) + """ + extension_options are arbitrary options that can be added by chains when + the default options are not sufficient. If any of these are present and + can't be handled, they will be ignored + """ + + +@dataclass(eq=False, repr=False) +class AuthInfo(betterproto.Message): + """ + AuthInfo describes the fee and signer modes that are used to sign a + transaction. + """ + + signer_infos: List["SignerInfo"] = betterproto.message_field(1) + """ + signer_infos defines the signing modes for the required signers. The number + and order of elements must match the required signers from TxBody's + messages. The first element is the primary signer and the one which pays + the fee. + """ + + fee: "Fee" = betterproto.message_field(2) + """ + Fee is the fee and gas limit for the transaction. The first signer is the + primary signer and the one which pays the fee. The fee can be calculated + based on the cost of evaluating the body and doing signature verification + of the signers. This can be estimated via simulation. + """ + + +@dataclass(eq=False, repr=False) +class SignerInfo(betterproto.Message): + """ + SignerInfo describes the public key and signing mode of a single top-level + signer. + """ + + public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """ + public_key is the public key of the signer. It is optional for accounts + that already exist in state. If unset, the verifier can use the required \ + signer address for this position and lookup the public key. + """ + + mode_info: "ModeInfo" = betterproto.message_field(2) + """ + mode_info describes the signing mode of the signer and is a nested + structure to support nested multisig pubkey's + """ + + sequence: int = betterproto.uint64_field(3) + """ + sequence is the sequence of the account, which describes the number of + committed transactions signed by a given address. It is used to prevent + replay attacks. + """ + + +@dataclass(eq=False, repr=False) +class ModeInfo(betterproto.Message): + """ + ModeInfo describes the signing mode of a single or nested multisig signer. + """ + + single: "ModeInfoSingle" = betterproto.message_field(1, group="sum") + """single represents a single signer""" + + multi: "ModeInfoMulti" = betterproto.message_field(2, group="sum") + """multi represents a nested multisig signer""" + + +@dataclass(eq=False, repr=False) +class ModeInfoSingle(betterproto.Message): + """ + Single is the mode info for a single signer. It is structured as a message + to allow for additional fields such as locale for SIGN_MODE_TEXTUAL in the + future + """ + + mode: "_signing_v1_beta1__.SignMode" = betterproto.enum_field(1) + """mode is the signing mode of the single signer""" + + +@dataclass(eq=False, repr=False) +class ModeInfoMulti(betterproto.Message): + """Multi is the mode info for a multisig public key""" + + bitarray: "__crypto_multisig_v1_beta1__.CompactBitArray" = ( + betterproto.message_field(1) + ) + """bitarray specifies which keys within the multisig are signing""" + + mode_infos: List["ModeInfo"] = betterproto.message_field(2) + """ + mode_infos is the corresponding modes of the signers of the multisig which + could include nested multisig public keys + """ + + +@dataclass(eq=False, repr=False) +class Fee(betterproto.Message): + """ + Fee includes the amount of coins paid in fees and the maximum gas to be + used by the transaction. The ratio yields an effective "gasprice", which + must be above some miminum to be accepted into the mempool. + """ + + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(1) + """amount is the amount of coins to be paid as a fee""" + + gas_limit: int = betterproto.uint64_field(2) + """ + gas_limit is the maximum gas that can be used in transaction processing + before an out of gas error occurs + """ + + payer: str = betterproto.string_field(3) + """ + if unset, the first signer is responsible for paying the fees. If set, the + specified account must pay the fees. the payer must be a tx signer (and + thus have signed this field in AuthInfo). setting this field does *not* + change the ordering of required signers for the transaction. + """ + + granter: str = betterproto.string_field(4) + """ + if set, the fee payer (either the first signer or the value of the payer + field) requests that a fee grant be used to pay fees instead of the fee + payer's own balance. If an appropriate fee grant does not exist or the + chain does not support fee grants, this will fail + """ + + +@dataclass(eq=False, repr=False) +class GetTxsEventRequest(betterproto.Message): + """ + GetTxsEventRequest is the request type for the Service.TxsByEvents RPC + method. + """ + + events: List[str] = betterproto.string_field(1) + """events is the list of transaction event type.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines a pagination for the request.""" + + order_by: "OrderBy" = betterproto.enum_field(3) + + +@dataclass(eq=False, repr=False) +class GetTxsEventResponse(betterproto.Message): + """ + GetTxsEventResponse is the response type for the Service.TxsByEvents RPC + method. + """ + + txs: List["Tx"] = betterproto.message_field(1) + """txs is the list of queried transactions.""" + + tx_responses: List["__base_abci_v1_beta1__.TxResponse"] = betterproto.message_field( + 2 + ) + """tx_responses is the list of queried TxResponses.""" + + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(3) + """pagination defines a pagination for the response.""" + + +@dataclass(eq=False, repr=False) +class BroadcastTxRequest(betterproto.Message): + """ + BroadcastTxRequest is the request type for the Service.BroadcastTxRequest + RPC method. + """ + + tx_bytes: bytes = betterproto.bytes_field(1) + """tx_bytes is the raw transaction.""" + + mode: "BroadcastMode" = betterproto.enum_field(2) + + +@dataclass(eq=False, repr=False) +class BroadcastTxResponse(betterproto.Message): + """ + BroadcastTxResponse is the response type for the Service.BroadcastTx + method. + """ + + tx_response: "__base_abci_v1_beta1__.TxResponse" = betterproto.message_field(1) + """tx_response is the queried TxResponses.""" + + +@dataclass(eq=False, repr=False) +class SimulateRequest(betterproto.Message): + """ + SimulateRequest is the request type for the Service.Simulate RPC method. + """ + + tx: "Tx" = betterproto.message_field(1) + """ + tx is the transaction to simulate. Deprecated. Send raw tx bytes instead. + """ + + tx_bytes: bytes = betterproto.bytes_field(2) + """tx_bytes is the raw transaction. Since: cosmos-sdk 0.43""" + + def __post_init__(self) -> None: + super().__post_init__() + if self.is_set("tx"): + warnings.warn("SimulateRequest.tx is deprecated", DeprecationWarning) + + +@dataclass(eq=False, repr=False) +class SimulateResponse(betterproto.Message): + """ + SimulateResponse is the response type for the Service.SimulateRPC method. + """ + + gas_info: "__base_abci_v1_beta1__.GasInfo" = betterproto.message_field(1) + """gas_info is the information about gas used in the simulation.""" + + result: "__base_abci_v1_beta1__.Result" = betterproto.message_field(2) + """result is the result of the simulation.""" + + +@dataclass(eq=False, repr=False) +class GetTxRequest(betterproto.Message): + """GetTxRequest is the request type for the Service.GetTx RPC method.""" + + hash: str = betterproto.string_field(1) + """hash is the tx hash to query, encoded as a hex string.""" + + +@dataclass(eq=False, repr=False) +class GetTxResponse(betterproto.Message): + """GetTxResponse is the response type for the Service.GetTx method.""" + + tx: "Tx" = betterproto.message_field(1) + """tx is the queried transaction.""" + + tx_response: "__base_abci_v1_beta1__.TxResponse" = betterproto.message_field(2) + """tx_response is the queried TxResponses.""" + + +@dataclass(eq=False, repr=False) +class GetBlockWithTxsRequest(betterproto.Message): + """ + GetBlockWithTxsRequest is the request type for the Service.GetBlockWithTxs + RPC method. Since: cosmos-sdk 0.45.2 + """ + + height: int = betterproto.int64_field(1) + """height is the height of the block to query.""" + + pagination: "__base_query_v1_beta1__.PageRequest" = betterproto.message_field(2) + """pagination defines a pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class GetBlockWithTxsResponse(betterproto.Message): + """ + GetBlockWithTxsResponse is the response type for the + Service.GetBlockWithTxs method. Since: cosmos-sdk 0.45.2 + """ + + txs: List["Tx"] = betterproto.message_field(1) + """txs are the transactions in the block.""" + + block_id: "___tendermint_types__.BlockId" = betterproto.message_field(2) + block: "___tendermint_types__.Block" = betterproto.message_field(3) + pagination: "__base_query_v1_beta1__.PageResponse" = betterproto.message_field(4) + """pagination defines a pagination for the response.""" + + +class ServiceStub(betterproto.ServiceStub): + async def simulate( + self, + simulate_request: "SimulateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "SimulateResponse": + return await self._unary_unary( + "/cosmos.tx.v1beta1.Service/Simulate", + simulate_request, + SimulateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_tx( + self, + get_tx_request: "GetTxRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetTxResponse": + return await self._unary_unary( + "/cosmos.tx.v1beta1.Service/GetTx", + get_tx_request, + GetTxResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def broadcast_tx( + self, + broadcast_tx_request: "BroadcastTxRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "BroadcastTxResponse": + return await self._unary_unary( + "/cosmos.tx.v1beta1.Service/BroadcastTx", + broadcast_tx_request, + BroadcastTxResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_txs_event( + self, + get_txs_event_request: "GetTxsEventRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetTxsEventResponse": + return await self._unary_unary( + "/cosmos.tx.v1beta1.Service/GetTxsEvent", + get_txs_event_request, + GetTxsEventResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def get_block_with_txs( + self, + get_block_with_txs_request: "GetBlockWithTxsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "GetBlockWithTxsResponse": + return await self._unary_unary( + "/cosmos.tx.v1beta1.Service/GetBlockWithTxs", + get_block_with_txs_request, + GetBlockWithTxsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class ServiceBase(ServiceBase): + async def simulate(self, simulate_request: "SimulateRequest") -> "SimulateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_tx(self, get_tx_request: "GetTxRequest") -> "GetTxResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def broadcast_tx( + self, broadcast_tx_request: "BroadcastTxRequest" + ) -> "BroadcastTxResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_txs_event( + self, get_txs_event_request: "GetTxsEventRequest" + ) -> "GetTxsEventResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def get_block_with_txs( + self, get_block_with_txs_request: "GetBlockWithTxsRequest" + ) -> "GetBlockWithTxsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_simulate( + self, stream: "grpclib.server.Stream[SimulateRequest, SimulateResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.simulate(request) + await stream.send_message(response) + + async def __rpc_get_tx( + self, stream: "grpclib.server.Stream[GetTxRequest, GetTxResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.get_tx(request) + await stream.send_message(response) + + async def __rpc_broadcast_tx( + self, stream: "grpclib.server.Stream[BroadcastTxRequest, BroadcastTxResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.broadcast_tx(request) + await stream.send_message(response) + + async def __rpc_get_txs_event( + self, stream: "grpclib.server.Stream[GetTxsEventRequest, GetTxsEventResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.get_txs_event(request) + await stream.send_message(response) + + async def __rpc_get_block_with_txs( + self, + stream: "grpclib.server.Stream[GetBlockWithTxsRequest, GetBlockWithTxsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.get_block_with_txs(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.tx.v1beta1.Service/Simulate": grpclib.const.Handler( + self.__rpc_simulate, + grpclib.const.Cardinality.UNARY_UNARY, + SimulateRequest, + SimulateResponse, + ), + "/cosmos.tx.v1beta1.Service/GetTx": grpclib.const.Handler( + self.__rpc_get_tx, + grpclib.const.Cardinality.UNARY_UNARY, + GetTxRequest, + GetTxResponse, + ), + "/cosmos.tx.v1beta1.Service/BroadcastTx": grpclib.const.Handler( + self.__rpc_broadcast_tx, + grpclib.const.Cardinality.UNARY_UNARY, + BroadcastTxRequest, + BroadcastTxResponse, + ), + "/cosmos.tx.v1beta1.Service/GetTxsEvent": grpclib.const.Handler( + self.__rpc_get_txs_event, + grpclib.const.Cardinality.UNARY_UNARY, + GetTxsEventRequest, + GetTxsEventResponse, + ), + "/cosmos.tx.v1beta1.Service/GetBlockWithTxs": grpclib.const.Handler( + self.__rpc_get_block_with_txs, + grpclib.const.Cardinality.UNARY_UNARY, + GetBlockWithTxsRequest, + GetBlockWithTxsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/upgrade/__init__.py b/secret_sdk/protobuf/cosmos/upgrade/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/upgrade/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/upgrade/v1beta1/__init__.py new file mode 100644 index 0000000..b2eef62 --- /dev/null +++ b/secret_sdk/protobuf/cosmos/upgrade/v1beta1/__init__.py @@ -0,0 +1,377 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/upgrade/v1beta1/query.proto, cosmos/upgrade/v1beta1/upgrade.proto +# plugin: python-betterproto +import warnings +from dataclasses import dataclass +from datetime import datetime +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class Plan(betterproto.Message): + """ + Plan specifies information about a planned upgrade and when it should + occur. + """ + + name: str = betterproto.string_field(1) + """ + Sets the name for the upgrade. This name will be used by the upgraded + version of the software to apply any special "on-upgrade" commands during + the first BeginBlock method after the upgrade is applied. It is also used + to detect whether a software version can handle a given upgrade. If no + upgrade handler with this name has been set in the software, it will be + assumed that the software is out-of-date when the upgrade Time or Height is + reached and the software will exit. + """ + + time: datetime = betterproto.message_field(2) + """ + Deprecated: Time based upgrades have been deprecated. Time based upgrade + logic has been removed from the SDK. If this field is not empty, an error + will be thrown. + """ + + height: int = betterproto.int64_field(3) + """ + The height at which the upgrade must be performed. Only used if Time is not + set. + """ + + info: str = betterproto.string_field(4) + """ + Any application specific upgrade info to be included on-chain such as a git + commit that validators could automatically upgrade to + """ + + upgraded_client_state: "betterproto_lib_google_protobuf.Any" = ( + betterproto.message_field(5) + ) + """ + Deprecated: UpgradedClientState field has been deprecated. IBC upgrade + logic has been moved to the IBC module in the sub module 02-client. If this + field is not empty, an error will be thrown. + """ + + def __post_init__(self) -> None: + super().__post_init__() + if self.is_set("time"): + warnings.warn("Plan.time is deprecated", DeprecationWarning) + if self.is_set("upgraded_client_state"): + warnings.warn( + "Plan.upgraded_client_state is deprecated", DeprecationWarning + ) + + +@dataclass(eq=False, repr=False) +class SoftwareUpgradeProposal(betterproto.Message): + """ + SoftwareUpgradeProposal is a gov Content type for initiating a software + upgrade. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + plan: "Plan" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class CancelSoftwareUpgradeProposal(betterproto.Message): + """ + CancelSoftwareUpgradeProposal is a gov Content type for cancelling a + software upgrade. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class ModuleVersion(betterproto.Message): + """ + ModuleVersion specifies a module and its consensus version. Since: cosmos- + sdk 0.43 + """ + + name: str = betterproto.string_field(1) + """name of the app module""" + + version: int = betterproto.uint64_field(2) + """consensus version of the app module""" + + +@dataclass(eq=False, repr=False) +class QueryCurrentPlanRequest(betterproto.Message): + """ + QueryCurrentPlanRequest is the request type for the Query/CurrentPlan RPC + method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryCurrentPlanResponse(betterproto.Message): + """ + QueryCurrentPlanResponse is the response type for the Query/CurrentPlan RPC + method. + """ + + plan: "Plan" = betterproto.message_field(1) + """plan is the current upgrade plan.""" + + +@dataclass(eq=False, repr=False) +class QueryAppliedPlanRequest(betterproto.Message): + """ + QueryCurrentPlanRequest is the request type for the Query/AppliedPlan RPC + method. + """ + + name: str = betterproto.string_field(1) + """name is the name of the applied plan to query for.""" + + +@dataclass(eq=False, repr=False) +class QueryAppliedPlanResponse(betterproto.Message): + """ + QueryAppliedPlanResponse is the response type for the Query/AppliedPlan RPC + method. + """ + + height: int = betterproto.int64_field(1) + """height is the block height at which the plan was applied.""" + + +@dataclass(eq=False, repr=False) +class QueryUpgradedConsensusStateRequest(betterproto.Message): + """ + QueryUpgradedConsensusStateRequest is the request type for the + Query/UpgradedConsensusState RPC method. + """ + + last_height: int = betterproto.int64_field(1) + """ + last height of the current chain must be sent in request as this is the + height under which next consensus state is stored + """ + + def __post_init__(self) -> None: + warnings.warn( + "QueryUpgradedConsensusStateRequest is deprecated", DeprecationWarning + ) + super().__post_init__() + + +@dataclass(eq=False, repr=False) +class QueryUpgradedConsensusStateResponse(betterproto.Message): + """ + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState RPC method. + """ + + upgraded_consensus_state: bytes = betterproto.bytes_field(2) + """Since: cosmos-sdk 0.43""" + + def __post_init__(self) -> None: + warnings.warn( + "QueryUpgradedConsensusStateResponse is deprecated", DeprecationWarning + ) + super().__post_init__() + + +@dataclass(eq=False, repr=False) +class QueryModuleVersionsRequest(betterproto.Message): + """ + QueryModuleVersionsRequest is the request type for the Query/ModuleVersions + RPC method. Since: cosmos-sdk 0.43 + """ + + module_name: str = betterproto.string_field(1) + """ + module_name is a field to query a specific module consensus version from + state. Leaving this empty will fetch the full list of module versions from + state + """ + + +@dataclass(eq=False, repr=False) +class QueryModuleVersionsResponse(betterproto.Message): + """ + QueryModuleVersionsResponse is the response type for the + Query/ModuleVersions RPC method. Since: cosmos-sdk 0.43 + """ + + module_versions: List["ModuleVersion"] = betterproto.message_field(1) + """ + module_versions is a list of module names with their consensus versions. + """ + + +class QueryStub(betterproto.ServiceStub): + async def current_plan( + self, + query_current_plan_request: "QueryCurrentPlanRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCurrentPlanResponse": + return await self._unary_unary( + "/cosmos.upgrade.v1beta1.Query/CurrentPlan", + query_current_plan_request, + QueryCurrentPlanResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def applied_plan( + self, + query_applied_plan_request: "QueryAppliedPlanRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryAppliedPlanResponse": + return await self._unary_unary( + "/cosmos.upgrade.v1beta1.Query/AppliedPlan", + query_applied_plan_request, + QueryAppliedPlanResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def upgraded_consensus_state( + self, + query_upgraded_consensus_state_request: "QueryUpgradedConsensusStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUpgradedConsensusStateResponse": + return await self._unary_unary( + "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState", + query_upgraded_consensus_state_request, + QueryUpgradedConsensusStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def module_versions( + self, + query_module_versions_request: "QueryModuleVersionsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryModuleVersionsResponse": + return await self._unary_unary( + "/cosmos.upgrade.v1beta1.Query/ModuleVersions", + query_module_versions_request, + QueryModuleVersionsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def current_plan( + self, query_current_plan_request: "QueryCurrentPlanRequest" + ) -> "QueryCurrentPlanResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def applied_plan( + self, query_applied_plan_request: "QueryAppliedPlanRequest" + ) -> "QueryAppliedPlanResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def upgraded_consensus_state( + self, + query_upgraded_consensus_state_request: "QueryUpgradedConsensusStateRequest", + ) -> "QueryUpgradedConsensusStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def module_versions( + self, query_module_versions_request: "QueryModuleVersionsRequest" + ) -> "QueryModuleVersionsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_current_plan( + self, + stream: "grpclib.server.Stream[QueryCurrentPlanRequest, QueryCurrentPlanResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.current_plan(request) + await stream.send_message(response) + + async def __rpc_applied_plan( + self, + stream: "grpclib.server.Stream[QueryAppliedPlanRequest, QueryAppliedPlanResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.applied_plan(request) + await stream.send_message(response) + + async def __rpc_upgraded_consensus_state( + self, + stream: "grpclib.server.Stream[QueryUpgradedConsensusStateRequest, QueryUpgradedConsensusStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.upgraded_consensus_state(request) + await stream.send_message(response) + + async def __rpc_module_versions( + self, + stream: "grpclib.server.Stream[QueryModuleVersionsRequest, QueryModuleVersionsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.module_versions(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.upgrade.v1beta1.Query/CurrentPlan": grpclib.const.Handler( + self.__rpc_current_plan, + grpclib.const.Cardinality.UNARY_UNARY, + QueryCurrentPlanRequest, + QueryCurrentPlanResponse, + ), + "/cosmos.upgrade.v1beta1.Query/AppliedPlan": grpclib.const.Handler( + self.__rpc_applied_plan, + grpclib.const.Cardinality.UNARY_UNARY, + QueryAppliedPlanRequest, + QueryAppliedPlanResponse, + ), + "/cosmos.upgrade.v1beta1.Query/UpgradedConsensusState": grpclib.const.Handler( + self.__rpc_upgraded_consensus_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUpgradedConsensusStateRequest, + QueryUpgradedConsensusStateResponse, + ), + "/cosmos.upgrade.v1beta1.Query/ModuleVersions": grpclib.const.Handler( + self.__rpc_module_versions, + grpclib.const.Cardinality.UNARY_UNARY, + QueryModuleVersionsRequest, + QueryModuleVersionsResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos/vesting/__init__.py b/secret_sdk/protobuf/cosmos/vesting/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/cosmos/vesting/v1beta1/__init__.py b/secret_sdk/protobuf/cosmos/vesting/v1beta1/__init__.py new file mode 100644 index 0000000..938141a --- /dev/null +++ b/secret_sdk/protobuf/cosmos/vesting/v1beta1/__init__.py @@ -0,0 +1,159 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos/vesting/v1beta1/tx.proto, cosmos/vesting/v1beta1/vesting.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ...auth import v1beta1 as __auth_v1_beta1__ +from ...base import v1beta1 as __base_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgCreateVestingAccount(betterproto.Message): + """ + MsgCreateVestingAccount defines a message that enables creating a vesting + account. + """ + + from_address: str = betterproto.string_field(1) + to_address: str = betterproto.string_field(2) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + end_time: int = betterproto.int64_field(4) + delayed: bool = betterproto.bool_field(5) + + +@dataclass(eq=False, repr=False) +class MsgCreateVestingAccountResponse(betterproto.Message): + """ + MsgCreateVestingAccountResponse defines the Msg/CreateVestingAccount + response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class BaseVestingAccount(betterproto.Message): + """ + BaseVestingAccount implements the VestingAccount interface. It contains all + the necessary fields needed for any vesting account implementation. + """ + + base_account: "__auth_v1_beta1__.BaseAccount" = betterproto.message_field(1) + original_vesting: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + delegated_free: List["__base_v1_beta1__.Coin"] = betterproto.message_field(3) + delegated_vesting: List["__base_v1_beta1__.Coin"] = betterproto.message_field(4) + end_time: int = betterproto.int64_field(5) + + +@dataclass(eq=False, repr=False) +class ContinuousVestingAccount(betterproto.Message): + """ + ContinuousVestingAccount implements the VestingAccount interface. It + continuously vests by unlocking coins linearly with respect to time. + """ + + base_vesting_account: "BaseVestingAccount" = betterproto.message_field(1) + start_time: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class DelayedVestingAccount(betterproto.Message): + """ + DelayedVestingAccount implements the VestingAccount interface. It vests all + coins after a specific time, but non prior. In other words, it keeps them + locked until a specified time. + """ + + base_vesting_account: "BaseVestingAccount" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Period(betterproto.Message): + """Period defines a length of time and amount of coins that will vest.""" + + length: int = betterproto.int64_field(1) + amount: List["__base_v1_beta1__.Coin"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class PeriodicVestingAccount(betterproto.Message): + """ + PeriodicVestingAccount implements the VestingAccount interface. It + periodically vests by unlocking coins during each specified period. + """ + + base_vesting_account: "BaseVestingAccount" = betterproto.message_field(1) + start_time: int = betterproto.int64_field(2) + vesting_periods: List["Period"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class PermanentLockedAccount(betterproto.Message): + """ + PermanentLockedAccount implements the VestingAccount interface. It does not + ever release coins, locking them indefinitely. Coins in this account can + still be used for delegating and for governance votes even while locked. + Since: cosmos-sdk 0.43 + """ + + base_vesting_account: "BaseVestingAccount" = betterproto.message_field(1) + + +class MsgStub(betterproto.ServiceStub): + async def create_vesting_account( + self, + msg_create_vesting_account: "MsgCreateVestingAccount", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgCreateVestingAccountResponse": + return await self._unary_unary( + "/cosmos.vesting.v1beta1.Msg/CreateVestingAccount", + msg_create_vesting_account, + MsgCreateVestingAccountResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def create_vesting_account( + self, msg_create_vesting_account: "MsgCreateVestingAccount" + ) -> "MsgCreateVestingAccountResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_create_vesting_account( + self, + stream: "grpclib.server.Stream[MsgCreateVestingAccount, MsgCreateVestingAccountResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.create_vesting_account(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/cosmos.vesting.v1beta1.Msg/CreateVestingAccount": grpclib.const.Handler( + self.__rpc_create_vesting_account, + grpclib.const.Cardinality.UNARY_UNARY, + MsgCreateVestingAccount, + MsgCreateVestingAccountResponse, + ), + } diff --git a/secret_sdk/protobuf/cosmos_proto/__init__.py b/secret_sdk/protobuf/cosmos_proto/__init__.py new file mode 100644 index 0000000..bc87e08 --- /dev/null +++ b/secret_sdk/protobuf/cosmos_proto/__init__.py @@ -0,0 +1,6 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: cosmos_proto/cosmos.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto diff --git a/secret_sdk/protobuf/gogoproto/__init__.py b/secret_sdk/protobuf/gogoproto/__init__.py new file mode 100644 index 0000000..1d57db1 --- /dev/null +++ b/secret_sdk/protobuf/gogoproto/__init__.py @@ -0,0 +1,6 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: gogoproto/gogo.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto diff --git a/secret_sdk/protobuf/google/__init__.py b/secret_sdk/protobuf/google/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/google/api/__init__.py b/secret_sdk/protobuf/google/api/__init__.py new file mode 100644 index 0000000..5cd5640 --- /dev/null +++ b/secret_sdk/protobuf/google/api/__init__.py @@ -0,0 +1,248 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: google/api/annotations.proto, google/api/http.proto, google/api/httpbody.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + + +@dataclass(eq=False, repr=False) +class Http(betterproto.Message): + """ + Defines the HTTP configuration for an API service. It contains a list of + [HttpRule][google.api.HttpRule], each specifying the mapping of an RPC + method to one or more HTTP REST API methods. + """ + + rules: List["HttpRule"] = betterproto.message_field(1) + """ + A list of HTTP configuration rules that apply to individual API methods. + **NOTE:** All service configuration rules follow "last one wins" order. + """ + + fully_decode_reserved_expansion: bool = betterproto.bool_field(2) + """ + When set to true, URL path parmeters will be fully URI-decoded except in + cases of single segment matches in reserved expansion, where "%2F" will be + left encoded. The default behavior is to not decode RFC 6570 reserved + characters in multi segment matches. + """ + + +@dataclass(eq=False, repr=False) +class HttpRule(betterproto.Message): + """ + `HttpRule` defines the mapping of an RPC method to one or more HTTP REST + API methods. The mapping specifies how different portions of the RPC + request message are mapped to URL path, URL query parameters, and HTTP + request body. The mapping is typically specified as an `google.api.http` + annotation on the RPC method, see "google/api/annotations.proto" for + details. The mapping consists of a field specifying the path template and + method kind. The path template can refer to fields in the request message, + as in the example below which describes a REST GET operation on a resource + collection of messages: service Messaging { rpc + GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http).get = "/v1/messages/{message_id}/{sub.subfield}"; } + } message GetMessageRequest { message SubMessage { string + subfield = 1; } string message_id = 1; // mapped to the URL + SubMessage sub = 2; // `sub.subfield` is url-mapped } message + Message { string text = 1; // content of the resource } The same + http annotation can alternatively be expressed inside the `GRPC API + Configuration` YAML file. http: rules: - selector: + .Messaging.GetMessage get: + /v1/messages/{message_id}/{sub.subfield} This definition enables an + automatic, bidrectional mapping of HTTP JSON to RPC. Example: HTTP | RPC + -----|----- `GET /v1/messages/123456/foo` | `GetMessage(message_id: + "123456" sub: SubMessage(subfield: "foo"))` In general, not only fields but + also field paths can be referenced from a path pattern. Fields mapped to + the path pattern cannot be repeated and must have a primitive (non-message) + type. Any fields in the request message which are not bound by the path + pattern automatically become (optional) HTTP query parameters. Assume the + following definition of the request message: service Messaging { + rpc GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http).get = "/v1/messages/{message_id}"; } } + message GetMessageRequest { message SubMessage { string + subfield = 1; } string message_id = 1; // mapped to the URL + int64 revision = 2; // becomes a parameter SubMessage sub = 3; + // `sub.subfield` becomes a parameter } This enables a HTTP JSON to RPC + mapping as below: HTTP | RPC -----|----- `GET + /v1/messages/123456?revision=2&sub.subfield=foo` | `GetMessage(message_id: + "123456" revision: 2 sub: SubMessage(subfield: "foo"))` Note that fields + which are mapped to HTTP parameters must have a primitive type or a + repeated primitive type. Message types are not allowed. In the case of a + repeated type, the parameter can be repeated in the URL, as in + `...?param=A¶m=B`. For HTTP method kinds which allow a request body, + the `body` field specifies the mapping. Consider a REST update method on + the message resource collection: service Messaging { rpc + UpdateMessage(UpdateMessageRequest) returns (Message) { option + (google.api.http) = { put: "/v1/messages/{message_id}" + body: "message" }; } } message UpdateMessageRequest { + string message_id = 1; // mapped to the URL Message message = 2; // + mapped to the body } The following HTTP JSON to RPC mapping is enabled, + where the representation of the JSON in the request body is determined by + protos JSON encoding: HTTP | RPC -----|----- `PUT /v1/messages/123456 { + "text": "Hi!" }` | `UpdateMessage(message_id: "123456" message { text: + "Hi!" })` The special name `*` can be used in the body mapping to define + that every field not bound by the path template should be mapped to the + request body. This enables the following alternative definition of the + update method: service Messaging { rpc UpdateMessage(Message) + returns (Message) { option (google.api.http) = { put: + "/v1/messages/{message_id}" body: "*" }; } } + message Message { string message_id = 1; string text = 2; } + The following HTTP JSON to RPC mapping is enabled: HTTP | RPC -----|----- + `PUT /v1/messages/123456 { "text": "Hi!" }` | `UpdateMessage(message_id: + "123456" text: "Hi!")` Note that when using `*` in the body mapping, it is + not possible to have HTTP parameters, as all fields not bound by the path + end in the body. This makes this option more rarely used in practice of + defining REST APIs. The common usage of `*` is in custom methods which + don't use the URL at all for transferring data. It is possible to define + multiple HTTP methods for one RPC by using the `additional_bindings` + option. Example: service Messaging { rpc + GetMessage(GetMessageRequest) returns (Message) { option + (google.api.http) = { get: "/v1/messages/{message_id}" + additional_bindings { get: + "/v1/users/{user_id}/messages/{message_id}" } }; } + } message GetMessageRequest { string message_id = 1; string + user_id = 2; } This enables the following two alternative HTTP JSON to + RPC mappings: HTTP | RPC -----|----- `GET /v1/messages/123456` | + `GetMessage(message_id: "123456")` `GET /v1/users/me/messages/123456` | + `GetMessage(user_id: "me" message_id: "123456")` # Rules for HTTP mapping + The rules for mapping HTTP path, query parameters, and body fields to the + request message are as follows: 1. The `body` field specifies either `*` or + a field path, or is omitted. If omitted, it indicates there is no HTTP + request body. 2. Leaf fields (recursive expansion of nested messages in the + request) can be classified into three types: (a) Matched in the URL + template. (b) Covered by body (if body is `*`, everything except (a) + fields; else everything under the body field) (c) All other + fields. 3. URL query parameters found in the HTTP request are mapped to (c) + fields. 4. Any body sent with an HTTP request can contain only (b) fields. + The syntax of the path template is as follows: Template = "/" Segments + [ Verb ] ; Segments = Segment { "/" Segment } ; Segment = "*" | + "**" | LITERAL | Variable ; Variable = "{" FieldPath [ "=" Segments ] + "}" ; FieldPath = IDENT { "." IDENT } ; Verb = ":" LITERAL ; + The syntax `*` matches a single path segment. The syntax `**` matches zero + or more path segments, which must be the last part of the path except the + `Verb`. The syntax `LITERAL` matches literal text in the path. The syntax + `Variable` matches part of the URL path as specified by its template. A + variable template must not contain other variables. If a variable matches a + single path segment, its template may be omitted, e.g. `{var}` is + equivalent to `{var=*}`. If a variable contains exactly one path segment, + such as `"{var}"` or `"{var=*}"`, when such a variable is expanded into a + URL path, all characters except `[-_.~0-9a-zA-Z]` are percent-encoded. Such + variables show up in the Discovery Document as `{var}`. If a variable + contains one or more path segments, such as `"{var=foo/*}"` or + `"{var=**}"`, when such a variable is expanded into a URL path, all + characters except `[-_.~/0-9a-zA-Z]` are percent-encoded. Such variables + show up in the Discovery Document as `{+var}`. NOTE: While the single + segment variable matches the semantics of [RFC + 6570](https://tools.ietf.org/html/rfc6570) Section 3.2.2 Simple String + Expansion, the multi segment variable **does not** match RFC 6570 Reserved + Expansion. The reason is that the Reserved Expansion does not expand + special characters like `?` and `#`, which would lead to invalid URLs. + NOTE: the field paths in variables and in the `body` must not refer to + repeated fields or map fields. + """ + + selector: str = betterproto.string_field(1) + """ + Selects methods to which this rule applies. Refer to + [selector][google.api.DocumentationRule.selector] for syntax details. + """ + + get: str = betterproto.string_field(2, group="pattern") + """Used for listing and getting information about resources.""" + + put: str = betterproto.string_field(3, group="pattern") + """Used for updating a resource.""" + + post: str = betterproto.string_field(4, group="pattern") + """Used for creating a resource.""" + + delete: str = betterproto.string_field(5, group="pattern") + """Used for deleting a resource.""" + + patch: str = betterproto.string_field(6, group="pattern") + """Used for updating a resource.""" + + custom: "CustomHttpPattern" = betterproto.message_field(8, group="pattern") + """ + The custom pattern is used for specifying an HTTP method that is not + included in the `pattern` field, such as HEAD, or "*" to leave the HTTP + method unspecified for this rule. The wild-card rule is useful for services + that provide content to Web (HTML) clients. + """ + + body: str = betterproto.string_field(7) + """ + The name of the request field whose value is mapped to the HTTP body, or + `*` for mapping all fields not captured by the path pattern to the HTTP + body. NOTE: the referred field must not be a repeated field and must be + present at the top-level of request message type. + """ + + response_body: str = betterproto.string_field(12) + """ + Optional. The name of the response field whose value is mapped to the HTTP + body of response. Other response fields are ignored. When not set, the + response message will be used as HTTP body of response. + """ + + additional_bindings: List["HttpRule"] = betterproto.message_field(11) + """ + Additional HTTP bindings for the selector. Nested bindings must not contain + an `additional_bindings` field themselves (that is, the nesting may only be + one level deep). + """ + + +@dataclass(eq=False, repr=False) +class CustomHttpPattern(betterproto.Message): + """A custom pattern is used for defining custom HTTP verb.""" + + kind: str = betterproto.string_field(1) + """The name of this custom HTTP verb.""" + + path: str = betterproto.string_field(2) + """The path matched by this custom verb.""" + + +@dataclass(eq=False, repr=False) +class HttpBody(betterproto.Message): + """ + Message that represents an arbitrary HTTP body. It should only be used for + payload formats that can't be represented as JSON, such as raw binary or an + HTML page. This message can be used both in streaming and non-streaming API + methods in the request as well as the response. It can be used as a top- + level request field, which is convenient if one wants to extract parameters + from either the URL or HTTP template into the request fields and also want + access to the raw HTTP body. Example: message GetResourceRequest { + // A unique request id. string request_id = 1; // The raw HTTP + body is bound to this field. google.api.HttpBody http_body = 2; } + service ResourceService { rpc GetResource(GetResourceRequest) returns + (google.api.HttpBody); rpc UpdateResource(google.api.HttpBody) + returns (google.protobuf.Empty); } Example with streaming + methods: service CaldavService { rpc GetCalendar(stream + google.api.HttpBody) returns (stream google.api.HttpBody); + rpc UpdateCalendar(stream google.api.HttpBody) returns (stream + google.api.HttpBody); } Use of this type only changes how the request + and response bodies are handled, all other features will continue to work + unchanged. + """ + + content_type: str = betterproto.string_field(1) + """ + The HTTP Content-Type header value specifying the content type of the body. + """ + + data: bytes = betterproto.bytes_field(2) + """The HTTP request/response body as raw binary.""" + + extensions: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field( + 3 + ) + """ + Application specific response metadata. Must be set in the first response + for streaming APIs. + """ diff --git a/secret_sdk/protobuf/ibc/__init__.py b/secret_sdk/protobuf/ibc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/__init__.py b/secret_sdk/protobuf/ibc/applications/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/v1/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/v1/__init__.py new file mode 100644 index 0000000..38429f8 --- /dev/null +++ b/secret_sdk/protobuf/ibc/applications/interchain_accounts/controller/v1/__init__.py @@ -0,0 +1,92 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/applications/interchain_accounts/controller/v1/controller.proto, ibc/applications/interchain_accounts/controller/v1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """ + Params defines the set of on-chain interchain accounts parameters. The + following parameters may be used to disable the controller submodule. + """ + + controller_enabled: bool = betterproto.bool_field(1) + """controller_enabled enables or disables the controller submodule.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/ibc.applications.interchain_accounts.controller.v1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.applications.interchain_accounts.controller.v1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/host/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/host/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/host/v1/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/host/v1/__init__.py new file mode 100644 index 0000000..3e13d10 --- /dev/null +++ b/secret_sdk/protobuf/ibc/applications/interchain_accounts/host/v1/__init__.py @@ -0,0 +1,99 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/applications/interchain_accounts/host/v1/host.proto, ibc/applications/interchain_accounts/host/v1/query.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """ + Params defines the set of on-chain interchain accounts parameters. The + following parameters may be used to disable the host submodule. + """ + + host_enabled: bool = betterproto.bool_field(1) + """host_enabled enables or disables the host submodule.""" + + allow_messages: List[str] = betterproto.string_field(2) + """ + allow_messages defines a list of sdk message typeURLs allowed to be + executed on a host chain. + """ + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +class QueryStub(betterproto.ServiceStub): + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/ibc.applications.interchain_accounts.host.v1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.applications.interchain_accounts.host.v1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/applications/interchain_accounts/v1/__init__.py b/secret_sdk/protobuf/ibc/applications/interchain_accounts/v1/__init__.py new file mode 100644 index 0000000..b5e9013 --- /dev/null +++ b/secret_sdk/protobuf/ibc/applications/interchain_accounts/v1/__init__.py @@ -0,0 +1,159 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/applications/interchain_accounts/v1/account.proto, ibc/applications/interchain_accounts/v1/genesis.proto, ibc/applications/interchain_accounts/v1/metadata.proto, ibc/applications/interchain_accounts/v1/packet.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + +from .....cosmos.auth import v1beta1 as ____cosmos_auth_v1_beta1__ +from ..controller import v1 as _controller_v1__ +from ..host import v1 as _host_v1__ + + +class Type(betterproto.Enum): + """ + Type defines a classification of message issued from a controller chain to + its associated interchain accounts host + """ + + TYPE_UNSPECIFIED = 0 + """Default zero value enumeration""" + + TYPE_EXECUTE_TX = 1 + """Execute a transaction on an interchain accounts host chain""" + + +@dataclass(eq=False, repr=False) +class InterchainAccount(betterproto.Message): + """ + An InterchainAccount is defined as a BaseAccount & the address of the + account owner on the controller chain + """ + + base_account: "____cosmos_auth_v1_beta1__.BaseAccount" = betterproto.message_field( + 1 + ) + account_owner: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class InterchainAccountPacketData(betterproto.Message): + """ + InterchainAccountPacketData is comprised of a raw transaction, type of + transaction and optional memo field. + """ + + type: "Type" = betterproto.enum_field(1) + data: bytes = betterproto.bytes_field(2) + memo: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class CosmosTx(betterproto.Message): + """ + CosmosTx contains a list of sdk.Msg's. It should be used when sending + transactions to an SDK host chain. + """ + + messages: List["betterproto_lib_google_protobuf.Any"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Metadata(betterproto.Message): + """ + Metadata defines a set of protocol specific data encoded into the ICS27 + channel version bytestring See ICS004: + https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and- + packet-semantics#Versioning + """ + + version: str = betterproto.string_field(1) + """version defines the ICS27 protocol version""" + + controller_connection_id: str = betterproto.string_field(2) + """ + controller_connection_id is the connection identifier associated with the + controller chain + """ + + host_connection_id: str = betterproto.string_field(3) + """ + host_connection_id is the connection identifier associated with the host + chain + """ + + address: str = betterproto.string_field(4) + """ + address defines the interchain account address to be fulfilled upon the + OnChanOpenTry handshake step NOTE: the address field is empty on the + OnChanOpenInit handshake step + """ + + encoding: str = betterproto.string_field(5) + """encoding defines the supported codec format""" + + tx_type: str = betterproto.string_field(6) + """ + tx_type defines the type of transactions the interchain account can execute + """ + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the interchain accounts genesis state""" + + controller_genesis_state: "ControllerGenesisState" = betterproto.message_field(1) + host_genesis_state: "HostGenesisState" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ControllerGenesisState(betterproto.Message): + """ + ControllerGenesisState defines the interchain accounts controller genesis + state + """ + + active_channels: List["ActiveChannel"] = betterproto.message_field(1) + interchain_accounts: List[ + "RegisteredInterchainAccount" + ] = betterproto.message_field(2) + ports: List[str] = betterproto.string_field(3) + params: "_controller_v1__.Params" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class HostGenesisState(betterproto.Message): + """HostGenesisState defines the interchain accounts host genesis state""" + + active_channels: List["ActiveChannel"] = betterproto.message_field(1) + interchain_accounts: List[ + "RegisteredInterchainAccount" + ] = betterproto.message_field(2) + port: str = betterproto.string_field(3) + params: "_host_v1__.Params" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class ActiveChannel(betterproto.Message): + """ + ActiveChannel contains a connection ID, port ID and associated active + channel ID + """ + + connection_id: str = betterproto.string_field(1) + port_id: str = betterproto.string_field(2) + channel_id: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class RegisteredInterchainAccount(betterproto.Message): + """ + RegisteredInterchainAccount contains a connection ID, port ID and + associated interchain account address + """ + + connection_id: str = betterproto.string_field(1) + port_id: str = betterproto.string_field(2) + account_address: str = betterproto.string_field(3) diff --git a/secret_sdk/protobuf/ibc/applications/transfer/__init__.py b/secret_sdk/protobuf/ibc/applications/transfer/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/applications/transfer/v1/__init__.py b/secret_sdk/protobuf/ibc/applications/transfer/v1/__init__.py new file mode 100644 index 0000000..b25b5cb --- /dev/null +++ b/secret_sdk/protobuf/ibc/applications/transfer/v1/__init__.py @@ -0,0 +1,400 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/applications/transfer/v1/genesis.proto, ibc/applications/transfer/v1/query.proto, ibc/applications/transfer/v1/transfer.proto, ibc/applications/transfer/v1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .....cosmos.base import v1beta1 as ____cosmos_base_v1_beta1__ +from .....cosmos.base.query import v1beta1 as ____cosmos_base_query_v1_beta1__ +from ....core.client import v1 as ___core_client_v1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgTransfer(betterproto.Message): + """ + MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between + ICS20 enabled chains. See ICS Spec here: + https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token- + transfer#data-structures + """ + + source_port: str = betterproto.string_field(1) + """the port on which the packet will be sent""" + + source_channel: str = betterproto.string_field(2) + """the channel by which the packet will be sent""" + + token: "____cosmos_base_v1_beta1__.Coin" = betterproto.message_field(3) + """the tokens to be transferred""" + + sender: str = betterproto.string_field(4) + """the sender address""" + + receiver: str = betterproto.string_field(5) + """the recipient address on the destination chain""" + + timeout_height: "___core_client_v1__.Height" = betterproto.message_field(6) + """ + Timeout height relative to the current block height. The timeout is + disabled when set to 0. + """ + + timeout_timestamp: int = betterproto.uint64_field(7) + """ + Timeout timestamp in absolute nanoseconds since unix epoch. The timeout is + disabled when set to 0. + """ + + +@dataclass(eq=False, repr=False) +class MsgTransferResponse(betterproto.Message): + """MsgTransferResponse defines the Msg/Transfer response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class DenomTrace(betterproto.Message): + """ + DenomTrace contains the base denomination for ICS20 fungible tokens and the + source tracing information path. + """ + + path: str = betterproto.string_field(1) + """ + path defines the chain of port/channel identifiers used for tracing the + source of the fungible token. + """ + + base_denom: str = betterproto.string_field(2) + """base denomination of the relayed fungible token.""" + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """ + Params defines the set of IBC transfer parameters. NOTE: To prevent a + single token from being transferred, set the TransfersEnabled parameter to + true and then set the bank module's SendEnabled parameter for the + denomination to false. + """ + + send_enabled: bool = betterproto.bool_field(1) + """ + send_enabled enables or disables all cross-chain token transfers from this + chain. + """ + + receive_enabled: bool = betterproto.bool_field(2) + """ + receive_enabled enables or disables all cross-chain token transfers to this + chain. + """ + + +@dataclass(eq=False, repr=False) +class QueryDenomTraceRequest(betterproto.Message): + """ + QueryDenomTraceRequest is the request type for the Query/DenomTrace RPC + method + """ + + hash: str = betterproto.string_field(1) + """hash (in hex format) of the denomination trace information.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomTraceResponse(betterproto.Message): + """ + QueryDenomTraceResponse is the response type for the Query/DenomTrace RPC + method. + """ + + denom_trace: "DenomTrace" = betterproto.message_field(1) + """denom_trace returns the requested denomination trace information.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomTracesRequest(betterproto.Message): + """ + QueryConnectionsRequest is the request type for the Query/DenomTraces RPC + method + """ + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(1) + ) + """pagination defines an optional pagination for the request.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomTracesResponse(betterproto.Message): + """ + QueryConnectionsResponse is the response type for the Query/DenomTraces RPC + method. + """ + + denom_traces: List["DenomTrace"] = betterproto.message_field(1) + """denom_traces returns all denominations trace information.""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination defines the pagination in the response.""" + + +@dataclass(eq=False, repr=False) +class QueryParamsRequest(betterproto.Message): + """ + QueryParamsRequest is the request type for the Query/Params RPC method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryParamsResponse(betterproto.Message): + """ + QueryParamsResponse is the response type for the Query/Params RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +@dataclass(eq=False, repr=False) +class QueryDenomHashRequest(betterproto.Message): + """ + QueryDenomHashRequest is the request type for the Query/DenomHash RPC + method + """ + + trace: str = betterproto.string_field(1) + """The denomination trace ([port_id]/[channel_id])+/[denom]""" + + +@dataclass(eq=False, repr=False) +class QueryDenomHashResponse(betterproto.Message): + """ + QueryDenomHashResponse is the response type for the Query/DenomHash RPC + method. + """ + + hash: str = betterproto.string_field(1) + """hash (in hex format) of the denomination trace information.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the ibc-transfer genesis state""" + + port_id: str = betterproto.string_field(1) + denom_traces: List["DenomTrace"] = betterproto.message_field(2) + params: "Params" = betterproto.message_field(3) + + +class MsgStub(betterproto.ServiceStub): + async def transfer( + self, + msg_transfer: "MsgTransfer", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgTransferResponse": + return await self._unary_unary( + "/ibc.applications.transfer.v1.Msg/Transfer", + msg_transfer, + MsgTransferResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def denom_trace( + self, + query_denom_trace_request: "QueryDenomTraceRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDenomTraceResponse": + return await self._unary_unary( + "/ibc.applications.transfer.v1.Query/DenomTrace", + query_denom_trace_request, + QueryDenomTraceResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def denom_traces( + self, + query_denom_traces_request: "QueryDenomTracesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDenomTracesResponse": + return await self._unary_unary( + "/ibc.applications.transfer.v1.Query/DenomTraces", + query_denom_traces_request, + QueryDenomTracesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def params( + self, + query_params_request: "QueryParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryParamsResponse": + return await self._unary_unary( + "/ibc.applications.transfer.v1.Query/Params", + query_params_request, + QueryParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def denom_hash( + self, + query_denom_hash_request: "QueryDenomHashRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryDenomHashResponse": + return await self._unary_unary( + "/ibc.applications.transfer.v1.Query/DenomHash", + query_denom_hash_request, + QueryDenomHashResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def transfer(self, msg_transfer: "MsgTransfer") -> "MsgTransferResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_transfer( + self, stream: "grpclib.server.Stream[MsgTransfer, MsgTransferResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.transfer(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.applications.transfer.v1.Msg/Transfer": grpclib.const.Handler( + self.__rpc_transfer, + grpclib.const.Cardinality.UNARY_UNARY, + MsgTransfer, + MsgTransferResponse, + ), + } + + +class QueryBase(ServiceBase): + async def denom_trace( + self, query_denom_trace_request: "QueryDenomTraceRequest" + ) -> "QueryDenomTraceResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def denom_traces( + self, query_denom_traces_request: "QueryDenomTracesRequest" + ) -> "QueryDenomTracesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def params( + self, query_params_request: "QueryParamsRequest" + ) -> "QueryParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def denom_hash( + self, query_denom_hash_request: "QueryDenomHashRequest" + ) -> "QueryDenomHashResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_denom_trace( + self, + stream: "grpclib.server.Stream[QueryDenomTraceRequest, QueryDenomTraceResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.denom_trace(request) + await stream.send_message(response) + + async def __rpc_denom_traces( + self, + stream: "grpclib.server.Stream[QueryDenomTracesRequest, QueryDenomTracesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.denom_traces(request) + await stream.send_message(response) + + async def __rpc_params( + self, stream: "grpclib.server.Stream[QueryParamsRequest, QueryParamsResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.params(request) + await stream.send_message(response) + + async def __rpc_denom_hash( + self, + stream: "grpclib.server.Stream[QueryDenomHashRequest, QueryDenomHashResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.denom_hash(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.applications.transfer.v1.Query/DenomTrace": grpclib.const.Handler( + self.__rpc_denom_trace, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDenomTraceRequest, + QueryDenomTraceResponse, + ), + "/ibc.applications.transfer.v1.Query/DenomTraces": grpclib.const.Handler( + self.__rpc_denom_traces, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDenomTracesRequest, + QueryDenomTracesResponse, + ), + "/ibc.applications.transfer.v1.Query/Params": grpclib.const.Handler( + self.__rpc_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryParamsRequest, + QueryParamsResponse, + ), + "/ibc.applications.transfer.v1.Query/DenomHash": grpclib.const.Handler( + self.__rpc_denom_hash, + grpclib.const.Cardinality.UNARY_UNARY, + QueryDenomHashRequest, + QueryDenomHashResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/applications/transfer/v2/__init__.py b/secret_sdk/protobuf/ibc/applications/transfer/v2/__init__.py new file mode 100644 index 0000000..dab0de2 --- /dev/null +++ b/secret_sdk/protobuf/ibc/applications/transfer/v2/__init__.py @@ -0,0 +1,28 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/applications/transfer/v2/packet.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class FungibleTokenPacketData(betterproto.Message): + """ + FungibleTokenPacketData defines a struct for the packet payload See + FungibleTokenPacketData spec: + https://github.com/cosmos/ibc/tree/master/spec/app/ics-020-fungible-token- + transfer#data-structures + """ + + denom: str = betterproto.string_field(1) + """the token denomination to be transferred""" + + amount: str = betterproto.string_field(2) + """the token amount to be transferred""" + + sender: str = betterproto.string_field(3) + """the sender address""" + + receiver: str = betterproto.string_field(4) + """the recipient address on the destination chain""" diff --git a/secret_sdk/protobuf/ibc/core/__init__.py b/secret_sdk/protobuf/ibc/core/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/channel/__init__.py b/secret_sdk/protobuf/ibc/core/channel/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/channel/v1/__init__.py b/secret_sdk/protobuf/ibc/core/channel/v1/__init__.py new file mode 100644 index 0000000..ef8c367 --- /dev/null +++ b/secret_sdk/protobuf/ibc/core/channel/v1/__init__.py @@ -0,0 +1,1776 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/core/channel/v1/channel.proto, ibc/core/channel/v1/genesis.proto, ibc/core/channel/v1/query.proto, ibc/core/channel/v1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .....cosmos.base.query import v1beta1 as ____cosmos_base_query_v1_beta1__ +from ...client import v1 as __client_v1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class State(betterproto.Enum): + """ + State defines if a channel is in one of the following states: CLOSED, INIT, + TRYOPEN, OPEN or UNINITIALIZED. + """ + + STATE_UNINITIALIZED_UNSPECIFIED = 0 + """Default State""" + + STATE_INIT = 1 + """A channel has just started the opening handshake.""" + + STATE_TRYOPEN = 2 + """ + A channel has acknowledged the handshake step on the counterparty chain. + """ + + STATE_OPEN = 3 + """ + A channel has completed the handshake. Open channels are ready to send and + receive packets. + """ + + STATE_CLOSED = 4 + """ + A channel has been closed and can no longer be used to send or receive + packets. + """ + + +class Order(betterproto.Enum): + """Order defines if a channel is ORDERED or UNORDERED""" + + ORDER_NONE_UNSPECIFIED = 0 + """zero-value for channel ordering""" + + ORDER_UNORDERED = 1 + """ + packets can be delivered in any order, which may differ from the order in + which they were sent. + """ + + ORDER_ORDERED = 2 + """packets are delivered exactly in the order which they were sent""" + + +class ResponseResultType(betterproto.Enum): + """ + ResponseResultType defines the possible outcomes of the execution of a + message + """ + + RESPONSE_RESULT_UNSPECIFIED = 0 + """Default zero value enumeration""" + + RESPONSE_RESULT_NOOP = 1 + """ + The message did not call the IBC application callbacks (because, for + example, the packet had already been relayed) + """ + + RESPONSE_RESULT_SUCCESS = 2 + """The message was executed successfully""" + + +@dataclass(eq=False, repr=False) +class Channel(betterproto.Message): + """ + Channel defines pipeline for exactly-once packet delivery between specific + modules on separate blockchains, which has at least one end capable of + sending packets and one end capable of receiving packets. + """ + + state: "State" = betterproto.enum_field(1) + """current state of the channel end""" + + ordering: "Order" = betterproto.enum_field(2) + """whether the channel is ordered or unordered""" + + counterparty: "Counterparty" = betterproto.message_field(3) + """counterparty channel end""" + + connection_hops: List[str] = betterproto.string_field(4) + """ + list of connection identifiers, in order, along which packets sent on this + channel will travel + """ + + version: str = betterproto.string_field(5) + """opaque channel version, which is agreed upon during the handshake""" + + +@dataclass(eq=False, repr=False) +class IdentifiedChannel(betterproto.Message): + """ + IdentifiedChannel defines a channel with additional port and channel + identifier fields. + """ + + state: "State" = betterproto.enum_field(1) + """current state of the channel end""" + + ordering: "Order" = betterproto.enum_field(2) + """whether the channel is ordered or unordered""" + + counterparty: "Counterparty" = betterproto.message_field(3) + """counterparty channel end""" + + connection_hops: List[str] = betterproto.string_field(4) + """ + list of connection identifiers, in order, along which packets sent on this + channel will travel + """ + + version: str = betterproto.string_field(5) + """opaque channel version, which is agreed upon during the handshake""" + + port_id: str = betterproto.string_field(6) + """port identifier""" + + channel_id: str = betterproto.string_field(7) + """channel identifier""" + + +@dataclass(eq=False, repr=False) +class Counterparty(betterproto.Message): + """Counterparty defines a channel end counterparty""" + + port_id: str = betterproto.string_field(1) + """ + port on the counterparty chain which owns the other end of the channel. + """ + + channel_id: str = betterproto.string_field(2) + """channel end on the counterparty chain""" + + +@dataclass(eq=False, repr=False) +class Packet(betterproto.Message): + """ + Packet defines a type that carries data across different chains through IBC + """ + + sequence: int = betterproto.uint64_field(1) + """ + number corresponds to the order of sends and receives, where a Packet with + an earlier sequence number must be sent and received before a Packet with a + later sequence number. + """ + + source_port: str = betterproto.string_field(2) + """identifies the port on the sending chain.""" + + source_channel: str = betterproto.string_field(3) + """identifies the channel end on the sending chain.""" + + destination_port: str = betterproto.string_field(4) + """identifies the port on the receiving chain.""" + + destination_channel: str = betterproto.string_field(5) + """identifies the channel end on the receiving chain.""" + + data: bytes = betterproto.bytes_field(6) + """actual opaque bytes transferred directly to the application module""" + + timeout_height: "__client_v1__.Height" = betterproto.message_field(7) + """block height after which the packet times out""" + + timeout_timestamp: int = betterproto.uint64_field(8) + """block timestamp (in nanoseconds) after which the packet times out""" + + +@dataclass(eq=False, repr=False) +class PacketState(betterproto.Message): + """ + PacketState defines the generic type necessary to retrieve and store packet + commitments, acknowledgements, and receipts. Caller is responsible for + knowing the context necessary to interpret this state as a commitment, + acknowledgement, or a receipt. + """ + + port_id: str = betterproto.string_field(1) + """channel port identifier.""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier.""" + + sequence: int = betterproto.uint64_field(3) + """packet sequence.""" + + data: bytes = betterproto.bytes_field(4) + """embedded data that represents packet state.""" + + +@dataclass(eq=False, repr=False) +class Acknowledgement(betterproto.Message): + """ + Acknowledgement is the recommended acknowledgement format to be used by + app-specific protocols. NOTE: The field numbers 21 and 22 were explicitly + chosen to avoid accidental conflicts with other protobuf message formats + used for acknowledgements. The first byte of any message with this format + will be the non-ASCII values `0xaa` (result) or `0xb2` (error). Implemented + as defined by ICS: + https://github.com/cosmos/ibc/tree/master/spec/core/ics-004-channel-and- + packet-semantics#acknowledgement-envelope + """ + + result: bytes = betterproto.bytes_field(21, group="response") + error: str = betterproto.string_field(22, group="response") + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the ibc channel submodule's genesis state.""" + + channels: List["IdentifiedChannel"] = betterproto.message_field(1) + acknowledgements: List["PacketState"] = betterproto.message_field(2) + commitments: List["PacketState"] = betterproto.message_field(3) + receipts: List["PacketState"] = betterproto.message_field(4) + send_sequences: List["PacketSequence"] = betterproto.message_field(5) + recv_sequences: List["PacketSequence"] = betterproto.message_field(6) + ack_sequences: List["PacketSequence"] = betterproto.message_field(7) + next_channel_sequence: int = betterproto.uint64_field(8) + """the sequence for the next generated channel identifier""" + + +@dataclass(eq=False, repr=False) +class PacketSequence(betterproto.Message): + """ + PacketSequence defines the genesis type necessary to retrieve and store + next send and receive sequences. + """ + + port_id: str = betterproto.string_field(1) + channel_id: str = betterproto.string_field(2) + sequence: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenInit(betterproto.Message): + """ + MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It + is called by a relayer on Chain A. + """ + + port_id: str = betterproto.string_field(1) + channel: "Channel" = betterproto.message_field(2) + signer: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenInitResponse(betterproto.Message): + """ + MsgChannelOpenInitResponse defines the Msg/ChannelOpenInit response type. + """ + + channel_id: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenTry(betterproto.Message): + """ + MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel + on Chain B. The version field within the Channel field has been deprecated. + Its value will be ignored by core IBC. + """ + + port_id: str = betterproto.string_field(1) + previous_channel_id: str = betterproto.string_field(2) + """ + in the case of crossing hello's, when both chains call OpenInit, we need + the channel identifier of the previous channel in state INIT + """ + + channel: "Channel" = betterproto.message_field(3) + """ + NOTE: the version field within the channel has been deprecated. Its value + will be ignored by core IBC. + """ + + counterparty_version: str = betterproto.string_field(4) + proof_init: bytes = betterproto.bytes_field(5) + proof_height: "__client_v1__.Height" = betterproto.message_field(6) + signer: str = betterproto.string_field(7) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenTryResponse(betterproto.Message): + """ + MsgChannelOpenTryResponse defines the Msg/ChannelOpenTry response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenAck(betterproto.Message): + """ + MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge + the change of channel state to TRYOPEN on Chain B. + """ + + port_id: str = betterproto.string_field(1) + channel_id: str = betterproto.string_field(2) + counterparty_channel_id: str = betterproto.string_field(3) + counterparty_version: str = betterproto.string_field(4) + proof_try: bytes = betterproto.bytes_field(5) + proof_height: "__client_v1__.Height" = betterproto.message_field(6) + signer: str = betterproto.string_field(7) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenAckResponse(betterproto.Message): + """ + MsgChannelOpenAckResponse defines the Msg/ChannelOpenAck response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenConfirm(betterproto.Message): + """ + MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to + acknowledge the change of channel state to OPEN on Chain A. + """ + + port_id: str = betterproto.string_field(1) + channel_id: str = betterproto.string_field(2) + proof_ack: bytes = betterproto.bytes_field(3) + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + signer: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class MsgChannelOpenConfirmResponse(betterproto.Message): + """ + MsgChannelOpenConfirmResponse defines the Msg/ChannelOpenConfirm response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgChannelCloseInit(betterproto.Message): + """ + MsgChannelCloseInit defines a msg sent by a Relayer to Chain A to close a + channel with Chain B. + """ + + port_id: str = betterproto.string_field(1) + channel_id: str = betterproto.string_field(2) + signer: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class MsgChannelCloseInitResponse(betterproto.Message): + """ + MsgChannelCloseInitResponse defines the Msg/ChannelCloseInit response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgChannelCloseConfirm(betterproto.Message): + """ + MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B to + acknowledge the change of channel state to CLOSED on Chain A. + """ + + port_id: str = betterproto.string_field(1) + channel_id: str = betterproto.string_field(2) + proof_init: bytes = betterproto.bytes_field(3) + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + signer: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class MsgChannelCloseConfirmResponse(betterproto.Message): + """ + MsgChannelCloseConfirmResponse defines the Msg/ChannelCloseConfirm response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgRecvPacket(betterproto.Message): + """MsgRecvPacket receives incoming IBC packet""" + + packet: "Packet" = betterproto.message_field(1) + proof_commitment: bytes = betterproto.bytes_field(2) + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + signer: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class MsgRecvPacketResponse(betterproto.Message): + """MsgRecvPacketResponse defines the Msg/RecvPacket response type.""" + + result: "ResponseResultType" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class MsgTimeout(betterproto.Message): + """MsgTimeout receives timed-out packet""" + + packet: "Packet" = betterproto.message_field(1) + proof_unreceived: bytes = betterproto.bytes_field(2) + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + next_sequence_recv: int = betterproto.uint64_field(4) + signer: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class MsgTimeoutResponse(betterproto.Message): + """MsgTimeoutResponse defines the Msg/Timeout response type.""" + + result: "ResponseResultType" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class MsgTimeoutOnClose(betterproto.Message): + """ + MsgTimeoutOnClose timed-out packet upon counterparty channel closure. + """ + + packet: "Packet" = betterproto.message_field(1) + proof_unreceived: bytes = betterproto.bytes_field(2) + proof_close: bytes = betterproto.bytes_field(3) + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + next_sequence_recv: int = betterproto.uint64_field(5) + signer: str = betterproto.string_field(6) + + +@dataclass(eq=False, repr=False) +class MsgTimeoutOnCloseResponse(betterproto.Message): + """ + MsgTimeoutOnCloseResponse defines the Msg/TimeoutOnClose response type. + """ + + result: "ResponseResultType" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class MsgAcknowledgement(betterproto.Message): + """MsgAcknowledgement receives incoming IBC acknowledgement""" + + packet: "Packet" = betterproto.message_field(1) + acknowledgement: bytes = betterproto.bytes_field(2) + proof_acked: bytes = betterproto.bytes_field(3) + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + signer: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class MsgAcknowledgementResponse(betterproto.Message): + """ + MsgAcknowledgementResponse defines the Msg/Acknowledgement response type. + """ + + result: "ResponseResultType" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class QueryChannelRequest(betterproto.Message): + """ + QueryChannelRequest is the request type for the Query/Channel RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryChannelResponse(betterproto.Message): + """ + QueryChannelResponse is the response type for the Query/Channel RPC method. + Besides the Channel end, it includes a proof and the height from which the + proof was retrieved. + """ + + channel: "Channel" = betterproto.message_field(1) + """channel associated with the request identifiers""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryChannelsRequest(betterproto.Message): + """ + QueryChannelsRequest is the request type for the Query/Channels RPC method + """ + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(1) + ) + """pagination request""" + + +@dataclass(eq=False, repr=False) +class QueryChannelsResponse(betterproto.Message): + """ + QueryChannelsResponse is the response type for the Query/Channels RPC + method. + """ + + channels: List["IdentifiedChannel"] = betterproto.message_field(1) + """list of stored channels of the chain.""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + height: "__client_v1__.Height" = betterproto.message_field(3) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionChannelsRequest(betterproto.Message): + """ + QueryConnectionChannelsRequest is the request type for the + Query/QueryConnectionChannels RPC method + """ + + connection: str = betterproto.string_field(1) + """connection unique identifier""" + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(2) + ) + """pagination request""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionChannelsResponse(betterproto.Message): + """ + QueryConnectionChannelsResponse is the Response type for the + Query/QueryConnectionChannels RPC method + """ + + channels: List["IdentifiedChannel"] = betterproto.message_field(1) + """list of channels associated with a connection.""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + height: "__client_v1__.Height" = betterproto.message_field(3) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryChannelClientStateRequest(betterproto.Message): + """ + QueryChannelClientStateRequest is the request type for the + Query/ClientState RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryChannelClientStateResponse(betterproto.Message): + """ + QueryChannelClientStateResponse is the Response type for the + Query/QueryChannelClientState RPC method + """ + + identified_client_state: "__client_v1__.IdentifiedClientState" = ( + betterproto.message_field(1) + ) + """client state associated with the channel""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryChannelConsensusStateRequest(betterproto.Message): + """ + QueryChannelConsensusStateRequest is the request type for the + Query/ConsensusState RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + revision_number: int = betterproto.uint64_field(3) + """revision number of the consensus state""" + + revision_height: int = betterproto.uint64_field(4) + """revision height of the consensus state""" + + +@dataclass(eq=False, repr=False) +class QueryChannelConsensusStateResponse(betterproto.Message): + """ + QueryChannelClientStateResponse is the Response type for the + Query/QueryChannelClientState RPC method + """ + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 1 + ) + """consensus state associated with the channel""" + + client_id: str = betterproto.string_field(2) + """client ID associated with the consensus state""" + + proof: bytes = betterproto.bytes_field(3) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryPacketCommitmentRequest(betterproto.Message): + """ + QueryPacketCommitmentRequest is the request type for the + Query/PacketCommitment RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + sequence: int = betterproto.uint64_field(3) + """packet sequence""" + + +@dataclass(eq=False, repr=False) +class QueryPacketCommitmentResponse(betterproto.Message): + """ + QueryPacketCommitmentResponse defines the client query response for a + packet which also includes a proof and the height from which the proof was + retrieved + """ + + commitment: bytes = betterproto.bytes_field(1) + """packet associated with the request fields""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryPacketCommitmentsRequest(betterproto.Message): + """ + QueryPacketCommitmentsRequest is the request type for the + Query/QueryPacketCommitments RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(3) + ) + """pagination request""" + + +@dataclass(eq=False, repr=False) +class QueryPacketCommitmentsResponse(betterproto.Message): + """ + QueryPacketCommitmentsResponse is the request type for the + Query/QueryPacketCommitments RPC method + """ + + commitments: List["PacketState"] = betterproto.message_field(1) + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + height: "__client_v1__.Height" = betterproto.message_field(3) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryPacketReceiptRequest(betterproto.Message): + """ + QueryPacketReceiptRequest is the request type for the Query/PacketReceipt + RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + sequence: int = betterproto.uint64_field(3) + """packet sequence""" + + +@dataclass(eq=False, repr=False) +class QueryPacketReceiptResponse(betterproto.Message): + """ + QueryPacketReceiptResponse defines the client query response for a packet + receipt which also includes a proof, and the height from which the proof + was retrieved + """ + + received: bool = betterproto.bool_field(2) + """success flag for if receipt exists""" + + proof: bytes = betterproto.bytes_field(3) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryPacketAcknowledgementRequest(betterproto.Message): + """ + QueryPacketAcknowledgementRequest is the request type for the + Query/PacketAcknowledgement RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + sequence: int = betterproto.uint64_field(3) + """packet sequence""" + + +@dataclass(eq=False, repr=False) +class QueryPacketAcknowledgementResponse(betterproto.Message): + """ + QueryPacketAcknowledgementResponse defines the client query response for a + packet which also includes a proof and the height from which the proof was + retrieved + """ + + acknowledgement: bytes = betterproto.bytes_field(1) + """packet associated with the request fields""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryPacketAcknowledgementsRequest(betterproto.Message): + """ + QueryPacketAcknowledgementsRequest is the request type for the + Query/QueryPacketCommitments RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(3) + ) + """pagination request""" + + packet_commitment_sequences: List[int] = betterproto.uint64_field(4) + """list of packet sequences""" + + +@dataclass(eq=False, repr=False) +class QueryPacketAcknowledgementsResponse(betterproto.Message): + """ + QueryPacketAcknowledgemetsResponse is the request type for the + Query/QueryPacketAcknowledgements RPC method + """ + + acknowledgements: List["PacketState"] = betterproto.message_field(1) + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + height: "__client_v1__.Height" = betterproto.message_field(3) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryUnreceivedPacketsRequest(betterproto.Message): + """ + QueryUnreceivedPacketsRequest is the request type for the + Query/UnreceivedPackets RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + packet_commitment_sequences: List[int] = betterproto.uint64_field(3) + """list of packet sequences""" + + +@dataclass(eq=False, repr=False) +class QueryUnreceivedPacketsResponse(betterproto.Message): + """ + QueryUnreceivedPacketsResponse is the response type for the + Query/UnreceivedPacketCommitments RPC method + """ + + sequences: List[int] = betterproto.uint64_field(1) + """list of unreceived packet sequences""" + + height: "__client_v1__.Height" = betterproto.message_field(2) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryUnreceivedAcksRequest(betterproto.Message): + """ + QueryUnreceivedAcks is the request type for the Query/UnreceivedAcks RPC + method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + packet_ack_sequences: List[int] = betterproto.uint64_field(3) + """list of acknowledgement sequences""" + + +@dataclass(eq=False, repr=False) +class QueryUnreceivedAcksResponse(betterproto.Message): + """ + QueryUnreceivedAcksResponse is the response type for the + Query/UnreceivedAcks RPC method + """ + + sequences: List[int] = betterproto.uint64_field(1) + """list of unreceived acknowledgement sequences""" + + height: "__client_v1__.Height" = betterproto.message_field(2) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryNextSequenceReceiveRequest(betterproto.Message): + """ + QueryNextSequenceReceiveRequest is the request type for the + Query/QueryNextSequenceReceiveRequest RPC method + """ + + port_id: str = betterproto.string_field(1) + """port unique identifier""" + + channel_id: str = betterproto.string_field(2) + """channel unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryNextSequenceReceiveResponse(betterproto.Message): + """ + QuerySequenceResponse is the request type for the + Query/QueryNextSequenceReceiveResponse RPC method + """ + + next_sequence_receive: int = betterproto.uint64_field(1) + """next sequence receive number""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +class MsgStub(betterproto.ServiceStub): + async def channel_open_init( + self, + msg_channel_open_init: "MsgChannelOpenInit", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelOpenInitResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelOpenInit", + msg_channel_open_init, + MsgChannelOpenInitResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_open_try( + self, + msg_channel_open_try: "MsgChannelOpenTry", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelOpenTryResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelOpenTry", + msg_channel_open_try, + MsgChannelOpenTryResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_open_ack( + self, + msg_channel_open_ack: "MsgChannelOpenAck", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelOpenAckResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelOpenAck", + msg_channel_open_ack, + MsgChannelOpenAckResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_open_confirm( + self, + msg_channel_open_confirm: "MsgChannelOpenConfirm", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelOpenConfirmResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelOpenConfirm", + msg_channel_open_confirm, + MsgChannelOpenConfirmResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_close_init( + self, + msg_channel_close_init: "MsgChannelCloseInit", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelCloseInitResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelCloseInit", + msg_channel_close_init, + MsgChannelCloseInitResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_close_confirm( + self, + msg_channel_close_confirm: "MsgChannelCloseConfirm", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgChannelCloseConfirmResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/ChannelCloseConfirm", + msg_channel_close_confirm, + MsgChannelCloseConfirmResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def recv_packet( + self, + msg_recv_packet: "MsgRecvPacket", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgRecvPacketResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/RecvPacket", + msg_recv_packet, + MsgRecvPacketResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def timeout( + self, + msg_timeout: "MsgTimeout", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgTimeoutResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/Timeout", + msg_timeout, + MsgTimeoutResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def timeout_on_close( + self, + msg_timeout_on_close: "MsgTimeoutOnClose", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgTimeoutOnCloseResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/TimeoutOnClose", + msg_timeout_on_close, + MsgTimeoutOnCloseResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def acknowledgement( + self, + msg_acknowledgement: "MsgAcknowledgement", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgAcknowledgementResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Msg/Acknowledgement", + msg_acknowledgement, + MsgAcknowledgementResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def channel( + self, + query_channel_request: "QueryChannelRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryChannelResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/Channel", + query_channel_request, + QueryChannelResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channels( + self, + query_channels_request: "QueryChannelsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryChannelsResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/Channels", + query_channels_request, + QueryChannelsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_channels( + self, + query_connection_channels_request: "QueryConnectionChannelsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConnectionChannelsResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/ConnectionChannels", + query_connection_channels_request, + QueryConnectionChannelsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_client_state( + self, + query_channel_client_state_request: "QueryChannelClientStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryChannelClientStateResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/ChannelClientState", + query_channel_client_state_request, + QueryChannelClientStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def channel_consensus_state( + self, + query_channel_consensus_state_request: "QueryChannelConsensusStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryChannelConsensusStateResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/ChannelConsensusState", + query_channel_consensus_state_request, + QueryChannelConsensusStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def packet_commitment( + self, + query_packet_commitment_request: "QueryPacketCommitmentRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPacketCommitmentResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/PacketCommitment", + query_packet_commitment_request, + QueryPacketCommitmentResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def packet_commitments( + self, + query_packet_commitments_request: "QueryPacketCommitmentsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPacketCommitmentsResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/PacketCommitments", + query_packet_commitments_request, + QueryPacketCommitmentsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def packet_receipt( + self, + query_packet_receipt_request: "QueryPacketReceiptRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPacketReceiptResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/PacketReceipt", + query_packet_receipt_request, + QueryPacketReceiptResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def packet_acknowledgement( + self, + query_packet_acknowledgement_request: "QueryPacketAcknowledgementRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPacketAcknowledgementResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/PacketAcknowledgement", + query_packet_acknowledgement_request, + QueryPacketAcknowledgementResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def packet_acknowledgements( + self, + query_packet_acknowledgements_request: "QueryPacketAcknowledgementsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryPacketAcknowledgementsResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/PacketAcknowledgements", + query_packet_acknowledgements_request, + QueryPacketAcknowledgementsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def unreceived_packets( + self, + query_unreceived_packets_request: "QueryUnreceivedPacketsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUnreceivedPacketsResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/UnreceivedPackets", + query_unreceived_packets_request, + QueryUnreceivedPacketsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def unreceived_acks( + self, + query_unreceived_acks_request: "QueryUnreceivedAcksRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUnreceivedAcksResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/UnreceivedAcks", + query_unreceived_acks_request, + QueryUnreceivedAcksResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def next_sequence_receive( + self, + query_next_sequence_receive_request: "QueryNextSequenceReceiveRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryNextSequenceReceiveResponse": + return await self._unary_unary( + "/ibc.core.channel.v1.Query/NextSequenceReceive", + query_next_sequence_receive_request, + QueryNextSequenceReceiveResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def channel_open_init( + self, msg_channel_open_init: "MsgChannelOpenInit" + ) -> "MsgChannelOpenInitResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_open_try( + self, msg_channel_open_try: "MsgChannelOpenTry" + ) -> "MsgChannelOpenTryResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_open_ack( + self, msg_channel_open_ack: "MsgChannelOpenAck" + ) -> "MsgChannelOpenAckResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_open_confirm( + self, msg_channel_open_confirm: "MsgChannelOpenConfirm" + ) -> "MsgChannelOpenConfirmResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_close_init( + self, msg_channel_close_init: "MsgChannelCloseInit" + ) -> "MsgChannelCloseInitResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_close_confirm( + self, msg_channel_close_confirm: "MsgChannelCloseConfirm" + ) -> "MsgChannelCloseConfirmResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def recv_packet( + self, msg_recv_packet: "MsgRecvPacket" + ) -> "MsgRecvPacketResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def timeout(self, msg_timeout: "MsgTimeout") -> "MsgTimeoutResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def timeout_on_close( + self, msg_timeout_on_close: "MsgTimeoutOnClose" + ) -> "MsgTimeoutOnCloseResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def acknowledgement( + self, msg_acknowledgement: "MsgAcknowledgement" + ) -> "MsgAcknowledgementResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_channel_open_init( + self, + stream: "grpclib.server.Stream[MsgChannelOpenInit, MsgChannelOpenInitResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_open_init(request) + await stream.send_message(response) + + async def __rpc_channel_open_try( + self, + stream: "grpclib.server.Stream[MsgChannelOpenTry, MsgChannelOpenTryResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_open_try(request) + await stream.send_message(response) + + async def __rpc_channel_open_ack( + self, + stream: "grpclib.server.Stream[MsgChannelOpenAck, MsgChannelOpenAckResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_open_ack(request) + await stream.send_message(response) + + async def __rpc_channel_open_confirm( + self, + stream: "grpclib.server.Stream[MsgChannelOpenConfirm, MsgChannelOpenConfirmResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_open_confirm(request) + await stream.send_message(response) + + async def __rpc_channel_close_init( + self, + stream: "grpclib.server.Stream[MsgChannelCloseInit, MsgChannelCloseInitResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_close_init(request) + await stream.send_message(response) + + async def __rpc_channel_close_confirm( + self, + stream: "grpclib.server.Stream[MsgChannelCloseConfirm, MsgChannelCloseConfirmResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_close_confirm(request) + await stream.send_message(response) + + async def __rpc_recv_packet( + self, stream: "grpclib.server.Stream[MsgRecvPacket, MsgRecvPacketResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.recv_packet(request) + await stream.send_message(response) + + async def __rpc_timeout( + self, stream: "grpclib.server.Stream[MsgTimeout, MsgTimeoutResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.timeout(request) + await stream.send_message(response) + + async def __rpc_timeout_on_close( + self, + stream: "grpclib.server.Stream[MsgTimeoutOnClose, MsgTimeoutOnCloseResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.timeout_on_close(request) + await stream.send_message(response) + + async def __rpc_acknowledgement( + self, + stream: "grpclib.server.Stream[MsgAcknowledgement, MsgAcknowledgementResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.acknowledgement(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.channel.v1.Msg/ChannelOpenInit": grpclib.const.Handler( + self.__rpc_channel_open_init, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelOpenInit, + MsgChannelOpenInitResponse, + ), + "/ibc.core.channel.v1.Msg/ChannelOpenTry": grpclib.const.Handler( + self.__rpc_channel_open_try, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelOpenTry, + MsgChannelOpenTryResponse, + ), + "/ibc.core.channel.v1.Msg/ChannelOpenAck": grpclib.const.Handler( + self.__rpc_channel_open_ack, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelOpenAck, + MsgChannelOpenAckResponse, + ), + "/ibc.core.channel.v1.Msg/ChannelOpenConfirm": grpclib.const.Handler( + self.__rpc_channel_open_confirm, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelOpenConfirm, + MsgChannelOpenConfirmResponse, + ), + "/ibc.core.channel.v1.Msg/ChannelCloseInit": grpclib.const.Handler( + self.__rpc_channel_close_init, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelCloseInit, + MsgChannelCloseInitResponse, + ), + "/ibc.core.channel.v1.Msg/ChannelCloseConfirm": grpclib.const.Handler( + self.__rpc_channel_close_confirm, + grpclib.const.Cardinality.UNARY_UNARY, + MsgChannelCloseConfirm, + MsgChannelCloseConfirmResponse, + ), + "/ibc.core.channel.v1.Msg/RecvPacket": grpclib.const.Handler( + self.__rpc_recv_packet, + grpclib.const.Cardinality.UNARY_UNARY, + MsgRecvPacket, + MsgRecvPacketResponse, + ), + "/ibc.core.channel.v1.Msg/Timeout": grpclib.const.Handler( + self.__rpc_timeout, + grpclib.const.Cardinality.UNARY_UNARY, + MsgTimeout, + MsgTimeoutResponse, + ), + "/ibc.core.channel.v1.Msg/TimeoutOnClose": grpclib.const.Handler( + self.__rpc_timeout_on_close, + grpclib.const.Cardinality.UNARY_UNARY, + MsgTimeoutOnClose, + MsgTimeoutOnCloseResponse, + ), + "/ibc.core.channel.v1.Msg/Acknowledgement": grpclib.const.Handler( + self.__rpc_acknowledgement, + grpclib.const.Cardinality.UNARY_UNARY, + MsgAcknowledgement, + MsgAcknowledgementResponse, + ), + } + + +class QueryBase(ServiceBase): + async def channel( + self, query_channel_request: "QueryChannelRequest" + ) -> "QueryChannelResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channels( + self, query_channels_request: "QueryChannelsRequest" + ) -> "QueryChannelsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_channels( + self, query_connection_channels_request: "QueryConnectionChannelsRequest" + ) -> "QueryConnectionChannelsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_client_state( + self, query_channel_client_state_request: "QueryChannelClientStateRequest" + ) -> "QueryChannelClientStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def channel_consensus_state( + self, query_channel_consensus_state_request: "QueryChannelConsensusStateRequest" + ) -> "QueryChannelConsensusStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def packet_commitment( + self, query_packet_commitment_request: "QueryPacketCommitmentRequest" + ) -> "QueryPacketCommitmentResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def packet_commitments( + self, query_packet_commitments_request: "QueryPacketCommitmentsRequest" + ) -> "QueryPacketCommitmentsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def packet_receipt( + self, query_packet_receipt_request: "QueryPacketReceiptRequest" + ) -> "QueryPacketReceiptResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def packet_acknowledgement( + self, query_packet_acknowledgement_request: "QueryPacketAcknowledgementRequest" + ) -> "QueryPacketAcknowledgementResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def packet_acknowledgements( + self, + query_packet_acknowledgements_request: "QueryPacketAcknowledgementsRequest", + ) -> "QueryPacketAcknowledgementsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def unreceived_packets( + self, query_unreceived_packets_request: "QueryUnreceivedPacketsRequest" + ) -> "QueryUnreceivedPacketsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def unreceived_acks( + self, query_unreceived_acks_request: "QueryUnreceivedAcksRequest" + ) -> "QueryUnreceivedAcksResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def next_sequence_receive( + self, query_next_sequence_receive_request: "QueryNextSequenceReceiveRequest" + ) -> "QueryNextSequenceReceiveResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_channel( + self, stream: "grpclib.server.Stream[QueryChannelRequest, QueryChannelResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.channel(request) + await stream.send_message(response) + + async def __rpc_channels( + self, + stream: "grpclib.server.Stream[QueryChannelsRequest, QueryChannelsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channels(request) + await stream.send_message(response) + + async def __rpc_connection_channels( + self, + stream: "grpclib.server.Stream[QueryConnectionChannelsRequest, QueryConnectionChannelsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_channels(request) + await stream.send_message(response) + + async def __rpc_channel_client_state( + self, + stream: "grpclib.server.Stream[QueryChannelClientStateRequest, QueryChannelClientStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_client_state(request) + await stream.send_message(response) + + async def __rpc_channel_consensus_state( + self, + stream: "grpclib.server.Stream[QueryChannelConsensusStateRequest, QueryChannelConsensusStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.channel_consensus_state(request) + await stream.send_message(response) + + async def __rpc_packet_commitment( + self, + stream: "grpclib.server.Stream[QueryPacketCommitmentRequest, QueryPacketCommitmentResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.packet_commitment(request) + await stream.send_message(response) + + async def __rpc_packet_commitments( + self, + stream: "grpclib.server.Stream[QueryPacketCommitmentsRequest, QueryPacketCommitmentsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.packet_commitments(request) + await stream.send_message(response) + + async def __rpc_packet_receipt( + self, + stream: "grpclib.server.Stream[QueryPacketReceiptRequest, QueryPacketReceiptResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.packet_receipt(request) + await stream.send_message(response) + + async def __rpc_packet_acknowledgement( + self, + stream: "grpclib.server.Stream[QueryPacketAcknowledgementRequest, QueryPacketAcknowledgementResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.packet_acknowledgement(request) + await stream.send_message(response) + + async def __rpc_packet_acknowledgements( + self, + stream: "grpclib.server.Stream[QueryPacketAcknowledgementsRequest, QueryPacketAcknowledgementsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.packet_acknowledgements(request) + await stream.send_message(response) + + async def __rpc_unreceived_packets( + self, + stream: "grpclib.server.Stream[QueryUnreceivedPacketsRequest, QueryUnreceivedPacketsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.unreceived_packets(request) + await stream.send_message(response) + + async def __rpc_unreceived_acks( + self, + stream: "grpclib.server.Stream[QueryUnreceivedAcksRequest, QueryUnreceivedAcksResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.unreceived_acks(request) + await stream.send_message(response) + + async def __rpc_next_sequence_receive( + self, + stream: "grpclib.server.Stream[QueryNextSequenceReceiveRequest, QueryNextSequenceReceiveResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.next_sequence_receive(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.channel.v1.Query/Channel": grpclib.const.Handler( + self.__rpc_channel, + grpclib.const.Cardinality.UNARY_UNARY, + QueryChannelRequest, + QueryChannelResponse, + ), + "/ibc.core.channel.v1.Query/Channels": grpclib.const.Handler( + self.__rpc_channels, + grpclib.const.Cardinality.UNARY_UNARY, + QueryChannelsRequest, + QueryChannelsResponse, + ), + "/ibc.core.channel.v1.Query/ConnectionChannels": grpclib.const.Handler( + self.__rpc_connection_channels, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConnectionChannelsRequest, + QueryConnectionChannelsResponse, + ), + "/ibc.core.channel.v1.Query/ChannelClientState": grpclib.const.Handler( + self.__rpc_channel_client_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryChannelClientStateRequest, + QueryChannelClientStateResponse, + ), + "/ibc.core.channel.v1.Query/ChannelConsensusState": grpclib.const.Handler( + self.__rpc_channel_consensus_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryChannelConsensusStateRequest, + QueryChannelConsensusStateResponse, + ), + "/ibc.core.channel.v1.Query/PacketCommitment": grpclib.const.Handler( + self.__rpc_packet_commitment, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPacketCommitmentRequest, + QueryPacketCommitmentResponse, + ), + "/ibc.core.channel.v1.Query/PacketCommitments": grpclib.const.Handler( + self.__rpc_packet_commitments, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPacketCommitmentsRequest, + QueryPacketCommitmentsResponse, + ), + "/ibc.core.channel.v1.Query/PacketReceipt": grpclib.const.Handler( + self.__rpc_packet_receipt, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPacketReceiptRequest, + QueryPacketReceiptResponse, + ), + "/ibc.core.channel.v1.Query/PacketAcknowledgement": grpclib.const.Handler( + self.__rpc_packet_acknowledgement, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPacketAcknowledgementRequest, + QueryPacketAcknowledgementResponse, + ), + "/ibc.core.channel.v1.Query/PacketAcknowledgements": grpclib.const.Handler( + self.__rpc_packet_acknowledgements, + grpclib.const.Cardinality.UNARY_UNARY, + QueryPacketAcknowledgementsRequest, + QueryPacketAcknowledgementsResponse, + ), + "/ibc.core.channel.v1.Query/UnreceivedPackets": grpclib.const.Handler( + self.__rpc_unreceived_packets, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUnreceivedPacketsRequest, + QueryUnreceivedPacketsResponse, + ), + "/ibc.core.channel.v1.Query/UnreceivedAcks": grpclib.const.Handler( + self.__rpc_unreceived_acks, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUnreceivedAcksRequest, + QueryUnreceivedAcksResponse, + ), + "/ibc.core.channel.v1.Query/NextSequenceReceive": grpclib.const.Handler( + self.__rpc_next_sequence_receive, + grpclib.const.Cardinality.UNARY_UNARY, + QueryNextSequenceReceiveRequest, + QueryNextSequenceReceiveResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/core/client/__init__.py b/secret_sdk/protobuf/ibc/core/client/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/client/v1/__init__.py b/secret_sdk/protobuf/ibc/core/client/v1/__init__.py new file mode 100644 index 0000000..585f13c --- /dev/null +++ b/secret_sdk/protobuf/ibc/core/client/v1/__init__.py @@ -0,0 +1,980 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/core/client/v1/client.proto, ibc/core/client/v1/genesis.proto, ibc/core/client/v1/query.proto, ibc/core/client/v1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .....cosmos.base.query import v1beta1 as ____cosmos_base_query_v1_beta1__ +from .....cosmos.upgrade import v1beta1 as ____cosmos_upgrade_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class IdentifiedClientState(betterproto.Message): + """ + IdentifiedClientState defines a client state with an additional client + identifier field. + """ + + client_id: str = betterproto.string_field(1) + """client identifier""" + + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + """client state""" + + +@dataclass(eq=False, repr=False) +class ConsensusStateWithHeight(betterproto.Message): + """ + ConsensusStateWithHeight defines a consensus state with an additional + height field. + """ + + height: "Height" = betterproto.message_field(1) + """consensus state height""" + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 2 + ) + """consensus state""" + + +@dataclass(eq=False, repr=False) +class ClientConsensusStates(betterproto.Message): + """ + ClientConsensusStates defines all the stored consensus states for a given + client. + """ + + client_id: str = betterproto.string_field(1) + """client identifier""" + + consensus_states: List["ConsensusStateWithHeight"] = betterproto.message_field(2) + """consensus states and their heights associated with the client""" + + +@dataclass(eq=False, repr=False) +class ClientUpdateProposal(betterproto.Message): + """ + ClientUpdateProposal is a governance proposal. If it passes, the substitute + client's latest consensus state is copied over to the subject client. The + proposal handler may fail if the subject and the substitute do not match in + client and chain parameters (with exception to latest height, frozen + height, and chain-id). + """ + + title: str = betterproto.string_field(1) + """the title of the update proposal""" + + description: str = betterproto.string_field(2) + """the description of the proposal""" + + subject_client_id: str = betterproto.string_field(3) + """ + the client identifier for the client to be updated if the proposal passes + """ + + substitute_client_id: str = betterproto.string_field(4) + """ + the substitute client identifier for the client standing in for the subject + client + """ + + +@dataclass(eq=False, repr=False) +class UpgradeProposal(betterproto.Message): + """ + UpgradeProposal is a gov Content type for initiating an IBC breaking + upgrade. + """ + + title: str = betterproto.string_field(1) + description: str = betterproto.string_field(2) + plan: "____cosmos_upgrade_v1_beta1__.Plan" = betterproto.message_field(3) + upgraded_client_state: "betterproto_lib_google_protobuf.Any" = ( + betterproto.message_field(4) + ) + """ + An UpgradedClientState must be provided to perform an IBC breaking upgrade. + This will make the chain commit to the correct upgraded (self) client state + before the upgrade occurs, so that connecting chains can verify that the + new upgraded client is valid by verifying a proof on the previous version + of the chain. This will allow IBC connections to persist smoothly across + planned chain upgrades + """ + + +@dataclass(eq=False, repr=False) +class Height(betterproto.Message): + """ + Height is a monotonically increasing data type that can be compared against + another Height for the purposes of updating and freezing clients Normally + the RevisionHeight is incremented at each height while keeping + RevisionNumber the same. However some consensus algorithms may choose to + reset the height in certain conditions e.g. hard forks, state-machine + breaking changes In these cases, the RevisionNumber is incremented so that + height continues to be monitonically increasing even as the RevisionHeight + gets reset + """ + + revision_number: int = betterproto.uint64_field(1) + """the revision that the client is currently on""" + + revision_height: int = betterproto.uint64_field(2) + """the height within the given revision""" + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the set of IBC light client parameters.""" + + allowed_clients: List[str] = betterproto.string_field(1) + """allowed_clients defines the list of allowed client state types.""" + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the ibc client submodule's genesis state.""" + + clients: List["IdentifiedClientState"] = betterproto.message_field(1) + """client states with their corresponding identifiers""" + + clients_consensus: List["ClientConsensusStates"] = betterproto.message_field(2) + """consensus states from each client""" + + clients_metadata: List["IdentifiedGenesisMetadata"] = betterproto.message_field(3) + """metadata from each client""" + + params: "Params" = betterproto.message_field(4) + create_localhost: bool = betterproto.bool_field(5) + """create localhost on initialization""" + + next_client_sequence: int = betterproto.uint64_field(6) + """the sequence for the next generated client identifier""" + + +@dataclass(eq=False, repr=False) +class GenesisMetadata(betterproto.Message): + """ + GenesisMetadata defines the genesis type for metadata that clients may + return with ExportMetadata + """ + + key: bytes = betterproto.bytes_field(1) + """store key of metadata without clientID-prefix""" + + value: bytes = betterproto.bytes_field(2) + """metadata value""" + + +@dataclass(eq=False, repr=False) +class IdentifiedGenesisMetadata(betterproto.Message): + """ + IdentifiedGenesisMetadata has the client metadata with the corresponding + client id. + """ + + client_id: str = betterproto.string_field(1) + client_metadata: List["GenesisMetadata"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class MsgCreateClient(betterproto.Message): + """MsgCreateClient defines a message to create an IBC client""" + + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """light client state""" + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 2 + ) + """ + consensus state associated with the client that corresponds to a given + height. + """ + + signer: str = betterproto.string_field(3) + """signer address""" + + +@dataclass(eq=False, repr=False) +class MsgCreateClientResponse(betterproto.Message): + """MsgCreateClientResponse defines the Msg/CreateClient response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgUpdateClient(betterproto.Message): + """ + MsgUpdateClient defines an sdk.Msg to update a IBC client state using the + given header. + """ + + client_id: str = betterproto.string_field(1) + """client unique identifier""" + + header: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + """header to update the light client""" + + signer: str = betterproto.string_field(3) + """signer address""" + + +@dataclass(eq=False, repr=False) +class MsgUpdateClientResponse(betterproto.Message): + """MsgUpdateClientResponse defines the Msg/UpdateClient response type.""" + + pass + + +@dataclass(eq=False, repr=False) +class MsgUpgradeClient(betterproto.Message): + """ + MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new + client state + """ + + client_id: str = betterproto.string_field(1) + """client unique identifier""" + + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + """upgraded client state""" + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 3 + ) + """ + upgraded consensus state, only contains enough information to serve as a + basis of trust in update logic + """ + + proof_upgrade_client: bytes = betterproto.bytes_field(4) + """proof that old chain committed to new client""" + + proof_upgrade_consensus_state: bytes = betterproto.bytes_field(5) + """proof that old chain committed to new consensus state""" + + signer: str = betterproto.string_field(6) + """signer address""" + + +@dataclass(eq=False, repr=False) +class MsgUpgradeClientResponse(betterproto.Message): + """ + MsgUpgradeClientResponse defines the Msg/UpgradeClient response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgSubmitMisbehaviour(betterproto.Message): + """ + MsgSubmitMisbehaviour defines an sdk.Msg type that submits Evidence for + light client misbehaviour. + """ + + client_id: str = betterproto.string_field(1) + """client unique identifier""" + + misbehaviour: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + """misbehaviour used for freezing the light client""" + + signer: str = betterproto.string_field(3) + """signer address""" + + +@dataclass(eq=False, repr=False) +class MsgSubmitMisbehaviourResponse(betterproto.Message): + """ + MsgSubmitMisbehaviourResponse defines the Msg/SubmitMisbehaviour response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryClientStateRequest(betterproto.Message): + """ + QueryClientStateRequest is the request type for the Query/ClientState RPC + method + """ + + client_id: str = betterproto.string_field(1) + """client state unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryClientStateResponse(betterproto.Message): + """ + QueryClientStateResponse is the response type for the Query/ClientState RPC + method. Besides the client state, it includes a proof and the height from + which the proof was retrieved. + """ + + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """client state associated with the request identifier""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryClientStatesRequest(betterproto.Message): + """ + QueryClientStatesRequest is the request type for the Query/ClientStates RPC + method + """ + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(1) + ) + """pagination request""" + + +@dataclass(eq=False, repr=False) +class QueryClientStatesResponse(betterproto.Message): + """ + QueryClientStatesResponse is the response type for the Query/ClientStates + RPC method. + """ + + client_states: List["IdentifiedClientState"] = betterproto.message_field(1) + """list of stored ClientStates of the chain.""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + +@dataclass(eq=False, repr=False) +class QueryConsensusStateRequest(betterproto.Message): + """ + QueryConsensusStateRequest is the request type for the Query/ConsensusState + RPC method. Besides the consensus state, it includes a proof and the height + from which the proof was retrieved. + """ + + client_id: str = betterproto.string_field(1) + """client identifier""" + + revision_number: int = betterproto.uint64_field(2) + """consensus state revision number""" + + revision_height: int = betterproto.uint64_field(3) + """consensus state revision height""" + + latest_height: bool = betterproto.bool_field(4) + """ + latest_height overrrides the height field and queries the latest stored + ConsensusState + """ + + +@dataclass(eq=False, repr=False) +class QueryConsensusStateResponse(betterproto.Message): + """ + QueryConsensusStateResponse is the response type for the + Query/ConsensusState RPC method + """ + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 1 + ) + """ + consensus state associated with the client identifier at the given height + """ + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryConsensusStatesRequest(betterproto.Message): + """ + QueryConsensusStatesRequest is the request type for the + Query/ConsensusStates RPC method. + """ + + client_id: str = betterproto.string_field(1) + """client identifier""" + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(2) + ) + """pagination request""" + + +@dataclass(eq=False, repr=False) +class QueryConsensusStatesResponse(betterproto.Message): + """ + QueryConsensusStatesResponse is the response type for the + Query/ConsensusStates RPC method + """ + + consensus_states: List["ConsensusStateWithHeight"] = betterproto.message_field(1) + """consensus states associated with the identifier""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + +@dataclass(eq=False, repr=False) +class QueryClientStatusRequest(betterproto.Message): + """ + QueryClientStatusRequest is the request type for the Query/ClientStatus RPC + method + """ + + client_id: str = betterproto.string_field(1) + """client unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryClientStatusResponse(betterproto.Message): + """ + QueryClientStatusResponse is the response type for the Query/ClientStatus + RPC method. It returns the current status of the IBC client. + """ + + status: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class QueryClientParamsRequest(betterproto.Message): + """ + QueryClientParamsRequest is the request type for the Query/ClientParams RPC + method. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryClientParamsResponse(betterproto.Message): + """ + QueryClientParamsResponse is the response type for the Query/ClientParams + RPC method. + """ + + params: "Params" = betterproto.message_field(1) + """params defines the parameters of the module.""" + + +@dataclass(eq=False, repr=False) +class QueryUpgradedClientStateRequest(betterproto.Message): + """ + QueryUpgradedClientStateRequest is the request type for the + Query/UpgradedClientState RPC method + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryUpgradedClientStateResponse(betterproto.Message): + """ + QueryUpgradedClientStateResponse is the response type for the + Query/UpgradedClientState RPC method. + """ + + upgraded_client_state: "betterproto_lib_google_protobuf.Any" = ( + betterproto.message_field(1) + ) + """client state associated with the request identifier""" + + +@dataclass(eq=False, repr=False) +class QueryUpgradedConsensusStateRequest(betterproto.Message): + """ + QueryUpgradedConsensusStateRequest is the request type for the + Query/UpgradedConsensusState RPC method + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryUpgradedConsensusStateResponse(betterproto.Message): + """ + QueryUpgradedConsensusStateResponse is the response type for the + Query/UpgradedConsensusState RPC method. + """ + + upgraded_consensus_state: "betterproto_lib_google_protobuf.Any" = ( + betterproto.message_field(1) + ) + """Consensus state associated with the request identifier""" + + +class MsgStub(betterproto.ServiceStub): + async def create_client( + self, + msg_create_client: "MsgCreateClient", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgCreateClientResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Msg/CreateClient", + msg_create_client, + MsgCreateClientResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def update_client( + self, + msg_update_client: "MsgUpdateClient", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgUpdateClientResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Msg/UpdateClient", + msg_update_client, + MsgUpdateClientResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def upgrade_client( + self, + msg_upgrade_client: "MsgUpgradeClient", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgUpgradeClientResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Msg/UpgradeClient", + msg_upgrade_client, + MsgUpgradeClientResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def submit_misbehaviour( + self, + msg_submit_misbehaviour: "MsgSubmitMisbehaviour", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSubmitMisbehaviourResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Msg/SubmitMisbehaviour", + msg_submit_misbehaviour, + MsgSubmitMisbehaviourResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def client_state( + self, + query_client_state_request: "QueryClientStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryClientStateResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ClientState", + query_client_state_request, + QueryClientStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def client_states( + self, + query_client_states_request: "QueryClientStatesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryClientStatesResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ClientStates", + query_client_states_request, + QueryClientStatesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def consensus_state( + self, + query_consensus_state_request: "QueryConsensusStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConsensusStateResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ConsensusState", + query_consensus_state_request, + QueryConsensusStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def consensus_states( + self, + query_consensus_states_request: "QueryConsensusStatesRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConsensusStatesResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ConsensusStates", + query_consensus_states_request, + QueryConsensusStatesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def client_status( + self, + query_client_status_request: "QueryClientStatusRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryClientStatusResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ClientStatus", + query_client_status_request, + QueryClientStatusResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def client_params( + self, + query_client_params_request: "QueryClientParamsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryClientParamsResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/ClientParams", + query_client_params_request, + QueryClientParamsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def upgraded_client_state( + self, + query_upgraded_client_state_request: "QueryUpgradedClientStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUpgradedClientStateResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/UpgradedClientState", + query_upgraded_client_state_request, + QueryUpgradedClientStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def upgraded_consensus_state( + self, + query_upgraded_consensus_state_request: "QueryUpgradedConsensusStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryUpgradedConsensusStateResponse": + return await self._unary_unary( + "/ibc.core.client.v1.Query/UpgradedConsensusState", + query_upgraded_consensus_state_request, + QueryUpgradedConsensusStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def create_client( + self, msg_create_client: "MsgCreateClient" + ) -> "MsgCreateClientResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def update_client( + self, msg_update_client: "MsgUpdateClient" + ) -> "MsgUpdateClientResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def upgrade_client( + self, msg_upgrade_client: "MsgUpgradeClient" + ) -> "MsgUpgradeClientResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def submit_misbehaviour( + self, msg_submit_misbehaviour: "MsgSubmitMisbehaviour" + ) -> "MsgSubmitMisbehaviourResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_create_client( + self, stream: "grpclib.server.Stream[MsgCreateClient, MsgCreateClientResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.create_client(request) + await stream.send_message(response) + + async def __rpc_update_client( + self, stream: "grpclib.server.Stream[MsgUpdateClient, MsgUpdateClientResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.update_client(request) + await stream.send_message(response) + + async def __rpc_upgrade_client( + self, + stream: "grpclib.server.Stream[MsgUpgradeClient, MsgUpgradeClientResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.upgrade_client(request) + await stream.send_message(response) + + async def __rpc_submit_misbehaviour( + self, + stream: "grpclib.server.Stream[MsgSubmitMisbehaviour, MsgSubmitMisbehaviourResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.submit_misbehaviour(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.client.v1.Msg/CreateClient": grpclib.const.Handler( + self.__rpc_create_client, + grpclib.const.Cardinality.UNARY_UNARY, + MsgCreateClient, + MsgCreateClientResponse, + ), + "/ibc.core.client.v1.Msg/UpdateClient": grpclib.const.Handler( + self.__rpc_update_client, + grpclib.const.Cardinality.UNARY_UNARY, + MsgUpdateClient, + MsgUpdateClientResponse, + ), + "/ibc.core.client.v1.Msg/UpgradeClient": grpclib.const.Handler( + self.__rpc_upgrade_client, + grpclib.const.Cardinality.UNARY_UNARY, + MsgUpgradeClient, + MsgUpgradeClientResponse, + ), + "/ibc.core.client.v1.Msg/SubmitMisbehaviour": grpclib.const.Handler( + self.__rpc_submit_misbehaviour, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSubmitMisbehaviour, + MsgSubmitMisbehaviourResponse, + ), + } + + +class QueryBase(ServiceBase): + async def client_state( + self, query_client_state_request: "QueryClientStateRequest" + ) -> "QueryClientStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def client_states( + self, query_client_states_request: "QueryClientStatesRequest" + ) -> "QueryClientStatesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def consensus_state( + self, query_consensus_state_request: "QueryConsensusStateRequest" + ) -> "QueryConsensusStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def consensus_states( + self, query_consensus_states_request: "QueryConsensusStatesRequest" + ) -> "QueryConsensusStatesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def client_status( + self, query_client_status_request: "QueryClientStatusRequest" + ) -> "QueryClientStatusResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def client_params( + self, query_client_params_request: "QueryClientParamsRequest" + ) -> "QueryClientParamsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def upgraded_client_state( + self, query_upgraded_client_state_request: "QueryUpgradedClientStateRequest" + ) -> "QueryUpgradedClientStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def upgraded_consensus_state( + self, + query_upgraded_consensus_state_request: "QueryUpgradedConsensusStateRequest", + ) -> "QueryUpgradedConsensusStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_client_state( + self, + stream: "grpclib.server.Stream[QueryClientStateRequest, QueryClientStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.client_state(request) + await stream.send_message(response) + + async def __rpc_client_states( + self, + stream: "grpclib.server.Stream[QueryClientStatesRequest, QueryClientStatesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.client_states(request) + await stream.send_message(response) + + async def __rpc_consensus_state( + self, + stream: "grpclib.server.Stream[QueryConsensusStateRequest, QueryConsensusStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.consensus_state(request) + await stream.send_message(response) + + async def __rpc_consensus_states( + self, + stream: "grpclib.server.Stream[QueryConsensusStatesRequest, QueryConsensusStatesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.consensus_states(request) + await stream.send_message(response) + + async def __rpc_client_status( + self, + stream: "grpclib.server.Stream[QueryClientStatusRequest, QueryClientStatusResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.client_status(request) + await stream.send_message(response) + + async def __rpc_client_params( + self, + stream: "grpclib.server.Stream[QueryClientParamsRequest, QueryClientParamsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.client_params(request) + await stream.send_message(response) + + async def __rpc_upgraded_client_state( + self, + stream: "grpclib.server.Stream[QueryUpgradedClientStateRequest, QueryUpgradedClientStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.upgraded_client_state(request) + await stream.send_message(response) + + async def __rpc_upgraded_consensus_state( + self, + stream: "grpclib.server.Stream[QueryUpgradedConsensusStateRequest, QueryUpgradedConsensusStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.upgraded_consensus_state(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.client.v1.Query/ClientState": grpclib.const.Handler( + self.__rpc_client_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryClientStateRequest, + QueryClientStateResponse, + ), + "/ibc.core.client.v1.Query/ClientStates": grpclib.const.Handler( + self.__rpc_client_states, + grpclib.const.Cardinality.UNARY_UNARY, + QueryClientStatesRequest, + QueryClientStatesResponse, + ), + "/ibc.core.client.v1.Query/ConsensusState": grpclib.const.Handler( + self.__rpc_consensus_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConsensusStateRequest, + QueryConsensusStateResponse, + ), + "/ibc.core.client.v1.Query/ConsensusStates": grpclib.const.Handler( + self.__rpc_consensus_states, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConsensusStatesRequest, + QueryConsensusStatesResponse, + ), + "/ibc.core.client.v1.Query/ClientStatus": grpclib.const.Handler( + self.__rpc_client_status, + grpclib.const.Cardinality.UNARY_UNARY, + QueryClientStatusRequest, + QueryClientStatusResponse, + ), + "/ibc.core.client.v1.Query/ClientParams": grpclib.const.Handler( + self.__rpc_client_params, + grpclib.const.Cardinality.UNARY_UNARY, + QueryClientParamsRequest, + QueryClientParamsResponse, + ), + "/ibc.core.client.v1.Query/UpgradedClientState": grpclib.const.Handler( + self.__rpc_upgraded_client_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUpgradedClientStateRequest, + QueryUpgradedClientStateResponse, + ), + "/ibc.core.client.v1.Query/UpgradedConsensusState": grpclib.const.Handler( + self.__rpc_upgraded_consensus_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryUpgradedConsensusStateRequest, + QueryUpgradedConsensusStateResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/core/commitment/__init__.py b/secret_sdk/protobuf/ibc/core/commitment/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/commitment/v1/__init__.py b/secret_sdk/protobuf/ibc/core/commitment/v1/__init__.py new file mode 100644 index 0000000..cb4c986 --- /dev/null +++ b/secret_sdk/protobuf/ibc/core/commitment/v1/__init__.py @@ -0,0 +1,53 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/core/commitment/v1/commitment.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + +from ..... import ics23 as ____ics23__ + + +@dataclass(eq=False, repr=False) +class MerkleRoot(betterproto.Message): + """ + MerkleRoot defines a merkle root hash. In the Cosmos SDK, the AppHash of a + block header becomes the root. + """ + + hash: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class MerklePrefix(betterproto.Message): + """ + MerklePrefix is merkle path prefixed to the key. The constructed key from + the Path and the key will be append(Path.KeyPath, append(Path.KeyPrefix, + key...)) + """ + + key_prefix: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class MerklePath(betterproto.Message): + """ + MerklePath is the path used to verify commitment proofs, which can be an + arbitrary structured object (defined by a commitment type). MerklePath is + represented from root-to-leaf + """ + + key_path: List[str] = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class MerkleProof(betterproto.Message): + """ + MerkleProof is a wrapper type over a chain of CommitmentProofs. It + demonstrates membership or non-membership for an element or set of + elements, verifiable in conjunction with a known commitment root. Proofs + should be succinct. MerkleProofs are ordered from leaf-to-root + """ + + proofs: List["____ics23__.CommitmentProof"] = betterproto.message_field(1) diff --git a/secret_sdk/protobuf/ibc/core/connection/__init__.py b/secret_sdk/protobuf/ibc/core/connection/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/connection/v1/__init__.py b/secret_sdk/protobuf/ibc/core/connection/v1/__init__.py new file mode 100644 index 0000000..7845b19 --- /dev/null +++ b/secret_sdk/protobuf/ibc/core/connection/v1/__init__.py @@ -0,0 +1,819 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/core/connection/v1/connection.proto, ibc/core/connection/v1/genesis.proto, ibc/core/connection/v1/query.proto, ibc/core/connection/v1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .....cosmos.base.query import v1beta1 as ____cosmos_base_query_v1_beta1__ +from ...client import v1 as __client_v1__ +from ...commitment import v1 as __commitment_v1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class State(betterproto.Enum): + """ + State defines if a connection is in one of the following states: INIT, + TRYOPEN, OPEN or UNINITIALIZED. + """ + + STATE_UNINITIALIZED_UNSPECIFIED = 0 + """Default State""" + + STATE_INIT = 1 + """A connection end has just started the opening handshake.""" + + STATE_TRYOPEN = 2 + """ + A connection end has acknowledged the handshake step on the counterparty + chain. + """ + + STATE_OPEN = 3 + """A connection end has completed the handshake.""" + + +@dataclass(eq=False, repr=False) +class ConnectionEnd(betterproto.Message): + """ + ConnectionEnd defines a stateful object on a chain connected to another + separate one. NOTE: there must only be 2 defined ConnectionEnds to + establish a connection between two chains. + """ + + client_id: str = betterproto.string_field(1) + """client associated with this connection.""" + + versions: List["Version"] = betterproto.message_field(2) + """ + IBC version which can be utilised to determine encodings or protocols for + channels or packets utilising this connection. + """ + + state: "State" = betterproto.enum_field(3) + """current state of the connection end.""" + + counterparty: "Counterparty" = betterproto.message_field(4) + """counterparty chain associated with this connection.""" + + delay_period: int = betterproto.uint64_field(5) + """ + delay period that must pass before a consensus state can be used for + packet-verification NOTE: delay period logic is only implemented by some + clients. + """ + + +@dataclass(eq=False, repr=False) +class IdentifiedConnection(betterproto.Message): + """ + IdentifiedConnection defines a connection with additional connection + identifier field. + """ + + id: str = betterproto.string_field(1) + """connection identifier.""" + + client_id: str = betterproto.string_field(2) + """client associated with this connection.""" + + versions: List["Version"] = betterproto.message_field(3) + """ + IBC version which can be utilised to determine encodings or protocols for + channels or packets utilising this connection + """ + + state: "State" = betterproto.enum_field(4) + """current state of the connection end.""" + + counterparty: "Counterparty" = betterproto.message_field(5) + """counterparty chain associated with this connection.""" + + delay_period: int = betterproto.uint64_field(6) + """delay period associated with this connection.""" + + +@dataclass(eq=False, repr=False) +class Counterparty(betterproto.Message): + """ + Counterparty defines the counterparty chain associated with a connection + end. + """ + + client_id: str = betterproto.string_field(1) + """ + identifies the client on the counterparty chain associated with a given + connection. + """ + + connection_id: str = betterproto.string_field(2) + """ + identifies the connection end on the counterparty chain associated with a + given connection. + """ + + prefix: "__commitment_v1__.MerklePrefix" = betterproto.message_field(3) + """commitment merkle prefix of the counterparty chain.""" + + +@dataclass(eq=False, repr=False) +class ClientPaths(betterproto.Message): + """ClientPaths define all the connection paths for a client state.""" + + paths: List[str] = betterproto.string_field(1) + """list of connection paths""" + + +@dataclass(eq=False, repr=False) +class ConnectionPaths(betterproto.Message): + """ + ConnectionPaths define all the connection paths for a given client state. + """ + + client_id: str = betterproto.string_field(1) + """client state unique identifier""" + + paths: List[str] = betterproto.string_field(2) + """list of connection paths""" + + +@dataclass(eq=False, repr=False) +class Version(betterproto.Message): + """ + Version defines the versioning scheme used to negotiate the IBC verison in + the connection handshake. + """ + + identifier: str = betterproto.string_field(1) + """unique version identifier""" + + features: List[str] = betterproto.string_field(2) + """list of features compatible with the specified identifier""" + + +@dataclass(eq=False, repr=False) +class Params(betterproto.Message): + """Params defines the set of Connection parameters.""" + + max_expected_time_per_block: int = betterproto.uint64_field(1) + """ + maximum expected time per block (in nanoseconds), used to enforce block + delay. This parameter should reflect the largest amount of time that the + chain might reasonably take to produce the next block under normal + operating conditions. A safe choice is 3-5x the expected time per block. + """ + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the ibc connection submodule's genesis state.""" + + connections: List["IdentifiedConnection"] = betterproto.message_field(1) + client_connection_paths: List["ConnectionPaths"] = betterproto.message_field(2) + next_connection_sequence: int = betterproto.uint64_field(3) + """the sequence for the next generated connection identifier""" + + params: "Params" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenInit(betterproto.Message): + """ + MsgConnectionOpenInit defines the msg sent by an account on Chain A to + initialize a connection with Chain B. + """ + + client_id: str = betterproto.string_field(1) + counterparty: "Counterparty" = betterproto.message_field(2) + version: "Version" = betterproto.message_field(3) + delay_period: int = betterproto.uint64_field(4) + signer: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenInitResponse(betterproto.Message): + """ + MsgConnectionOpenInitResponse defines the Msg/ConnectionOpenInit response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenTry(betterproto.Message): + """ + MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a + connection on Chain B. + """ + + client_id: str = betterproto.string_field(1) + previous_connection_id: str = betterproto.string_field(2) + """ + in the case of crossing hello's, when both chains call OpenInit, we need + the connection identifier of the previous connection in state INIT + """ + + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(3) + counterparty: "Counterparty" = betterproto.message_field(4) + delay_period: int = betterproto.uint64_field(5) + counterparty_versions: List["Version"] = betterproto.message_field(6) + proof_height: "__client_v1__.Height" = betterproto.message_field(7) + proof_init: bytes = betterproto.bytes_field(8) + """ + proof of the initialization the connection on Chain A: `UNITIALIZED -> + INIT` + """ + + proof_client: bytes = betterproto.bytes_field(9) + """proof of client state included in message""" + + proof_consensus: bytes = betterproto.bytes_field(10) + """proof of client consensus state""" + + consensus_height: "__client_v1__.Height" = betterproto.message_field(11) + signer: str = betterproto.string_field(12) + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenTryResponse(betterproto.Message): + """ + MsgConnectionOpenTryResponse defines the Msg/ConnectionOpenTry response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenAck(betterproto.Message): + """ + MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to + acknowledge the change of connection state to TRYOPEN on Chain B. + """ + + connection_id: str = betterproto.string_field(1) + counterparty_connection_id: str = betterproto.string_field(2) + version: "Version" = betterproto.message_field(3) + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(4) + proof_height: "__client_v1__.Height" = betterproto.message_field(5) + proof_try: bytes = betterproto.bytes_field(6) + """ + proof of the initialization the connection on Chain B: `UNITIALIZED -> + TRYOPEN` + """ + + proof_client: bytes = betterproto.bytes_field(7) + """proof of client state included in message""" + + proof_consensus: bytes = betterproto.bytes_field(8) + """proof of client consensus state""" + + consensus_height: "__client_v1__.Height" = betterproto.message_field(9) + signer: str = betterproto.string_field(10) + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenAckResponse(betterproto.Message): + """ + MsgConnectionOpenAckResponse defines the Msg/ConnectionOpenAck response + type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenConfirm(betterproto.Message): + """ + MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to + acknowledge the change of connection state to OPEN on Chain A. + """ + + connection_id: str = betterproto.string_field(1) + proof_ack: bytes = betterproto.bytes_field(2) + """ + proof for the change of the connection state on Chain A: `INIT -> OPEN` + """ + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + signer: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class MsgConnectionOpenConfirmResponse(betterproto.Message): + """ + MsgConnectionOpenConfirmResponse defines the Msg/ConnectionOpenConfirm + response type. + """ + + pass + + +@dataclass(eq=False, repr=False) +class QueryConnectionRequest(betterproto.Message): + """ + QueryConnectionRequest is the request type for the Query/Connection RPC + method + """ + + connection_id: str = betterproto.string_field(1) + """connection unique identifier""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionResponse(betterproto.Message): + """ + QueryConnectionResponse is the response type for the Query/Connection RPC + method. Besides the connection end, it includes a proof and the height from + which the proof was retrieved. + """ + + connection: "ConnectionEnd" = betterproto.message_field(1) + """connection associated with the request identifier""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionsRequest(betterproto.Message): + """ + QueryConnectionsRequest is the request type for the Query/Connections RPC + method + """ + + pagination: "____cosmos_base_query_v1_beta1__.PageRequest" = ( + betterproto.message_field(1) + ) + + +@dataclass(eq=False, repr=False) +class QueryConnectionsResponse(betterproto.Message): + """ + QueryConnectionsResponse is the response type for the Query/Connections RPC + method. + """ + + connections: List["IdentifiedConnection"] = betterproto.message_field(1) + """list of stored connections of the chain.""" + + pagination: "____cosmos_base_query_v1_beta1__.PageResponse" = ( + betterproto.message_field(2) + ) + """pagination response""" + + height: "__client_v1__.Height" = betterproto.message_field(3) + """query block height""" + + +@dataclass(eq=False, repr=False) +class QueryClientConnectionsRequest(betterproto.Message): + """ + QueryClientConnectionsRequest is the request type for the + Query/ClientConnections RPC method + """ + + client_id: str = betterproto.string_field(1) + """client identifier associated with a connection""" + + +@dataclass(eq=False, repr=False) +class QueryClientConnectionsResponse(betterproto.Message): + """ + QueryClientConnectionsResponse is the response type for the + Query/ClientConnections RPC method + """ + + connection_paths: List[str] = betterproto.string_field(1) + """slice of all the connection paths associated with a client.""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was generated""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionClientStateRequest(betterproto.Message): + """ + QueryConnectionClientStateRequest is the request type for the + Query/ConnectionClientState RPC method + """ + + connection_id: str = betterproto.string_field(1) + """connection identifier""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionClientStateResponse(betterproto.Message): + """ + QueryConnectionClientStateResponse is the response type for the + Query/ConnectionClientState RPC method + """ + + identified_client_state: "__client_v1__.IdentifiedClientState" = ( + betterproto.message_field(1) + ) + """client state associated with the channel""" + + proof: bytes = betterproto.bytes_field(2) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(3) + """height at which the proof was retrieved""" + + +@dataclass(eq=False, repr=False) +class QueryConnectionConsensusStateRequest(betterproto.Message): + """ + QueryConnectionConsensusStateRequest is the request type for the + Query/ConnectionConsensusState RPC method + """ + + connection_id: str = betterproto.string_field(1) + """connection identifier""" + + revision_number: int = betterproto.uint64_field(2) + revision_height: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class QueryConnectionConsensusStateResponse(betterproto.Message): + """ + QueryConnectionConsensusStateResponse is the response type for the + Query/ConnectionConsensusState RPC method + """ + + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 1 + ) + """consensus state associated with the channel""" + + client_id: str = betterproto.string_field(2) + """client ID associated with the consensus state""" + + proof: bytes = betterproto.bytes_field(3) + """merkle proof of existence""" + + proof_height: "__client_v1__.Height" = betterproto.message_field(4) + """height at which the proof was retrieved""" + + +class MsgStub(betterproto.ServiceStub): + async def connection_open_init( + self, + msg_connection_open_init: "MsgConnectionOpenInit", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgConnectionOpenInitResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Msg/ConnectionOpenInit", + msg_connection_open_init, + MsgConnectionOpenInitResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_open_try( + self, + msg_connection_open_try: "MsgConnectionOpenTry", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgConnectionOpenTryResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Msg/ConnectionOpenTry", + msg_connection_open_try, + MsgConnectionOpenTryResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_open_ack( + self, + msg_connection_open_ack: "MsgConnectionOpenAck", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgConnectionOpenAckResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Msg/ConnectionOpenAck", + msg_connection_open_ack, + MsgConnectionOpenAckResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_open_confirm( + self, + msg_connection_open_confirm: "MsgConnectionOpenConfirm", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgConnectionOpenConfirmResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Msg/ConnectionOpenConfirm", + msg_connection_open_confirm, + MsgConnectionOpenConfirmResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def connection( + self, + query_connection_request: "QueryConnectionRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConnectionResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Query/Connection", + query_connection_request, + QueryConnectionResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connections( + self, + query_connections_request: "QueryConnectionsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConnectionsResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Query/Connections", + query_connections_request, + QueryConnectionsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def client_connections( + self, + query_client_connections_request: "QueryClientConnectionsRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryClientConnectionsResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Query/ClientConnections", + query_client_connections_request, + QueryClientConnectionsResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_client_state( + self, + query_connection_client_state_request: "QueryConnectionClientStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConnectionClientStateResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Query/ConnectionClientState", + query_connection_client_state_request, + QueryConnectionClientStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def connection_consensus_state( + self, + query_connection_consensus_state_request: "QueryConnectionConsensusStateRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryConnectionConsensusStateResponse": + return await self._unary_unary( + "/ibc.core.connection.v1.Query/ConnectionConsensusState", + query_connection_consensus_state_request, + QueryConnectionConsensusStateResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def connection_open_init( + self, msg_connection_open_init: "MsgConnectionOpenInit" + ) -> "MsgConnectionOpenInitResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_open_try( + self, msg_connection_open_try: "MsgConnectionOpenTry" + ) -> "MsgConnectionOpenTryResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_open_ack( + self, msg_connection_open_ack: "MsgConnectionOpenAck" + ) -> "MsgConnectionOpenAckResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_open_confirm( + self, msg_connection_open_confirm: "MsgConnectionOpenConfirm" + ) -> "MsgConnectionOpenConfirmResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_connection_open_init( + self, + stream: "grpclib.server.Stream[MsgConnectionOpenInit, MsgConnectionOpenInitResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_open_init(request) + await stream.send_message(response) + + async def __rpc_connection_open_try( + self, + stream: "grpclib.server.Stream[MsgConnectionOpenTry, MsgConnectionOpenTryResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_open_try(request) + await stream.send_message(response) + + async def __rpc_connection_open_ack( + self, + stream: "grpclib.server.Stream[MsgConnectionOpenAck, MsgConnectionOpenAckResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_open_ack(request) + await stream.send_message(response) + + async def __rpc_connection_open_confirm( + self, + stream: "grpclib.server.Stream[MsgConnectionOpenConfirm, MsgConnectionOpenConfirmResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_open_confirm(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.connection.v1.Msg/ConnectionOpenInit": grpclib.const.Handler( + self.__rpc_connection_open_init, + grpclib.const.Cardinality.UNARY_UNARY, + MsgConnectionOpenInit, + MsgConnectionOpenInitResponse, + ), + "/ibc.core.connection.v1.Msg/ConnectionOpenTry": grpclib.const.Handler( + self.__rpc_connection_open_try, + grpclib.const.Cardinality.UNARY_UNARY, + MsgConnectionOpenTry, + MsgConnectionOpenTryResponse, + ), + "/ibc.core.connection.v1.Msg/ConnectionOpenAck": grpclib.const.Handler( + self.__rpc_connection_open_ack, + grpclib.const.Cardinality.UNARY_UNARY, + MsgConnectionOpenAck, + MsgConnectionOpenAckResponse, + ), + "/ibc.core.connection.v1.Msg/ConnectionOpenConfirm": grpclib.const.Handler( + self.__rpc_connection_open_confirm, + grpclib.const.Cardinality.UNARY_UNARY, + MsgConnectionOpenConfirm, + MsgConnectionOpenConfirmResponse, + ), + } + + +class QueryBase(ServiceBase): + async def connection( + self, query_connection_request: "QueryConnectionRequest" + ) -> "QueryConnectionResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connections( + self, query_connections_request: "QueryConnectionsRequest" + ) -> "QueryConnectionsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def client_connections( + self, query_client_connections_request: "QueryClientConnectionsRequest" + ) -> "QueryClientConnectionsResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_client_state( + self, query_connection_client_state_request: "QueryConnectionClientStateRequest" + ) -> "QueryConnectionClientStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def connection_consensus_state( + self, + query_connection_consensus_state_request: "QueryConnectionConsensusStateRequest", + ) -> "QueryConnectionConsensusStateResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_connection( + self, + stream: "grpclib.server.Stream[QueryConnectionRequest, QueryConnectionResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection(request) + await stream.send_message(response) + + async def __rpc_connections( + self, + stream: "grpclib.server.Stream[QueryConnectionsRequest, QueryConnectionsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connections(request) + await stream.send_message(response) + + async def __rpc_client_connections( + self, + stream: "grpclib.server.Stream[QueryClientConnectionsRequest, QueryClientConnectionsResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.client_connections(request) + await stream.send_message(response) + + async def __rpc_connection_client_state( + self, + stream: "grpclib.server.Stream[QueryConnectionClientStateRequest, QueryConnectionClientStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_client_state(request) + await stream.send_message(response) + + async def __rpc_connection_consensus_state( + self, + stream: "grpclib.server.Stream[QueryConnectionConsensusStateRequest, QueryConnectionConsensusStateResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.connection_consensus_state(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/ibc.core.connection.v1.Query/Connection": grpclib.const.Handler( + self.__rpc_connection, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConnectionRequest, + QueryConnectionResponse, + ), + "/ibc.core.connection.v1.Query/Connections": grpclib.const.Handler( + self.__rpc_connections, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConnectionsRequest, + QueryConnectionsResponse, + ), + "/ibc.core.connection.v1.Query/ClientConnections": grpclib.const.Handler( + self.__rpc_client_connections, + grpclib.const.Cardinality.UNARY_UNARY, + QueryClientConnectionsRequest, + QueryClientConnectionsResponse, + ), + "/ibc.core.connection.v1.Query/ConnectionClientState": grpclib.const.Handler( + self.__rpc_connection_client_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConnectionClientStateRequest, + QueryConnectionClientStateResponse, + ), + "/ibc.core.connection.v1.Query/ConnectionConsensusState": grpclib.const.Handler( + self.__rpc_connection_consensus_state, + grpclib.const.Cardinality.UNARY_UNARY, + QueryConnectionConsensusStateRequest, + QueryConnectionConsensusStateResponse, + ), + } diff --git a/secret_sdk/protobuf/ibc/core/types/__init__.py b/secret_sdk/protobuf/ibc/core/types/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/core/types/v1/__init__.py b/secret_sdk/protobuf/ibc/core/types/v1/__init__.py new file mode 100644 index 0000000..05f4c5a --- /dev/null +++ b/secret_sdk/protobuf/ibc/core/types/v1/__init__.py @@ -0,0 +1,24 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/core/types/v1/genesis.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + +from ...channel import v1 as __channel_v1__ +from ...client import v1 as __client_v1__ +from ...connection import v1 as __connection_v1__ + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState defines the ibc module's genesis state.""" + + client_genesis: "__client_v1__.GenesisState" = betterproto.message_field(1) + """ICS002 - Clients genesis state""" + + connection_genesis: "__connection_v1__.GenesisState" = betterproto.message_field(2) + """ICS003 - Connections genesis state""" + + channel_genesis: "__channel_v1__.GenesisState" = betterproto.message_field(3) + """ICS004 - Channel genesis state""" diff --git a/secret_sdk/protobuf/ibc/lightclients/__init__.py b/secret_sdk/protobuf/ibc/lightclients/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/lightclients/localhost/__init__.py b/secret_sdk/protobuf/ibc/lightclients/localhost/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/lightclients/localhost/v1/__init__.py b/secret_sdk/protobuf/ibc/lightclients/localhost/v1/__init__.py new file mode 100644 index 0000000..8207bda --- /dev/null +++ b/secret_sdk/protobuf/ibc/lightclients/localhost/v1/__init__.py @@ -0,0 +1,22 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/lightclients/localhost/v1/localhost.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + +from ....core.client import v1 as ___core_client_v1__ + + +@dataclass(eq=False, repr=False) +class ClientState(betterproto.Message): + """ + ClientState defines a loopback (localhost) client. It requires (read-only) + access to keys outside the client prefix. + """ + + chain_id: str = betterproto.string_field(1) + """self chain ID""" + + height: "___core_client_v1__.Height" = betterproto.message_field(2) + """self latest block height""" diff --git a/secret_sdk/protobuf/ibc/lightclients/solomachine/__init__.py b/secret_sdk/protobuf/ibc/lightclients/solomachine/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/lightclients/solomachine/v1/__init__.py b/secret_sdk/protobuf/ibc/lightclients/solomachine/v1/__init__.py new file mode 100644 index 0000000..6b52c41 --- /dev/null +++ b/secret_sdk/protobuf/ibc/lightclients/solomachine/v1/__init__.py @@ -0,0 +1,251 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/lightclients/solomachine/v1/solomachine.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + +from ....core.channel import v1 as ___core_channel_v1__ +from ....core.connection import v1 as ___core_connection_v1__ + + +class DataType(betterproto.Enum): + """ + DataType defines the type of solo machine proof being created. This is done + to preserve uniqueness of different data sign byte encodings. + """ + + DATA_TYPE_UNINITIALIZED_UNSPECIFIED = 0 + """Default State""" + + DATA_TYPE_CLIENT_STATE = 1 + """Data type for client state verification""" + + DATA_TYPE_CONSENSUS_STATE = 2 + """Data type for consensus state verification""" + + DATA_TYPE_CONNECTION_STATE = 3 + """Data type for connection state verification""" + + DATA_TYPE_CHANNEL_STATE = 4 + """Data type for channel state verification""" + + DATA_TYPE_PACKET_COMMITMENT = 5 + """Data type for packet commitment verification""" + + DATA_TYPE_PACKET_ACKNOWLEDGEMENT = 6 + """Data type for packet acknowledgement verification""" + + DATA_TYPE_PACKET_RECEIPT_ABSENCE = 7 + """Data type for packet receipt absence verification""" + + DATA_TYPE_NEXT_SEQUENCE_RECV = 8 + """Data type for next sequence recv verification""" + + DATA_TYPE_HEADER = 9 + """Data type for header verification""" + + +@dataclass(eq=False, repr=False) +class ClientState(betterproto.Message): + """ + ClientState defines a solo machine client that tracks the current consensus + state and if the client is frozen. + """ + + sequence: int = betterproto.uint64_field(1) + """latest sequence of the client state""" + + frozen_sequence: int = betterproto.uint64_field(2) + """frozen sequence of the solo machine""" + + consensus_state: "ConsensusState" = betterproto.message_field(3) + allow_update_after_proposal: bool = betterproto.bool_field(4) + """ + when set to true, will allow governance to update a solo machine client. + The client will be unfrozen if it is frozen. + """ + + +@dataclass(eq=False, repr=False) +class ConsensusState(betterproto.Message): + """ + ConsensusState defines a solo machine consensus state. The sequence of a + consensus state is contained in the "height" key used in storing the + consensus state. + """ + + public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """public key of the solo machine""" + + diversifier: str = betterproto.string_field(2) + """ + diversifier allows the same public key to be re-used across different solo + machine clients (potentially on different chains) without being considered + misbehaviour. + """ + + timestamp: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class Header(betterproto.Message): + """Header defines a solo machine consensus header""" + + sequence: int = betterproto.uint64_field(1) + """sequence to update solo machine public key at""" + + timestamp: int = betterproto.uint64_field(2) + signature: bytes = betterproto.bytes_field(3) + new_public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(4) + new_diversifier: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class Misbehaviour(betterproto.Message): + """ + Misbehaviour defines misbehaviour for a solo machine which consists of a + sequence and two signatures over different messages at that sequence. + """ + + client_id: str = betterproto.string_field(1) + sequence: int = betterproto.uint64_field(2) + signature_one: "SignatureAndData" = betterproto.message_field(3) + signature_two: "SignatureAndData" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class SignatureAndData(betterproto.Message): + """ + SignatureAndData contains a signature and the data signed over to create + that signature. + """ + + signature: bytes = betterproto.bytes_field(1) + data_type: "DataType" = betterproto.enum_field(2) + data: bytes = betterproto.bytes_field(3) + timestamp: int = betterproto.uint64_field(4) + + +@dataclass(eq=False, repr=False) +class TimestampedSignatureData(betterproto.Message): + """ + TimestampedSignatureData contains the signature data and the timestamp of + the signature. + """ + + signature_data: bytes = betterproto.bytes_field(1) + timestamp: int = betterproto.uint64_field(2) + + +@dataclass(eq=False, repr=False) +class SignBytes(betterproto.Message): + """SignBytes defines the signed bytes used for signature verification.""" + + sequence: int = betterproto.uint64_field(1) + timestamp: int = betterproto.uint64_field(2) + diversifier: str = betterproto.string_field(3) + data_type: "DataType" = betterproto.enum_field(4) + """type of the data used""" + + data: bytes = betterproto.bytes_field(5) + """marshaled data""" + + +@dataclass(eq=False, repr=False) +class HeaderData(betterproto.Message): + """HeaderData returns the SignBytes data for update verification.""" + + new_pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """header public key""" + + new_diversifier: str = betterproto.string_field(2) + """header diversifier""" + + +@dataclass(eq=False, repr=False) +class ClientStateData(betterproto.Message): + """ + ClientStateData returns the SignBytes data for client state verification. + """ + + path: bytes = betterproto.bytes_field(1) + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ConsensusStateData(betterproto.Message): + """ + ConsensusStateData returns the SignBytes data for consensus state + verification. + """ + + path: bytes = betterproto.bytes_field(1) + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 2 + ) + + +@dataclass(eq=False, repr=False) +class ConnectionStateData(betterproto.Message): + """ + ConnectionStateData returns the SignBytes data for connection state + verification. + """ + + path: bytes = betterproto.bytes_field(1) + connection: "___core_connection_v1__.ConnectionEnd" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ChannelStateData(betterproto.Message): + """ + ChannelStateData returns the SignBytes data for channel state verification. + """ + + path: bytes = betterproto.bytes_field(1) + channel: "___core_channel_v1__.Channel" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class PacketCommitmentData(betterproto.Message): + """ + PacketCommitmentData returns the SignBytes data for packet commitment + verification. + """ + + path: bytes = betterproto.bytes_field(1) + commitment: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class PacketAcknowledgementData(betterproto.Message): + """ + PacketAcknowledgementData returns the SignBytes data for acknowledgement + verification. + """ + + path: bytes = betterproto.bytes_field(1) + acknowledgement: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class PacketReceiptAbsenceData(betterproto.Message): + """ + PacketReceiptAbsenceData returns the SignBytes data for packet receipt + absence verification. + """ + + path: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class NextSequenceRecvData(betterproto.Message): + """ + NextSequenceRecvData returns the SignBytes data for verification of the + next sequence to be received. + """ + + path: bytes = betterproto.bytes_field(1) + next_seq_recv: int = betterproto.uint64_field(2) diff --git a/secret_sdk/protobuf/ibc/lightclients/solomachine/v2/__init__.py b/secret_sdk/protobuf/ibc/lightclients/solomachine/v2/__init__.py new file mode 100644 index 0000000..7e93cfa --- /dev/null +++ b/secret_sdk/protobuf/ibc/lightclients/solomachine/v2/__init__.py @@ -0,0 +1,251 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/lightclients/solomachine/v2/solomachine.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf + +from ....core.channel import v1 as ___core_channel_v1__ +from ....core.connection import v1 as ___core_connection_v1__ + + +class DataType(betterproto.Enum): + """ + DataType defines the type of solo machine proof being created. This is done + to preserve uniqueness of different data sign byte encodings. + """ + + DATA_TYPE_UNINITIALIZED_UNSPECIFIED = 0 + """Default State""" + + DATA_TYPE_CLIENT_STATE = 1 + """Data type for client state verification""" + + DATA_TYPE_CONSENSUS_STATE = 2 + """Data type for consensus state verification""" + + DATA_TYPE_CONNECTION_STATE = 3 + """Data type for connection state verification""" + + DATA_TYPE_CHANNEL_STATE = 4 + """Data type for channel state verification""" + + DATA_TYPE_PACKET_COMMITMENT = 5 + """Data type for packet commitment verification""" + + DATA_TYPE_PACKET_ACKNOWLEDGEMENT = 6 + """Data type for packet acknowledgement verification""" + + DATA_TYPE_PACKET_RECEIPT_ABSENCE = 7 + """Data type for packet receipt absence verification""" + + DATA_TYPE_NEXT_SEQUENCE_RECV = 8 + """Data type for next sequence recv verification""" + + DATA_TYPE_HEADER = 9 + """Data type for header verification""" + + +@dataclass(eq=False, repr=False) +class ClientState(betterproto.Message): + """ + ClientState defines a solo machine client that tracks the current consensus + state and if the client is frozen. + """ + + sequence: int = betterproto.uint64_field(1) + """latest sequence of the client state""" + + is_frozen: bool = betterproto.bool_field(2) + """frozen sequence of the solo machine""" + + consensus_state: "ConsensusState" = betterproto.message_field(3) + allow_update_after_proposal: bool = betterproto.bool_field(4) + """ + when set to true, will allow governance to update a solo machine client. + The client will be unfrozen if it is frozen. + """ + + +@dataclass(eq=False, repr=False) +class ConsensusState(betterproto.Message): + """ + ConsensusState defines a solo machine consensus state. The sequence of a + consensus state is contained in the "height" key used in storing the + consensus state. + """ + + public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """public key of the solo machine""" + + diversifier: str = betterproto.string_field(2) + """ + diversifier allows the same public key to be re-used across different solo + machine clients (potentially on different chains) without being considered + misbehaviour. + """ + + timestamp: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class Header(betterproto.Message): + """Header defines a solo machine consensus header""" + + sequence: int = betterproto.uint64_field(1) + """sequence to update solo machine public key at""" + + timestamp: int = betterproto.uint64_field(2) + signature: bytes = betterproto.bytes_field(3) + new_public_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(4) + new_diversifier: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class Misbehaviour(betterproto.Message): + """ + Misbehaviour defines misbehaviour for a solo machine which consists of a + sequence and two signatures over different messages at that sequence. + """ + + client_id: str = betterproto.string_field(1) + sequence: int = betterproto.uint64_field(2) + signature_one: "SignatureAndData" = betterproto.message_field(3) + signature_two: "SignatureAndData" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class SignatureAndData(betterproto.Message): + """ + SignatureAndData contains a signature and the data signed over to create + that signature. + """ + + signature: bytes = betterproto.bytes_field(1) + data_type: "DataType" = betterproto.enum_field(2) + data: bytes = betterproto.bytes_field(3) + timestamp: int = betterproto.uint64_field(4) + + +@dataclass(eq=False, repr=False) +class TimestampedSignatureData(betterproto.Message): + """ + TimestampedSignatureData contains the signature data and the timestamp of + the signature. + """ + + signature_data: bytes = betterproto.bytes_field(1) + timestamp: int = betterproto.uint64_field(2) + + +@dataclass(eq=False, repr=False) +class SignBytes(betterproto.Message): + """SignBytes defines the signed bytes used for signature verification.""" + + sequence: int = betterproto.uint64_field(1) + timestamp: int = betterproto.uint64_field(2) + diversifier: str = betterproto.string_field(3) + data_type: "DataType" = betterproto.enum_field(4) + """type of the data used""" + + data: bytes = betterproto.bytes_field(5) + """marshaled data""" + + +@dataclass(eq=False, repr=False) +class HeaderData(betterproto.Message): + """HeaderData returns the SignBytes data for update verification.""" + + new_pub_key: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(1) + """header public key""" + + new_diversifier: str = betterproto.string_field(2) + """header diversifier""" + + +@dataclass(eq=False, repr=False) +class ClientStateData(betterproto.Message): + """ + ClientStateData returns the SignBytes data for client state verification. + """ + + path: bytes = betterproto.bytes_field(1) + client_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ConsensusStateData(betterproto.Message): + """ + ConsensusStateData returns the SignBytes data for consensus state + verification. + """ + + path: bytes = betterproto.bytes_field(1) + consensus_state: "betterproto_lib_google_protobuf.Any" = betterproto.message_field( + 2 + ) + + +@dataclass(eq=False, repr=False) +class ConnectionStateData(betterproto.Message): + """ + ConnectionStateData returns the SignBytes data for connection state + verification. + """ + + path: bytes = betterproto.bytes_field(1) + connection: "___core_connection_v1__.ConnectionEnd" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ChannelStateData(betterproto.Message): + """ + ChannelStateData returns the SignBytes data for channel state verification. + """ + + path: bytes = betterproto.bytes_field(1) + channel: "___core_channel_v1__.Channel" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class PacketCommitmentData(betterproto.Message): + """ + PacketCommitmentData returns the SignBytes data for packet commitment + verification. + """ + + path: bytes = betterproto.bytes_field(1) + commitment: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class PacketAcknowledgementData(betterproto.Message): + """ + PacketAcknowledgementData returns the SignBytes data for acknowledgement + verification. + """ + + path: bytes = betterproto.bytes_field(1) + acknowledgement: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class PacketReceiptAbsenceData(betterproto.Message): + """ + PacketReceiptAbsenceData returns the SignBytes data for packet receipt + absence verification. + """ + + path: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class NextSequenceRecvData(betterproto.Message): + """ + NextSequenceRecvData returns the SignBytes data for verification of the + next sequence to be received. + """ + + path: bytes = betterproto.bytes_field(1) + next_seq_recv: int = betterproto.uint64_field(2) diff --git a/secret_sdk/protobuf/ibc/lightclients/tendermint/__init__.py b/secret_sdk/protobuf/ibc/lightclients/tendermint/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/ibc/lightclients/tendermint/v1/__init__.py b/secret_sdk/protobuf/ibc/lightclients/tendermint/v1/__init__.py new file mode 100644 index 0000000..1db9878 --- /dev/null +++ b/secret_sdk/protobuf/ibc/lightclients/tendermint/v1/__init__.py @@ -0,0 +1,136 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: ibc/lightclients/tendermint/v1/tendermint.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import List + +import betterproto + +from ..... import ics23 as ____ics23__ +from .....tendermint import types as ____tendermint_types__ +from ....core.client import v1 as ___core_client_v1__ +from ....core.commitment import v1 as ___core_commitment_v1__ + + +@dataclass(eq=False, repr=False) +class ClientState(betterproto.Message): + """ + ClientState from Tendermint tracks the current validator set, latest + height, and a possible frozen height. + """ + + chain_id: str = betterproto.string_field(1) + trust_level: "Fraction" = betterproto.message_field(2) + trusting_period: timedelta = betterproto.message_field(3) + """ + duration of the period since the LastestTimestamp during which the + submitted headers are valid for upgrade + """ + + unbonding_period: timedelta = betterproto.message_field(4) + """duration of the staking unbonding period""" + + max_clock_drift: timedelta = betterproto.message_field(5) + """ + defines how much new (untrusted) header's Time can drift into the future. + """ + + frozen_height: "___core_client_v1__.Height" = betterproto.message_field(6) + """Block height when the client was frozen due to a misbehaviour""" + + latest_height: "___core_client_v1__.Height" = betterproto.message_field(7) + """Latest height the client was updated to""" + + proof_specs: List["____ics23__.ProofSpec"] = betterproto.message_field(8) + """Proof specifications used in verifying counterparty state""" + + upgrade_path: List[str] = betterproto.string_field(9) + """ + Path at which next upgraded client will be committed. Each element + corresponds to the key for a single CommitmentProof in the chained proof. + NOTE: ClientState must stored under + `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored + under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using + the default upgrade module, upgrade_path should be []string{"upgrade", + "upgradedIBCState"}` + """ + + allow_update_after_expiry: bool = betterproto.bool_field(10) + """ + This flag, when set to true, will allow governance to recover a client + which has expired + """ + + allow_update_after_misbehaviour: bool = betterproto.bool_field(11) + """ + This flag, when set to true, will allow governance to unfreeze a client + whose chain has experienced a misbehaviour event + """ + + +@dataclass(eq=False, repr=False) +class ConsensusState(betterproto.Message): + """ConsensusState defines the consensus state from Tendermint.""" + + timestamp: datetime = betterproto.message_field(1) + """ + timestamp that corresponds to the block height in which the ConsensusState + was stored. + """ + + root: "___core_commitment_v1__.MerkleRoot" = betterproto.message_field(2) + """commitment root (i.e app hash)""" + + next_validators_hash: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class Misbehaviour(betterproto.Message): + """ + Misbehaviour is a wrapper over two conflicting Headers that implements + Misbehaviour interface expected by ICS-02 + """ + + client_id: str = betterproto.string_field(1) + header_1: "Header" = betterproto.message_field(2) + header_2: "Header" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class Header(betterproto.Message): + """ + Header defines the Tendermint client consensus Header. It encapsulates all + the information necessary to update from a trusted Tendermint + ConsensusState. The inclusion of TrustedHeight and TrustedValidators allows + this update to process correctly, so long as the ConsensusState for the + TrustedHeight exists, this removes race conditions among relayers The + SignedHeader and ValidatorSet are the new untrusted update fields for the + client. The TrustedHeight is the height of a stored ConsensusState on the + client that will be used to verify the new untrusted header. The Trusted + ConsensusState must be within the unbonding period of current time in order + to correctly verify, and the TrustedValidators must hash to + TrustedConsensusState.NextValidatorsHash since that is the last trusted + validator set at the TrustedHeight. + """ + + signed_header: "____tendermint_types__.SignedHeader" = betterproto.message_field(1) + validator_set: "____tendermint_types__.ValidatorSet" = betterproto.message_field(2) + trusted_height: "___core_client_v1__.Height" = betterproto.message_field(3) + trusted_validators: "____tendermint_types__.ValidatorSet" = ( + betterproto.message_field(4) + ) + + +@dataclass(eq=False, repr=False) +class Fraction(betterproto.Message): + """ + Fraction defines the protobuf message type for tmmath.Fraction that only + supports positive values. + """ + + numerator: int = betterproto.uint64_field(1) + denominator: int = betterproto.uint64_field(2) diff --git a/secret_sdk/protobuf/ics23/__init__.py b/secret_sdk/protobuf/ics23/__init__.py new file mode 100644 index 0000000..191a5a0 --- /dev/null +++ b/secret_sdk/protobuf/ics23/__init__.py @@ -0,0 +1,278 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: confio/proofs.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +class HashOp(betterproto.Enum): + NO_HASH = 0 + """ + NO_HASH is the default if no data passed. Note this is an illegal argument + some places. + """ + + SHA256 = 1 + SHA512 = 2 + KECCAK = 3 + RIPEMD160 = 4 + BITCOIN = 5 + + +class LengthOp(betterproto.Enum): + """ + *LengthOp defines how to process the key and value of the LeafOpto include + length information. After encoding the length with the givenalgorithm, the + length will be prepended to the key and value bytes.(Each one with it's own + encoded length) + """ + + NO_PREFIX = 0 + """NO_PREFIX don't include any length info""" + + VAR_PROTO = 1 + """VAR_PROTO uses protobuf (and go-amino) varint encoding of the length""" + + VAR_RLP = 2 + """VAR_RLP uses rlp int encoding of the length""" + + FIXED32_BIG = 3 + """ + FIXED32_BIG uses big-endian encoding of the length as a 32 bit integer + """ + + FIXED32_LITTLE = 4 + """ + FIXED32_LITTLE uses little-endian encoding of the length as a 32 bit + integer + """ + + FIXED64_BIG = 5 + """ + FIXED64_BIG uses big-endian encoding of the length as a 64 bit integer + """ + + FIXED64_LITTLE = 6 + """ + FIXED64_LITTLE uses little-endian encoding of the length as a 64 bit + integer + """ + + REQUIRE_32_BYTES = 7 + """ + REQUIRE_32_BYTES is like NONE, but will fail if the input is not exactly 32 + bytes (sha256 output) + """ + + REQUIRE_64_BYTES = 8 + """ + REQUIRE_64_BYTES is like NONE, but will fail if the input is not exactly 64 + bytes (sha512 output) + """ + + +@dataclass(eq=False, repr=False) +class ExistenceProof(betterproto.Message): + """ + *ExistenceProof takes a key and a value and a set of steps to perform on + it.The result of peforming all these steps will provide a "root hash", + which canbe compared to the value in a header.Since it is computationally + infeasible to produce a hash collission for any of the usedcryptographic + hash functions, if someone can provide a series of operations to transforma + given key and value into a root hash that matches some trusted root, these + key and valuesmust be in the referenced merkle tree.The only possible issue + is maliablity in LeafOp, such as providing extra prefix data,which should + be controlled by a spec. Eg. with lengthOp as NONE,prefix = FOO, key = BAR, + value = CHOICEandprefix = F, key = OOBAR, value = CHOICEwould produce the + same value.With LengthOp this is tricker but not impossible. Which is why + the "leafPrefixEqual" fieldin the ProofSpec is valuable to prevent this + mutability. And why all trees shouldlength-prefix the data before hashing + it. + """ + + key: bytes = betterproto.bytes_field(1) + value: bytes = betterproto.bytes_field(2) + leaf: "LeafOp" = betterproto.message_field(3) + path: List["InnerOp"] = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class NonExistenceProof(betterproto.Message): + """ + NonExistenceProof takes a proof of two neighbors, one left of the desired + key,one right of the desired key. If both proofs are valid AND they are + neighbors,then there is no valid proof for the given key. + """ + + key: bytes = betterproto.bytes_field(1) + left: "ExistenceProof" = betterproto.message_field(2) + right: "ExistenceProof" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class CommitmentProof(betterproto.Message): + """ + CommitmentProof is either an ExistenceProof or a NonExistenceProof, or a + Batch of such messages + """ + + exist: "ExistenceProof" = betterproto.message_field(1, group="proof") + nonexist: "NonExistenceProof" = betterproto.message_field(2, group="proof") + batch: "BatchProof" = betterproto.message_field(3, group="proof") + compressed: "CompressedBatchProof" = betterproto.message_field(4, group="proof") + + +@dataclass(eq=False, repr=False) +class LeafOp(betterproto.Message): + """ + *LeafOp represents the raw key-value data we wish to prove, andmust be + flexible to represent the internal transformation fromthe original key- + value pairs into the basis hash, for many existingmerkle trees.key and + value are passed in. So that the signature of this operation is:leafOp(key, + value) -> outputTo process this, first prehash the keys and values if + needed (ANY means no hash in this case):hkey = prehashKey(key)hvalue = + prehashValue(value)Then combine the bytes, and hash itoutput = hash(prefix + || length(hkey) || hkey || length(hvalue) || hvalue) + """ + + hash: "HashOp" = betterproto.enum_field(1) + prehash_key: "HashOp" = betterproto.enum_field(2) + prehash_value: "HashOp" = betterproto.enum_field(3) + length: "LengthOp" = betterproto.enum_field(4) + prefix: bytes = betterproto.bytes_field(5) + """ + prefix is a fixed bytes that may optionally be included at the beginning to + differentiate a leaf node from an inner node. + """ + + +@dataclass(eq=False, repr=False) +class InnerOp(betterproto.Message): + """ + *InnerOp represents a merkle-proof step that is not a leaf.It represents + concatenating two children and hashing them to provide the next result.The + result of the previous step is passed in, so the signature of this op + is:innerOp(child) -> outputThe result of applying InnerOp should be:output + = op.hash(op.prefix || child || op.suffix)where the || operator is + concatenation of binary data,and child is the result of hashing all the + tree below this step.Any special data, like prepending child with the + length, or prepending the entire operation withsome value to differentiate + from leaf nodes, should be included in prefix and suffix.If either of + prefix or suffix is empty, we just treat it as an empty string + """ + + hash: "HashOp" = betterproto.enum_field(1) + prefix: bytes = betterproto.bytes_field(2) + suffix: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class ProofSpec(betterproto.Message): + """ + *ProofSpec defines what the expected parameters are for a given proof + type.This can be stored in the client and used to validate any incoming + proofs.verify(ProofSpec, Proof) -> Proof | ErrorAs demonstrated in tests, + if we don't fix the algorithm used to calculate theLeafHash for a given + tree, there are many possible key-value pairs that cangenerate a given hash + (by interpretting the preimage differently).We need this for proper + security, requires client knows a priori whattree format server uses. But + not in code, rather a configuration object. + """ + + leaf_spec: "LeafOp" = betterproto.message_field(1) + """ + any field in the ExistenceProof must be the same as in this spec. except + Prefix, which is just the first bytes of prefix (spec can be longer) + """ + + inner_spec: "InnerSpec" = betterproto.message_field(2) + max_depth: int = betterproto.int32_field(3) + """ + max_depth (if > 0) is the maximum number of InnerOps allowed (mainly for + fixed-depth tries) + """ + + min_depth: int = betterproto.int32_field(4) + """ + min_depth (if > 0) is the minimum number of InnerOps allowed (mainly for + fixed-depth tries) + """ + + +@dataclass(eq=False, repr=False) +class InnerSpec(betterproto.Message): + """ + InnerSpec contains all store-specific structure info to determine if two + proofs from agiven store are neighbors.This enables:isLeftMost(spec: + InnerSpec, op: InnerOp)isRightMost(spec: InnerSpec, op: + InnerOp)isLeftNeighbor(spec: InnerSpec, left: InnerOp, right: InnerOp) + """ + + child_order: List[int] = betterproto.int32_field(1) + """ + Child order is the ordering of the children node, must count from 0 iavl + tree is [0, 1] (left then right) merk is [0, 2, 1] (left, right, here) + """ + + child_size: int = betterproto.int32_field(2) + min_prefix_length: int = betterproto.int32_field(3) + max_prefix_length: int = betterproto.int32_field(4) + empty_child: bytes = betterproto.bytes_field(5) + """ + empty child is the prehash image that is used when one child is nil (eg. 20 + bytes of 0) + """ + + hash: "HashOp" = betterproto.enum_field(6) + """hash is the algorithm that must be used for each InnerOp""" + + +@dataclass(eq=False, repr=False) +class BatchProof(betterproto.Message): + """BatchProof is a group of multiple proof types than can be compressed""" + + entries: List["BatchEntry"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class BatchEntry(betterproto.Message): + """Use BatchEntry not CommitmentProof, to avoid recursion""" + + exist: "ExistenceProof" = betterproto.message_field(1, group="proof") + nonexist: "NonExistenceProof" = betterproto.message_field(2, group="proof") + + +@dataclass(eq=False, repr=False) +class CompressedBatchProof(betterproto.Message): + entries: List["CompressedBatchEntry"] = betterproto.message_field(1) + lookup_inners: List["InnerOp"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class CompressedBatchEntry(betterproto.Message): + """Use BatchEntry not CommitmentProof, to avoid recursion""" + + exist: "CompressedExistenceProof" = betterproto.message_field(1, group="proof") + nonexist: "CompressedNonExistenceProof" = betterproto.message_field( + 2, group="proof" + ) + + +@dataclass(eq=False, repr=False) +class CompressedExistenceProof(betterproto.Message): + key: bytes = betterproto.bytes_field(1) + value: bytes = betterproto.bytes_field(2) + leaf: "LeafOp" = betterproto.message_field(3) + path: List[int] = betterproto.int32_field(4) + """ + these are indexes into the lookup_inners table in CompressedBatchProof + """ + + +@dataclass(eq=False, repr=False) +class CompressedNonExistenceProof(betterproto.Message): + key: bytes = betterproto.bytes_field(1) + left: "CompressedExistenceProof" = betterproto.message_field(2) + right: "CompressedExistenceProof" = betterproto.message_field(3) diff --git a/secret_sdk/protobuf/secret/__init__.py b/secret_sdk/protobuf/secret/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/secret/compute/__init__.py b/secret_sdk/protobuf/secret/compute/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/secret/compute/v1beta1/__init__.py b/secret_sdk/protobuf/secret/compute/v1beta1/__init__.py new file mode 100644 index 0000000..880fb56 --- /dev/null +++ b/secret_sdk/protobuf/secret/compute/v1beta1/__init__.py @@ -0,0 +1,773 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: secret/compute/v1beta1/genesis.proto, secret/compute/v1beta1/msg.proto, secret/compute/v1beta1/query.proto, secret/compute/v1beta1/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ....cosmos.base import v1beta1 as ___cosmos_base_v1_beta1__ +from ....cosmos.base.abci import v1beta1 as ___cosmos_base_abci_v1_beta1__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class AccessType(betterproto.Enum): + UNDEFINED = 0 + NOBODY = 1 + ONLY_ADDRESS = 2 + EVERYBODY = 3 + + +@dataclass(eq=False, repr=False) +class AccessTypeParam(betterproto.Message): + value: "AccessType" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class CodeInfo(betterproto.Message): + """CodeInfo is data for the uploaded contract WASM code""" + + code_hash: bytes = betterproto.bytes_field(1) + creator: bytes = betterproto.bytes_field(2) + source: str = betterproto.string_field(3) + builder: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class ContractCustomInfo(betterproto.Message): + enclave_key: bytes = betterproto.bytes_field(1) + label: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class ContractInfo(betterproto.Message): + """ContractInfo stores a WASM contract instance""" + + code_id: int = betterproto.uint64_field(1) + creator: bytes = betterproto.bytes_field(2) + label: str = betterproto.string_field(4) + created: "AbsoluteTxPosition" = betterproto.message_field(5) + """ + never show this in query results, just use for sorting (Note: when using + json tag "-" amino refused to serialize it...) + """ + + ibc_port_id: str = betterproto.string_field(6) + + +@dataclass(eq=False, repr=False) +class AbsoluteTxPosition(betterproto.Message): + """AbsoluteTxPosition can be used to sort contracts""" + + block_height: int = betterproto.int64_field(1) + """BlockHeight is the block the contract was created at""" + + tx_index: int = betterproto.uint64_field(2) + """ + TxIndex is a monotonic counter within the block (actual transaction index, + or gas consumed) + """ + + +@dataclass(eq=False, repr=False) +class Model(betterproto.Message): + """Model is a struct that holds a KV pair""" + + key: bytes = betterproto.bytes_field(1) + """hex-encode key to read it better (this is often ascii)""" + + value: bytes = betterproto.bytes_field(2) + """base64-encode raw value""" + + +@dataclass(eq=False, repr=False) +class QuerySecretContractRequest(betterproto.Message): + contract_address: str = betterproto.string_field(1) + """address is the bech32 human readable address of the contract""" + + query: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class QueryByLabelRequest(betterproto.Message): + label: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class QueryByContractAddressRequest(betterproto.Message): + contract_address: str = betterproto.string_field(1) + """address is the bech32 human readable address of the contract""" + + +@dataclass(eq=False, repr=False) +class QueryByCodeIdRequest(betterproto.Message): + code_id: int = betterproto.uint64_field(1) + + +@dataclass(eq=False, repr=False) +class QuerySecretContractResponse(betterproto.Message): + data: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class QueryContractInfoResponse(betterproto.Message): + """ + QueryContractInfoResponse is the response type for the Query/ContractInfo + RPC method + """ + + contract_address: str = betterproto.string_field(1) + """ + contract_address is the bech32 human readable address of the contract + """ + + contract_info: "ContractInfo" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class ContractInfoWithAddress(betterproto.Message): + """ + ContractInfoWithAddress adds the contract address to the ContractInfo + representation + """ + + contract_address: str = betterproto.string_field(1) + """ + contract_address is the bech32 human readable address of the contract + """ + + contract_info: "ContractInfo" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class QueryContractsByCodeIdResponse(betterproto.Message): + contract_infos: List["ContractInfoWithAddress"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class CodeInfoResponse(betterproto.Message): + code_id: int = betterproto.uint64_field(1) + creator: str = betterproto.string_field(2) + """creator is the bech32 human readable address of the contract""" + + code_hash: str = betterproto.string_field(3) + source: str = betterproto.string_field(4) + builder: str = betterproto.string_field(5) + + +@dataclass(eq=False, repr=False) +class QueryCodeResponse(betterproto.Message): + code_info: "CodeInfoResponse" = betterproto.message_field(1) + wasm: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class QueryCodesResponse(betterproto.Message): + code_infos: List["CodeInfoResponse"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class QueryContractAddressResponse(betterproto.Message): + contract_address: str = betterproto.string_field(1) + """address is the bech32 human readable address of the contract""" + + +@dataclass(eq=False, repr=False) +class QueryContractLabelResponse(betterproto.Message): + label: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class QueryCodeHashResponse(betterproto.Message): + code_hash: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class DecryptedAnswer(betterproto.Message): + """DecryptedAnswer is a struct that represents a decrypted tx-query""" + + type: str = betterproto.string_field(1) + input: str = betterproto.string_field(2) + output_data: str = betterproto.string_field(3) + output_data_as_string: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class DecryptedAnswers(betterproto.Message): + answers: List["DecryptedAnswer"] = betterproto.message_field(1) + output_logs: List[ + "___cosmos_base_abci_v1_beta1__.StringEvent" + ] = betterproto.message_field(2) + output_error: str = betterproto.string_field(3) + plaintext_error: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + """GenesisState - genesis state of x/wasm""" + + codes: List["Code"] = betterproto.message_field(2) + """Params params = 1 [(gogoproto.nullable) = false];""" + + contracts: List["Contract"] = betterproto.message_field(3) + sequences: List["Sequence"] = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class Code(betterproto.Message): + """Code struct encompasses CodeInfo and CodeBytes""" + + code_id: int = betterproto.uint64_field(1) + code_info: "CodeInfo" = betterproto.message_field(2) + code_bytes: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class Contract(betterproto.Message): + """ + Contract struct encompasses ContractAddress, ContractInfo, and + ContractState + """ + + contract_address: bytes = betterproto.bytes_field(1) + contract_info: "ContractInfo" = betterproto.message_field(2) + contract_state: List["Model"] = betterproto.message_field(3) + contract_custom_info: "ContractCustomInfo" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class Sequence(betterproto.Message): + """Sequence id and value of a counter""" + + id_key: bytes = betterproto.bytes_field(1) + value: int = betterproto.uint64_field(2) + + +@dataclass(eq=False, repr=False) +class MsgStoreCode(betterproto.Message): + sender: bytes = betterproto.bytes_field(1) + """sender is the canonical address of the sender""" + + wasm_byte_code: bytes = betterproto.bytes_field(2) + """WASMByteCode can be raw or gzip compressed""" + + source: str = betterproto.string_field(3) + """ + Source is a valid absolute HTTPS URI to the contract's source code, + optional + """ + + builder: str = betterproto.string_field(4) + """Builder is a valid docker image name with tag, optional""" + + +@dataclass(eq=False, repr=False) +class MsgStoreCodeResponse(betterproto.Message): + """MsgStoreCodeResponse returns store result data.""" + + code_id: int = betterproto.uint64_field(1) + """CodeID is the reference to the stored WASM code""" + + +@dataclass(eq=False, repr=False) +class MsgInstantiateContract(betterproto.Message): + sender: bytes = betterproto.bytes_field(1) + """sender is the canonical address of the sender""" + + callback_code_hash: str = betterproto.string_field(2) + code_id: int = betterproto.uint64_field(3) + label: str = betterproto.string_field(4) + init_msg: bytes = betterproto.bytes_field(5) + init_funds: List["___cosmos_base_v1_beta1__.Coin"] = betterproto.message_field(6) + callback_sig: bytes = betterproto.bytes_field(7) + """ + used internally for encryption, should always be empty in a signed + transaction + """ + + +@dataclass(eq=False, repr=False) +class MsgInstantiateContractResponse(betterproto.Message): + """MsgInstantiateContractResponse return instantiation result data""" + + address: str = betterproto.string_field(1) + """Address is the bech32 address of the new contract instance.""" + + data: bytes = betterproto.bytes_field(2) + """Data contains base64-encoded bytes to returned from the contract""" + + +@dataclass(eq=False, repr=False) +class MsgExecuteContract(betterproto.Message): + sender: bytes = betterproto.bytes_field(1) + """sender is the canonical address of the sender""" + + contract: bytes = betterproto.bytes_field(2) + """contract is the canonical address of the contract""" + + msg: bytes = betterproto.bytes_field(3) + callback_code_hash: str = betterproto.string_field(4) + sent_funds: List["___cosmos_base_v1_beta1__.Coin"] = betterproto.message_field(5) + callback_sig: bytes = betterproto.bytes_field(6) + """ + used internally for encryption, should always be empty in a signed + transaction + """ + + +@dataclass(eq=False, repr=False) +class MsgExecuteContractResponse(betterproto.Message): + """MsgExecuteContractResponse returns execution result data.""" + + data: bytes = betterproto.bytes_field(1) + """Data contains base64-encoded bytes to returned from the contract""" + + +class QueryStub(betterproto.ServiceStub): + async def contract_info( + self, + query_by_contract_address_request: "QueryByContractAddressRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryContractInfoResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/ContractInfo", + query_by_contract_address_request, + QueryContractInfoResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def contracts_by_code_id( + self, + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryContractsByCodeIdResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/ContractsByCodeID", + query_by_code_id_request, + QueryContractsByCodeIdResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def query_secret_contract( + self, + query_secret_contract_request: "QuerySecretContractRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QuerySecretContractResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/QuerySecretContract", + query_secret_contract_request, + QuerySecretContractResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def code( + self, + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCodeResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/Code", + query_by_code_id_request, + QueryCodeResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def codes( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCodesResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/Codes", + betterproto_lib_google_protobuf_empty, + QueryCodesResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def code_hash_by_contract_address( + self, + query_by_contract_address_request: "QueryByContractAddressRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCodeHashResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/CodeHashByContractAddress", + query_by_contract_address_request, + QueryCodeHashResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def code_hash_by_code_id( + self, + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryCodeHashResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/CodeHashByCodeID", + query_by_code_id_request, + QueryCodeHashResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def label_by_address( + self, + query_by_contract_address_request: "QueryByContractAddressRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryContractLabelResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/LabelByAddress", + query_by_contract_address_request, + QueryContractLabelResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def address_by_label( + self, + query_by_label_request: "QueryByLabelRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryContractAddressResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Query/AddressByLabel", + query_by_label_request, + QueryContractAddressResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgStub(betterproto.ServiceStub): + async def store_code( + self, + msg_store_code: "MsgStoreCode", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgStoreCodeResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Msg/StoreCode", + msg_store_code, + MsgStoreCodeResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def instantiate_contract( + self, + msg_instantiate_contract: "MsgInstantiateContract", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgInstantiateContractResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Msg/InstantiateContract", + msg_instantiate_contract, + MsgInstantiateContractResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def execute_contract( + self, + msg_execute_contract: "MsgExecuteContract", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgExecuteContractResponse": + return await self._unary_unary( + "/secret.compute.v1beta1.Msg/ExecuteContract", + msg_execute_contract, + MsgExecuteContractResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def contract_info( + self, query_by_contract_address_request: "QueryByContractAddressRequest" + ) -> "QueryContractInfoResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def contracts_by_code_id(self) -> "QueryContractsByCodeIdResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def query_secret_contract( + self, query_secret_contract_request: "QuerySecretContractRequest" + ) -> "QuerySecretContractResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def code(self) -> "QueryCodeResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def codes( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + ) -> "QueryCodesResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def code_hash_by_contract_address( + self, query_by_contract_address_request: "QueryByContractAddressRequest" + ) -> "QueryCodeHashResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def code_hash_by_code_id(self) -> "QueryCodeHashResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def label_by_address( + self, query_by_contract_address_request: "QueryByContractAddressRequest" + ) -> "QueryContractLabelResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def address_by_label( + self, query_by_label_request: "QueryByLabelRequest" + ) -> "QueryContractAddressResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_contract_info( + self, + stream: "grpclib.server.Stream[QueryByContractAddressRequest, QueryContractInfoResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.contract_info(request) + await stream.send_message(response) + + async def __rpc_contracts_by_code_id( + self, + stream: "grpclib.server.Stream[QueryByCodeIdRequest, QueryContractsByCodeIdResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.contracts_by_code_id(request) + await stream.send_message(response) + + async def __rpc_query_secret_contract( + self, + stream: "grpclib.server.Stream[QuerySecretContractRequest, QuerySecretContractResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.query_secret_contract(request) + await stream.send_message(response) + + async def __rpc_code( + self, stream: "grpclib.server.Stream[QueryByCodeIdRequest, QueryCodeResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.code(request) + await stream.send_message(response) + + async def __rpc_codes( + self, + stream: "grpclib.server.Stream[betterproto_lib_google_protobuf.Empty, QueryCodesResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.codes(request) + await stream.send_message(response) + + async def __rpc_code_hash_by_contract_address( + self, + stream: "grpclib.server.Stream[QueryByContractAddressRequest, QueryCodeHashResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.code_hash_by_contract_address(request) + await stream.send_message(response) + + async def __rpc_code_hash_by_code_id( + self, + stream: "grpclib.server.Stream[QueryByCodeIdRequest, QueryCodeHashResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.code_hash_by_code_id(request) + await stream.send_message(response) + + async def __rpc_label_by_address( + self, + stream: "grpclib.server.Stream[QueryByContractAddressRequest, QueryContractLabelResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.label_by_address(request) + await stream.send_message(response) + + async def __rpc_address_by_label( + self, + stream: "grpclib.server.Stream[QueryByLabelRequest, QueryContractAddressResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.address_by_label(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/secret.compute.v1beta1.Query/ContractInfo": grpclib.const.Handler( + self.__rpc_contract_info, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByContractAddressRequest, + QueryContractInfoResponse, + ), + "/secret.compute.v1beta1.Query/ContractsByCodeID": grpclib.const.Handler( + self.__rpc_contracts_by_code_id, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByCodeIdRequest, + QueryContractsByCodeIdResponse, + ), + "/secret.compute.v1beta1.Query/QuerySecretContract": grpclib.const.Handler( + self.__rpc_query_secret_contract, + grpclib.const.Cardinality.UNARY_UNARY, + QuerySecretContractRequest, + QuerySecretContractResponse, + ), + "/secret.compute.v1beta1.Query/Code": grpclib.const.Handler( + self.__rpc_code, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByCodeIdRequest, + QueryCodeResponse, + ), + "/secret.compute.v1beta1.Query/Codes": grpclib.const.Handler( + self.__rpc_codes, + grpclib.const.Cardinality.UNARY_UNARY, + betterproto_lib_google_protobuf.Empty, + QueryCodesResponse, + ), + "/secret.compute.v1beta1.Query/CodeHashByContractAddress": grpclib.const.Handler( + self.__rpc_code_hash_by_contract_address, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByContractAddressRequest, + QueryCodeHashResponse, + ), + "/secret.compute.v1beta1.Query/CodeHashByCodeID": grpclib.const.Handler( + self.__rpc_code_hash_by_code_id, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByCodeIdRequest, + QueryCodeHashResponse, + ), + "/secret.compute.v1beta1.Query/LabelByAddress": grpclib.const.Handler( + self.__rpc_label_by_address, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByContractAddressRequest, + QueryContractLabelResponse, + ), + "/secret.compute.v1beta1.Query/AddressByLabel": grpclib.const.Handler( + self.__rpc_address_by_label, + grpclib.const.Cardinality.UNARY_UNARY, + QueryByLabelRequest, + QueryContractAddressResponse, + ), + } + + +class MsgBase(ServiceBase): + async def store_code( + self, msg_store_code: "MsgStoreCode" + ) -> "MsgStoreCodeResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def instantiate_contract( + self, msg_instantiate_contract: "MsgInstantiateContract" + ) -> "MsgInstantiateContractResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def execute_contract( + self, msg_execute_contract: "MsgExecuteContract" + ) -> "MsgExecuteContractResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_store_code( + self, stream: "grpclib.server.Stream[MsgStoreCode, MsgStoreCodeResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.store_code(request) + await stream.send_message(response) + + async def __rpc_instantiate_contract( + self, + stream: "grpclib.server.Stream[MsgInstantiateContract, MsgInstantiateContractResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.instantiate_contract(request) + await stream.send_message(response) + + async def __rpc_execute_contract( + self, + stream: "grpclib.server.Stream[MsgExecuteContract, MsgExecuteContractResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.execute_contract(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/secret.compute.v1beta1.Msg/StoreCode": grpclib.const.Handler( + self.__rpc_store_code, + grpclib.const.Cardinality.UNARY_UNARY, + MsgStoreCode, + MsgStoreCodeResponse, + ), + "/secret.compute.v1beta1.Msg/InstantiateContract": grpclib.const.Handler( + self.__rpc_instantiate_contract, + grpclib.const.Cardinality.UNARY_UNARY, + MsgInstantiateContract, + MsgInstantiateContractResponse, + ), + "/secret.compute.v1beta1.Msg/ExecuteContract": grpclib.const.Handler( + self.__rpc_execute_contract, + grpclib.const.Cardinality.UNARY_UNARY, + MsgExecuteContract, + MsgExecuteContractResponse, + ), + } diff --git a/secret_sdk/protobuf/secret/intertx/__init__.py b/secret_sdk/protobuf/secret/intertx/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/secret/intertx/v1beta1/__init__.py b/secret_sdk/protobuf/secret/intertx/v1beta1/__init__.py new file mode 100644 index 0000000..bc1c0f8 --- /dev/null +++ b/secret_sdk/protobuf/secret/intertx/v1beta1/__init__.py @@ -0,0 +1,202 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: secret/intertx/v1beta1/query.proto, secret/intertx/v1beta1/tx.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + Optional, +) + +import betterproto +import betterproto.lib.google.protobuf as betterproto_lib_google_protobuf +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class MsgRegisterAccount(betterproto.Message): + """ + MsgRegisterAccount registers an interchain account for the given owner over + the specified connection pair + """ + + owner: str = betterproto.string_field(1) + connection_id: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class MsgRegisterAccountResponse(betterproto.Message): + """ + MsgRegisterAccountResponse is the response type for Msg/RegisterAccount + """ + + pass + + +@dataclass(eq=False, repr=False) +class MsgSubmitTx(betterproto.Message): + """ + MsgSubmitTx creates and submits an arbitrary transaction msg to be executed + using an interchain account + """ + + owner: bytes = betterproto.bytes_field(1) + connection_id: str = betterproto.string_field(2) + msg: "betterproto_lib_google_protobuf.Any" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class MsgSubmitTxResponse(betterproto.Message): + """MsgSubmitTxResponse defines the MsgSubmitTx response type""" + + pass + + +@dataclass(eq=False, repr=False) +class QueryInterchainAccountFromAddressRequest(betterproto.Message): + """ + QueryInterchainAccountFromAddressRequest is the request type for the + Query/InterchainAccountAddress RPC + """ + + owner: str = betterproto.string_field(1) + connection_id: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class QueryInterchainAccountFromAddressResponse(betterproto.Message): + """ + QueryInterchainAccountFromAddressResponse the response type for the + Query/InterchainAccountAddress RPC + """ + + interchain_account_address: str = betterproto.string_field(1) + + +class MsgStub(betterproto.ServiceStub): + async def register_account( + self, + msg_register_account: "MsgRegisterAccount", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgRegisterAccountResponse": + return await self._unary_unary( + "/secret.intertx.v1beta1.Msg/RegisterAccount", + msg_register_account, + MsgRegisterAccountResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def submit_tx( + self, + msg_submit_tx: "MsgSubmitTx", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "MsgSubmitTxResponse": + return await self._unary_unary( + "/secret.intertx.v1beta1.Msg/SubmitTx", + msg_submit_tx, + MsgSubmitTxResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryStub(betterproto.ServiceStub): + async def interchain_account_from_address( + self, + query_interchain_account_from_address_request: "QueryInterchainAccountFromAddressRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryInterchainAccountFromAddressResponse": + return await self._unary_unary( + "/secret.intertx.v1beta1.Query/InterchainAccountFromAddress", + query_interchain_account_from_address_request, + QueryInterchainAccountFromAddressResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class MsgBase(ServiceBase): + async def register_account( + self, msg_register_account: "MsgRegisterAccount" + ) -> "MsgRegisterAccountResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def submit_tx(self, msg_submit_tx: "MsgSubmitTx") -> "MsgSubmitTxResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_register_account( + self, + stream: "grpclib.server.Stream[MsgRegisterAccount, MsgRegisterAccountResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.register_account(request) + await stream.send_message(response) + + async def __rpc_submit_tx( + self, stream: "grpclib.server.Stream[MsgSubmitTx, MsgSubmitTxResponse]" + ) -> None: + request = await stream.recv_message() + response = await self.submit_tx(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/secret.intertx.v1beta1.Msg/RegisterAccount": grpclib.const.Handler( + self.__rpc_register_account, + grpclib.const.Cardinality.UNARY_UNARY, + MsgRegisterAccount, + MsgRegisterAccountResponse, + ), + "/secret.intertx.v1beta1.Msg/SubmitTx": grpclib.const.Handler( + self.__rpc_submit_tx, + grpclib.const.Cardinality.UNARY_UNARY, + MsgSubmitTx, + MsgSubmitTxResponse, + ), + } + + +class QueryBase(ServiceBase): + async def interchain_account_from_address( + self, + query_interchain_account_from_address_request: "QueryInterchainAccountFromAddressRequest", + ) -> "QueryInterchainAccountFromAddressResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_interchain_account_from_address( + self, + stream: "grpclib.server.Stream[QueryInterchainAccountFromAddressRequest, QueryInterchainAccountFromAddressResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.interchain_account_from_address(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/secret.intertx.v1beta1.Query/InterchainAccountFromAddress": grpclib.const.Handler( + self.__rpc_interchain_account_from_address, + grpclib.const.Cardinality.UNARY_UNARY, + QueryInterchainAccountFromAddressRequest, + QueryInterchainAccountFromAddressResponse, + ), + } diff --git a/secret_sdk/protobuf/secret/registration/__init__.py b/secret_sdk/protobuf/secret/registration/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/secret/registration/remote_attestation/__init__.py b/secret_sdk/protobuf/secret/registration/remote_attestation/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/secret/registration/remote_attestation/v1beta1/__init__.py b/secret_sdk/protobuf/secret/registration/remote_attestation/v1beta1/__init__.py new file mode 100644 index 0000000..b2d8c0f --- /dev/null +++ b/secret_sdk/protobuf/secret/registration/remote_attestation/v1beta1/__init__.py @@ -0,0 +1,58 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: secret/registration/v1beta1/remote_attestation/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class QuoteReport(betterproto.Message): + id: str = betterproto.string_field(1) + timestamp: str = betterproto.string_field(2) + version: int = betterproto.uint64_field(3) + isv_enclave_quote_status: str = betterproto.string_field(4) + platform_info_blob: str = betterproto.string_field(5) + isv_enclave_quote_body: str = betterproto.string_field(6) + advisory_ids: List[str] = betterproto.string_field(7) + + +@dataclass(eq=False, repr=False) +class QuoteReportBody(betterproto.Message): + mr_enclave: str = betterproto.string_field(1) + mr_signer: str = betterproto.string_field(2) + report_data: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class QuoteReportData(betterproto.Message): + version: int = betterproto.uint64_field(1) + sign_type: int = betterproto.uint64_field(2) + report_body: "QuoteReportBody" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class EndorsedAttestationReport(betterproto.Message): + report: bytes = betterproto.bytes_field(1) + signature: bytes = betterproto.bytes_field(2) + signing_cert: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class Sgxec256Signature(betterproto.Message): + gx: str = betterproto.string_field(1) + gy: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class PlatformInfoBlob(betterproto.Message): + sgx_epid_group_flags: int = betterproto.uint32_field(1) + sgx_tcb_evaluation_flags: int = betterproto.uint32_field(2) + pse_evaluation_flags: int = betterproto.uint32_field(3) + latest_equivalent_tcb_psvn: str = betterproto.string_field(4) + latest_pse_isvsvn: str = betterproto.string_field(5) + latest_psda_svn: str = betterproto.string_field(6) + xeid: int = betterproto.uint32_field(7) + gid: int = betterproto.uint32_field(8) + sgx_ec256_signature_t: "Sgxec256Signature" = betterproto.message_field(9) diff --git a/secret_sdk/protobuf/secret/registration/v1beta1/__init__.py b/secret_sdk/protobuf/secret/registration/v1beta1/__init__.py new file mode 100644 index 0000000..c3c6ddd --- /dev/null +++ b/secret_sdk/protobuf/secret/registration/v1beta1/__init__.py @@ -0,0 +1,184 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: secret/registration/v1beta1/genesis.proto, secret/registration/v1beta1/msg.proto, secret/registration/v1beta1/query.proto, secret/registration/v1beta1/types.proto +# plugin: python-betterproto +import builtins +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class SeedConfig(betterproto.Message): + master_cert: str = betterproto.string_field(1) + encrypted_key: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class RegistrationNodeInfo(betterproto.Message): + certificate: bytes = betterproto.bytes_field(1) + encrypted_seed: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class RaAuthenticate(betterproto.Message): + sender: bytes = betterproto.bytes_field(1) + certificate: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class MasterCertificate(betterproto.Message): + bytes: builtins.bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class Key(betterproto.Message): + key: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class GenesisState(betterproto.Message): + registration: List["RegistrationNodeInfo"] = betterproto.message_field(1) + node_exch_master_certificate: "MasterCertificate" = betterproto.message_field(2) + io_master_certificate: "MasterCertificate" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class QueryEncryptedSeedRequest(betterproto.Message): + pub_key: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class QueryEncryptedSeedResponse(betterproto.Message): + encrypted_seed: bytes = betterproto.bytes_field(1) + + +class QueryStub(betterproto.ServiceStub): + async def tx_key( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "Key": + return await self._unary_unary( + "/secret.registration.v1beta1.Query/TxKey", + betterproto_lib_google_protobuf_empty, + Key, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def registration_key( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "Key": + return await self._unary_unary( + "/secret.registration.v1beta1.Query/RegistrationKey", + betterproto_lib_google_protobuf_empty, + Key, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def encrypted_seed( + self, + query_encrypted_seed_request: "QueryEncryptedSeedRequest", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "QueryEncryptedSeedResponse": + return await self._unary_unary( + "/secret.registration.v1beta1.Query/EncryptedSeed", + query_encrypted_seed_request, + QueryEncryptedSeedResponse, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class QueryBase(ServiceBase): + async def tx_key( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + ) -> "Key": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def registration_key( + self, + betterproto_lib_google_protobuf_empty: "betterproto_lib_google_protobuf.Empty", + ) -> "Key": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def encrypted_seed( + self, query_encrypted_seed_request: "QueryEncryptedSeedRequest" + ) -> "QueryEncryptedSeedResponse": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_tx_key( + self, + stream: "grpclib.server.Stream[betterproto_lib_google_protobuf.Empty, Key]", + ) -> None: + request = await stream.recv_message() + response = await self.tx_key(request) + await stream.send_message(response) + + async def __rpc_registration_key( + self, + stream: "grpclib.server.Stream[betterproto_lib_google_protobuf.Empty, Key]", + ) -> None: + request = await stream.recv_message() + response = await self.registration_key(request) + await stream.send_message(response) + + async def __rpc_encrypted_seed( + self, + stream: "grpclib.server.Stream[QueryEncryptedSeedRequest, QueryEncryptedSeedResponse]", + ) -> None: + request = await stream.recv_message() + response = await self.encrypted_seed(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/secret.registration.v1beta1.Query/TxKey": grpclib.const.Handler( + self.__rpc_tx_key, + grpclib.const.Cardinality.UNARY_UNARY, + betterproto_lib_google_protobuf.Empty, + Key, + ), + "/secret.registration.v1beta1.Query/RegistrationKey": grpclib.const.Handler( + self.__rpc_registration_key, + grpclib.const.Cardinality.UNARY_UNARY, + betterproto_lib_google_protobuf.Empty, + Key, + ), + "/secret.registration.v1beta1.Query/EncryptedSeed": grpclib.const.Handler( + self.__rpc_encrypted_seed, + grpclib.const.Cardinality.UNARY_UNARY, + QueryEncryptedSeedRequest, + QueryEncryptedSeedResponse, + ), + } diff --git a/secret_sdk/protobuf/tendermint/__init__.py b/secret_sdk/protobuf/tendermint/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/tendermint/abci/__init__.py b/secret_sdk/protobuf/tendermint/abci/__init__.py new file mode 100644 index 0000000..a38cdbc --- /dev/null +++ b/secret_sdk/protobuf/tendermint/abci/__init__.py @@ -0,0 +1,983 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/abci/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import datetime +from typing import ( + TYPE_CHECKING, + Dict, + List, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from .. import ( + crypto as _crypto__, + types as _types__, +) + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +class CheckTxType(betterproto.Enum): + NEW = 0 + RECHECK = 1 + + +class EvidenceType(betterproto.Enum): + UNKNOWN = 0 + DUPLICATE_VOTE = 1 + LIGHT_CLIENT_ATTACK = 2 + + +class ResponseOfferSnapshotResult(betterproto.Enum): + UNKNOWN = 0 + ACCEPT = 1 + ABORT = 2 + REJECT = 3 + REJECT_FORMAT = 4 + REJECT_SENDER = 5 + + +class ResponseApplySnapshotChunkResult(betterproto.Enum): + UNKNOWN = 0 + ACCEPT = 1 + ABORT = 2 + RETRY = 3 + RETRY_SNAPSHOT = 4 + REJECT_SNAPSHOT = 5 + + +@dataclass(eq=False, repr=False) +class Request(betterproto.Message): + echo: "RequestEcho" = betterproto.message_field(1, group="value") + flush: "RequestFlush" = betterproto.message_field(2, group="value") + info: "RequestInfo" = betterproto.message_field(3, group="value") + set_option: "RequestSetOption" = betterproto.message_field(4, group="value") + init_chain: "RequestInitChain" = betterproto.message_field(5, group="value") + query: "RequestQuery" = betterproto.message_field(6, group="value") + begin_block: "RequestBeginBlock" = betterproto.message_field(7, group="value") + check_tx: "RequestCheckTx" = betterproto.message_field(8, group="value") + deliver_tx: "RequestDeliverTx" = betterproto.message_field(9, group="value") + end_block: "RequestEndBlock" = betterproto.message_field(10, group="value") + commit: "RequestCommit" = betterproto.message_field(11, group="value") + list_snapshots: "RequestListSnapshots" = betterproto.message_field( + 12, group="value" + ) + offer_snapshot: "RequestOfferSnapshot" = betterproto.message_field( + 13, group="value" + ) + load_snapshot_chunk: "RequestLoadSnapshotChunk" = betterproto.message_field( + 14, group="value" + ) + apply_snapshot_chunk: "RequestApplySnapshotChunk" = betterproto.message_field( + 15, group="value" + ) + + +@dataclass(eq=False, repr=False) +class RequestEcho(betterproto.Message): + message: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class RequestFlush(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class RequestInfo(betterproto.Message): + version: str = betterproto.string_field(1) + block_version: int = betterproto.uint64_field(2) + p2_p_version: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class RequestSetOption(betterproto.Message): + """nondeterministic""" + + key: str = betterproto.string_field(1) + value: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class RequestInitChain(betterproto.Message): + time: datetime = betterproto.message_field(1) + chain_id: str = betterproto.string_field(2) + consensus_params: "ConsensusParams" = betterproto.message_field(3) + validators: List["ValidatorUpdate"] = betterproto.message_field(4) + app_state_bytes: bytes = betterproto.bytes_field(5) + initial_height: int = betterproto.int64_field(6) + + +@dataclass(eq=False, repr=False) +class RequestQuery(betterproto.Message): + data: bytes = betterproto.bytes_field(1) + path: str = betterproto.string_field(2) + height: int = betterproto.int64_field(3) + prove: bool = betterproto.bool_field(4) + + +@dataclass(eq=False, repr=False) +class RequestBeginBlock(betterproto.Message): + hash: bytes = betterproto.bytes_field(1) + header: "_types__.Header" = betterproto.message_field(2) + last_commit_info: "LastCommitInfo" = betterproto.message_field(3) + byzantine_validators: List["Evidence"] = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class RequestCheckTx(betterproto.Message): + tx: bytes = betterproto.bytes_field(1) + type: "CheckTxType" = betterproto.enum_field(2) + + +@dataclass(eq=False, repr=False) +class RequestDeliverTx(betterproto.Message): + tx: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class RequestEndBlock(betterproto.Message): + height: int = betterproto.int64_field(1) + + +@dataclass(eq=False, repr=False) +class RequestCommit(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class RequestListSnapshots(betterproto.Message): + """lists available snapshots""" + + pass + + +@dataclass(eq=False, repr=False) +class RequestOfferSnapshot(betterproto.Message): + """offers a snapshot to the application""" + + snapshot: "Snapshot" = betterproto.message_field(1) + app_hash: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class RequestLoadSnapshotChunk(betterproto.Message): + """loads a snapshot chunk""" + + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + chunk: int = betterproto.uint32_field(3) + + +@dataclass(eq=False, repr=False) +class RequestApplySnapshotChunk(betterproto.Message): + """Applies a snapshot chunk""" + + index: int = betterproto.uint32_field(1) + chunk: bytes = betterproto.bytes_field(2) + sender: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class Response(betterproto.Message): + exception: "ResponseException" = betterproto.message_field(1, group="value") + echo: "ResponseEcho" = betterproto.message_field(2, group="value") + flush: "ResponseFlush" = betterproto.message_field(3, group="value") + info: "ResponseInfo" = betterproto.message_field(4, group="value") + set_option: "ResponseSetOption" = betterproto.message_field(5, group="value") + init_chain: "ResponseInitChain" = betterproto.message_field(6, group="value") + query: "ResponseQuery" = betterproto.message_field(7, group="value") + begin_block: "ResponseBeginBlock" = betterproto.message_field(8, group="value") + check_tx: "ResponseCheckTx" = betterproto.message_field(9, group="value") + deliver_tx: "ResponseDeliverTx" = betterproto.message_field(10, group="value") + end_block: "ResponseEndBlock" = betterproto.message_field(11, group="value") + commit: "ResponseCommit" = betterproto.message_field(12, group="value") + list_snapshots: "ResponseListSnapshots" = betterproto.message_field( + 13, group="value" + ) + offer_snapshot: "ResponseOfferSnapshot" = betterproto.message_field( + 14, group="value" + ) + load_snapshot_chunk: "ResponseLoadSnapshotChunk" = betterproto.message_field( + 15, group="value" + ) + apply_snapshot_chunk: "ResponseApplySnapshotChunk" = betterproto.message_field( + 16, group="value" + ) + + +@dataclass(eq=False, repr=False) +class ResponseException(betterproto.Message): + """nondeterministic""" + + error: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseEcho(betterproto.Message): + message: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseFlush(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class ResponseInfo(betterproto.Message): + data: str = betterproto.string_field(1) + version: str = betterproto.string_field(2) + app_version: int = betterproto.uint64_field(3) + last_block_height: int = betterproto.int64_field(4) + last_block_app_hash: bytes = betterproto.bytes_field(5) + + +@dataclass(eq=False, repr=False) +class ResponseSetOption(betterproto.Message): + """nondeterministic""" + + code: int = betterproto.uint32_field(1) + log: str = betterproto.string_field(3) + """bytes data = 2;""" + + info: str = betterproto.string_field(4) + + +@dataclass(eq=False, repr=False) +class ResponseInitChain(betterproto.Message): + consensus_params: "ConsensusParams" = betterproto.message_field(1) + validators: List["ValidatorUpdate"] = betterproto.message_field(2) + app_hash: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class ResponseQuery(betterproto.Message): + code: int = betterproto.uint32_field(1) + log: str = betterproto.string_field(3) + """bytes data = 2; // use "value" instead.""" + + info: str = betterproto.string_field(4) + index: int = betterproto.int64_field(5) + key: bytes = betterproto.bytes_field(6) + value: bytes = betterproto.bytes_field(7) + proof_ops: "_crypto__.ProofOps" = betterproto.message_field(8) + height: int = betterproto.int64_field(9) + codespace: str = betterproto.string_field(10) + + +@dataclass(eq=False, repr=False) +class ResponseBeginBlock(betterproto.Message): + events: List["Event"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseCheckTx(betterproto.Message): + code: int = betterproto.uint32_field(1) + data: bytes = betterproto.bytes_field(2) + log: str = betterproto.string_field(3) + info: str = betterproto.string_field(4) + gas_wanted: int = betterproto.int64_field(5) + gas_used: int = betterproto.int64_field(6) + events: List["Event"] = betterproto.message_field(7) + codespace: str = betterproto.string_field(8) + + +@dataclass(eq=False, repr=False) +class ResponseDeliverTx(betterproto.Message): + code: int = betterproto.uint32_field(1) + data: bytes = betterproto.bytes_field(2) + log: str = betterproto.string_field(3) + info: str = betterproto.string_field(4) + gas_wanted: int = betterproto.int64_field(5) + gas_used: int = betterproto.int64_field(6) + events: List["Event"] = betterproto.message_field(7) + codespace: str = betterproto.string_field(8) + + +@dataclass(eq=False, repr=False) +class ResponseEndBlock(betterproto.Message): + validator_updates: List["ValidatorUpdate"] = betterproto.message_field(1) + consensus_param_updates: "ConsensusParams" = betterproto.message_field(2) + events: List["Event"] = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class ResponseCommit(betterproto.Message): + data: bytes = betterproto.bytes_field(2) + """reserve 1""" + + retain_height: int = betterproto.int64_field(3) + + +@dataclass(eq=False, repr=False) +class ResponseListSnapshots(betterproto.Message): + snapshots: List["Snapshot"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseOfferSnapshot(betterproto.Message): + result: "ResponseOfferSnapshotResult" = betterproto.enum_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseLoadSnapshotChunk(betterproto.Message): + chunk: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class ResponseApplySnapshotChunk(betterproto.Message): + result: "ResponseApplySnapshotChunkResult" = betterproto.enum_field(1) + refetch_chunks: List[int] = betterproto.uint32_field(2) + reject_senders: List[str] = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class ConsensusParams(betterproto.Message): + """ + ConsensusParams contains all consensus-relevant parameters that can be + adjusted by the abci app + """ + + block: "BlockParams" = betterproto.message_field(1) + evidence: "_types__.EvidenceParams" = betterproto.message_field(2) + validator: "_types__.ValidatorParams" = betterproto.message_field(3) + version: "_types__.VersionParams" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class BlockParams(betterproto.Message): + """BlockParams contains limits on the block size.""" + + max_bytes: int = betterproto.int64_field(1) + """Note: must be greater than 0""" + + max_gas: int = betterproto.int64_field(2) + """Note: must be greater or equal to -1""" + + +@dataclass(eq=False, repr=False) +class LastCommitInfo(betterproto.Message): + round: int = betterproto.int32_field(1) + votes: List["VoteInfo"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Event(betterproto.Message): + """ + Event allows application developers to attach additional information to + ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and + ResponseDeliverTx. Later, transactions may be queried using these events. + """ + + type: str = betterproto.string_field(1) + attributes: List["EventAttribute"] = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class EventAttribute(betterproto.Message): + """EventAttribute is a single key-value pair, associated with an event.""" + + key: bytes = betterproto.bytes_field(1) + value: bytes = betterproto.bytes_field(2) + index: bool = betterproto.bool_field(3) + + +@dataclass(eq=False, repr=False) +class TxResult(betterproto.Message): + """ + TxResult contains results of executing the transaction. One usage is + indexing transaction results. + """ + + height: int = betterproto.int64_field(1) + index: int = betterproto.uint32_field(2) + tx: bytes = betterproto.bytes_field(3) + result: "ResponseDeliverTx" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class Validator(betterproto.Message): + """Validator""" + + address: bytes = betterproto.bytes_field(1) + power: int = betterproto.int64_field(3) + """PubKey pub_key = 2 [(gogoproto.nullable)=false];""" + + +@dataclass(eq=False, repr=False) +class ValidatorUpdate(betterproto.Message): + """ValidatorUpdate""" + + pub_key: "_crypto__.PublicKey" = betterproto.message_field(1) + power: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class VoteInfo(betterproto.Message): + """VoteInfo""" + + validator: "Validator" = betterproto.message_field(1) + signed_last_block: bool = betterproto.bool_field(2) + + +@dataclass(eq=False, repr=False) +class Evidence(betterproto.Message): + type: "EvidenceType" = betterproto.enum_field(1) + validator: "Validator" = betterproto.message_field(2) + """The offending validator""" + + height: int = betterproto.int64_field(3) + """The height when the offense occurred""" + + time: datetime = betterproto.message_field(4) + """The corresponding time where the offense occurred""" + + total_voting_power: int = betterproto.int64_field(5) + """ + Total voting power of the validator set in case the ABCI application does + not store historical validators. + https://github.com/tendermint/tendermint/issues/4581 + """ + + +@dataclass(eq=False, repr=False) +class Snapshot(betterproto.Message): + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + chunks: int = betterproto.uint32_field(3) + hash: bytes = betterproto.bytes_field(4) + metadata: bytes = betterproto.bytes_field(5) + + +class AbciApplicationStub(betterproto.ServiceStub): + async def echo( + self, + request_echo: "RequestEcho", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseEcho": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/Echo", + request_echo, + ResponseEcho, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def flush( + self, + request_flush: "RequestFlush", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseFlush": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/Flush", + request_flush, + ResponseFlush, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def info( + self, + request_info: "RequestInfo", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseInfo": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/Info", + request_info, + ResponseInfo, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def set_option( + self, + request_set_option: "RequestSetOption", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseSetOption": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/SetOption", + request_set_option, + ResponseSetOption, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def deliver_tx( + self, + request_deliver_tx: "RequestDeliverTx", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseDeliverTx": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/DeliverTx", + request_deliver_tx, + ResponseDeliverTx, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def check_tx( + self, + request_check_tx: "RequestCheckTx", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseCheckTx": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/CheckTx", + request_check_tx, + ResponseCheckTx, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def query( + self, + request_query: "RequestQuery", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseQuery": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/Query", + request_query, + ResponseQuery, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def commit( + self, + request_commit: "RequestCommit", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseCommit": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/Commit", + request_commit, + ResponseCommit, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def init_chain( + self, + request_init_chain: "RequestInitChain", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseInitChain": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/InitChain", + request_init_chain, + ResponseInitChain, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def begin_block( + self, + request_begin_block: "RequestBeginBlock", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseBeginBlock": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/BeginBlock", + request_begin_block, + ResponseBeginBlock, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def end_block( + self, + request_end_block: "RequestEndBlock", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseEndBlock": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/EndBlock", + request_end_block, + ResponseEndBlock, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def list_snapshots( + self, + request_list_snapshots: "RequestListSnapshots", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseListSnapshots": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/ListSnapshots", + request_list_snapshots, + ResponseListSnapshots, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def offer_snapshot( + self, + request_offer_snapshot: "RequestOfferSnapshot", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseOfferSnapshot": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/OfferSnapshot", + request_offer_snapshot, + ResponseOfferSnapshot, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def load_snapshot_chunk( + self, + request_load_snapshot_chunk: "RequestLoadSnapshotChunk", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseLoadSnapshotChunk": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/LoadSnapshotChunk", + request_load_snapshot_chunk, + ResponseLoadSnapshotChunk, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def apply_snapshot_chunk( + self, + request_apply_snapshot_chunk: "RequestApplySnapshotChunk", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseApplySnapshotChunk": + return await self._unary_unary( + "/tendermint.abci.ABCIApplication/ApplySnapshotChunk", + request_apply_snapshot_chunk, + ResponseApplySnapshotChunk, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class AbciApplicationBase(ServiceBase): + async def echo(self, request_echo: "RequestEcho") -> "ResponseEcho": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def flush(self, request_flush: "RequestFlush") -> "ResponseFlush": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def info(self, request_info: "RequestInfo") -> "ResponseInfo": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def set_option( + self, request_set_option: "RequestSetOption" + ) -> "ResponseSetOption": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def deliver_tx( + self, request_deliver_tx: "RequestDeliverTx" + ) -> "ResponseDeliverTx": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def check_tx(self, request_check_tx: "RequestCheckTx") -> "ResponseCheckTx": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def query(self, request_query: "RequestQuery") -> "ResponseQuery": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def commit(self, request_commit: "RequestCommit") -> "ResponseCommit": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def init_chain( + self, request_init_chain: "RequestInitChain" + ) -> "ResponseInitChain": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def begin_block( + self, request_begin_block: "RequestBeginBlock" + ) -> "ResponseBeginBlock": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def end_block( + self, request_end_block: "RequestEndBlock" + ) -> "ResponseEndBlock": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def list_snapshots( + self, request_list_snapshots: "RequestListSnapshots" + ) -> "ResponseListSnapshots": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def offer_snapshot( + self, request_offer_snapshot: "RequestOfferSnapshot" + ) -> "ResponseOfferSnapshot": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def load_snapshot_chunk( + self, request_load_snapshot_chunk: "RequestLoadSnapshotChunk" + ) -> "ResponseLoadSnapshotChunk": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def apply_snapshot_chunk( + self, request_apply_snapshot_chunk: "RequestApplySnapshotChunk" + ) -> "ResponseApplySnapshotChunk": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_echo( + self, stream: "grpclib.server.Stream[RequestEcho, ResponseEcho]" + ) -> None: + request = await stream.recv_message() + response = await self.echo(request) + await stream.send_message(response) + + async def __rpc_flush( + self, stream: "grpclib.server.Stream[RequestFlush, ResponseFlush]" + ) -> None: + request = await stream.recv_message() + response = await self.flush(request) + await stream.send_message(response) + + async def __rpc_info( + self, stream: "grpclib.server.Stream[RequestInfo, ResponseInfo]" + ) -> None: + request = await stream.recv_message() + response = await self.info(request) + await stream.send_message(response) + + async def __rpc_set_option( + self, stream: "grpclib.server.Stream[RequestSetOption, ResponseSetOption]" + ) -> None: + request = await stream.recv_message() + response = await self.set_option(request) + await stream.send_message(response) + + async def __rpc_deliver_tx( + self, stream: "grpclib.server.Stream[RequestDeliverTx, ResponseDeliverTx]" + ) -> None: + request = await stream.recv_message() + response = await self.deliver_tx(request) + await stream.send_message(response) + + async def __rpc_check_tx( + self, stream: "grpclib.server.Stream[RequestCheckTx, ResponseCheckTx]" + ) -> None: + request = await stream.recv_message() + response = await self.check_tx(request) + await stream.send_message(response) + + async def __rpc_query( + self, stream: "grpclib.server.Stream[RequestQuery, ResponseQuery]" + ) -> None: + request = await stream.recv_message() + response = await self.query(request) + await stream.send_message(response) + + async def __rpc_commit( + self, stream: "grpclib.server.Stream[RequestCommit, ResponseCommit]" + ) -> None: + request = await stream.recv_message() + response = await self.commit(request) + await stream.send_message(response) + + async def __rpc_init_chain( + self, stream: "grpclib.server.Stream[RequestInitChain, ResponseInitChain]" + ) -> None: + request = await stream.recv_message() + response = await self.init_chain(request) + await stream.send_message(response) + + async def __rpc_begin_block( + self, stream: "grpclib.server.Stream[RequestBeginBlock, ResponseBeginBlock]" + ) -> None: + request = await stream.recv_message() + response = await self.begin_block(request) + await stream.send_message(response) + + async def __rpc_end_block( + self, stream: "grpclib.server.Stream[RequestEndBlock, ResponseEndBlock]" + ) -> None: + request = await stream.recv_message() + response = await self.end_block(request) + await stream.send_message(response) + + async def __rpc_list_snapshots( + self, + stream: "grpclib.server.Stream[RequestListSnapshots, ResponseListSnapshots]", + ) -> None: + request = await stream.recv_message() + response = await self.list_snapshots(request) + await stream.send_message(response) + + async def __rpc_offer_snapshot( + self, + stream: "grpclib.server.Stream[RequestOfferSnapshot, ResponseOfferSnapshot]", + ) -> None: + request = await stream.recv_message() + response = await self.offer_snapshot(request) + await stream.send_message(response) + + async def __rpc_load_snapshot_chunk( + self, + stream: "grpclib.server.Stream[RequestLoadSnapshotChunk, ResponseLoadSnapshotChunk]", + ) -> None: + request = await stream.recv_message() + response = await self.load_snapshot_chunk(request) + await stream.send_message(response) + + async def __rpc_apply_snapshot_chunk( + self, + stream: "grpclib.server.Stream[RequestApplySnapshotChunk, ResponseApplySnapshotChunk]", + ) -> None: + request = await stream.recv_message() + response = await self.apply_snapshot_chunk(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/tendermint.abci.ABCIApplication/Echo": grpclib.const.Handler( + self.__rpc_echo, + grpclib.const.Cardinality.UNARY_UNARY, + RequestEcho, + ResponseEcho, + ), + "/tendermint.abci.ABCIApplication/Flush": grpclib.const.Handler( + self.__rpc_flush, + grpclib.const.Cardinality.UNARY_UNARY, + RequestFlush, + ResponseFlush, + ), + "/tendermint.abci.ABCIApplication/Info": grpclib.const.Handler( + self.__rpc_info, + grpclib.const.Cardinality.UNARY_UNARY, + RequestInfo, + ResponseInfo, + ), + "/tendermint.abci.ABCIApplication/SetOption": grpclib.const.Handler( + self.__rpc_set_option, + grpclib.const.Cardinality.UNARY_UNARY, + RequestSetOption, + ResponseSetOption, + ), + "/tendermint.abci.ABCIApplication/DeliverTx": grpclib.const.Handler( + self.__rpc_deliver_tx, + grpclib.const.Cardinality.UNARY_UNARY, + RequestDeliverTx, + ResponseDeliverTx, + ), + "/tendermint.abci.ABCIApplication/CheckTx": grpclib.const.Handler( + self.__rpc_check_tx, + grpclib.const.Cardinality.UNARY_UNARY, + RequestCheckTx, + ResponseCheckTx, + ), + "/tendermint.abci.ABCIApplication/Query": grpclib.const.Handler( + self.__rpc_query, + grpclib.const.Cardinality.UNARY_UNARY, + RequestQuery, + ResponseQuery, + ), + "/tendermint.abci.ABCIApplication/Commit": grpclib.const.Handler( + self.__rpc_commit, + grpclib.const.Cardinality.UNARY_UNARY, + RequestCommit, + ResponseCommit, + ), + "/tendermint.abci.ABCIApplication/InitChain": grpclib.const.Handler( + self.__rpc_init_chain, + grpclib.const.Cardinality.UNARY_UNARY, + RequestInitChain, + ResponseInitChain, + ), + "/tendermint.abci.ABCIApplication/BeginBlock": grpclib.const.Handler( + self.__rpc_begin_block, + grpclib.const.Cardinality.UNARY_UNARY, + RequestBeginBlock, + ResponseBeginBlock, + ), + "/tendermint.abci.ABCIApplication/EndBlock": grpclib.const.Handler( + self.__rpc_end_block, + grpclib.const.Cardinality.UNARY_UNARY, + RequestEndBlock, + ResponseEndBlock, + ), + "/tendermint.abci.ABCIApplication/ListSnapshots": grpclib.const.Handler( + self.__rpc_list_snapshots, + grpclib.const.Cardinality.UNARY_UNARY, + RequestListSnapshots, + ResponseListSnapshots, + ), + "/tendermint.abci.ABCIApplication/OfferSnapshot": grpclib.const.Handler( + self.__rpc_offer_snapshot, + grpclib.const.Cardinality.UNARY_UNARY, + RequestOfferSnapshot, + ResponseOfferSnapshot, + ), + "/tendermint.abci.ABCIApplication/LoadSnapshotChunk": grpclib.const.Handler( + self.__rpc_load_snapshot_chunk, + grpclib.const.Cardinality.UNARY_UNARY, + RequestLoadSnapshotChunk, + ResponseLoadSnapshotChunk, + ), + "/tendermint.abci.ABCIApplication/ApplySnapshotChunk": grpclib.const.Handler( + self.__rpc_apply_snapshot_chunk, + grpclib.const.Cardinality.UNARY_UNARY, + RequestApplySnapshotChunk, + ResponseApplySnapshotChunk, + ), + } diff --git a/secret_sdk/protobuf/tendermint/blockchain/__init__.py b/secret_sdk/protobuf/tendermint/blockchain/__init__.py new file mode 100644 index 0000000..4110348 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/blockchain/__init__.py @@ -0,0 +1,56 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/blockchain/types.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + +from .. import types as _types__ + + +@dataclass(eq=False, repr=False) +class BlockRequest(betterproto.Message): + """BlockRequest requests a block for a specific height""" + + height: int = betterproto.int64_field(1) + + +@dataclass(eq=False, repr=False) +class NoBlockResponse(betterproto.Message): + """ + NoBlockResponse informs the node that the peer does not have block at the + requested height + """ + + height: int = betterproto.int64_field(1) + + +@dataclass(eq=False, repr=False) +class BlockResponse(betterproto.Message): + """BlockResponse returns block to the requested""" + + block: "_types__.Block" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class StatusRequest(betterproto.Message): + """StatusRequest requests the status of a peer.""" + + pass + + +@dataclass(eq=False, repr=False) +class StatusResponse(betterproto.Message): + """StatusResponse is a peer response to inform their status.""" + + height: int = betterproto.int64_field(1) + base: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + block_request: "BlockRequest" = betterproto.message_field(1, group="sum") + no_block_response: "NoBlockResponse" = betterproto.message_field(2, group="sum") + block_response: "BlockResponse" = betterproto.message_field(3, group="sum") + status_request: "StatusRequest" = betterproto.message_field(4, group="sum") + status_response: "StatusResponse" = betterproto.message_field(5, group="sum") diff --git a/secret_sdk/protobuf/tendermint/consensus/__init__.py b/secret_sdk/protobuf/tendermint/consensus/__init__.py new file mode 100644 index 0000000..73cb405 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/consensus/__init__.py @@ -0,0 +1,174 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/consensus/types.proto, tendermint/consensus/wal.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) + +import betterproto + +from .. import types as _types__ +from ..libs import bits as _libs_bits__ + + +@dataclass(eq=False, repr=False) +class NewRoundStep(betterproto.Message): + """ + NewRoundStep is sent for every step taken in the ConsensusState. For every + height/round/step transition + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + step: int = betterproto.uint32_field(3) + seconds_since_start_time: int = betterproto.int64_field(4) + last_commit_round: int = betterproto.int32_field(5) + + +@dataclass(eq=False, repr=False) +class NewValidBlock(betterproto.Message): + """ + NewValidBlock is sent when a validator observes a valid block B in some + round r,i.e., there is a Proposal for block B and 2/3+ prevotes for the + block B in the round r. In case the block is also committed, then IsCommit + flag is set to true. + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + block_part_set_header: "_types__.PartSetHeader" = betterproto.message_field(3) + block_parts: "_libs_bits__.BitArray" = betterproto.message_field(4) + is_commit: bool = betterproto.bool_field(5) + + +@dataclass(eq=False, repr=False) +class Proposal(betterproto.Message): + """Proposal is sent when a new block is proposed.""" + + proposal: "_types__.Proposal" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class ProposalPol(betterproto.Message): + """ProposalPOL is sent when a previous proposal is re-proposed.""" + + height: int = betterproto.int64_field(1) + proposal_pol_round: int = betterproto.int32_field(2) + proposal_pol: "_libs_bits__.BitArray" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class BlockPart(betterproto.Message): + """BlockPart is sent when gossipping a piece of the proposed block.""" + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + part: "_types__.Part" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class Vote(betterproto.Message): + """Vote is sent when voting for a proposal (or lack thereof).""" + + vote: "_types__.Vote" = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class HasVote(betterproto.Message): + """ + HasVote is sent to indicate that a particular vote has been received. + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + type: "_types__.SignedMsgType" = betterproto.enum_field(3) + index: int = betterproto.int32_field(4) + + +@dataclass(eq=False, repr=False) +class VoteSetMaj23(betterproto.Message): + """ + VoteSetMaj23 is sent to indicate that a given BlockID has seen +2/3 votes. + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + type: "_types__.SignedMsgType" = betterproto.enum_field(3) + block_id: "_types__.BlockId" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class VoteSetBits(betterproto.Message): + """ + VoteSetBits is sent to communicate the bit-array of votes seen for the + BlockID. + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + type: "_types__.SignedMsgType" = betterproto.enum_field(3) + block_id: "_types__.BlockId" = betterproto.message_field(4) + votes: "_libs_bits__.BitArray" = betterproto.message_field(5) + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + new_round_step: "NewRoundStep" = betterproto.message_field(1, group="sum") + new_valid_block: "NewValidBlock" = betterproto.message_field(2, group="sum") + proposal: "Proposal" = betterproto.message_field(3, group="sum") + proposal_pol: "ProposalPol" = betterproto.message_field(4, group="sum") + block_part: "BlockPart" = betterproto.message_field(5, group="sum") + vote: "Vote" = betterproto.message_field(6, group="sum") + has_vote: "HasVote" = betterproto.message_field(7, group="sum") + vote_set_maj23: "VoteSetMaj23" = betterproto.message_field(8, group="sum") + vote_set_bits: "VoteSetBits" = betterproto.message_field(9, group="sum") + + +@dataclass(eq=False, repr=False) +class MsgInfo(betterproto.Message): + """MsgInfo are msgs from the reactor which may update the state""" + + msg: "Message" = betterproto.message_field(1) + peer_id: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class TimeoutInfo(betterproto.Message): + """TimeoutInfo internally generated messages which may update the state""" + + duration: timedelta = betterproto.message_field(1) + height: int = betterproto.int64_field(2) + round: int = betterproto.int32_field(3) + step: int = betterproto.uint32_field(4) + + +@dataclass(eq=False, repr=False) +class EndHeight(betterproto.Message): + """ + EndHeight marks the end of the given height inside WAL. @internal used by + scripts/wal2json util. + """ + + height: int = betterproto.int64_field(1) + + +@dataclass(eq=False, repr=False) +class WalMessage(betterproto.Message): + event_data_round_state: "_types__.EventDataRoundState" = betterproto.message_field( + 1, group="sum" + ) + msg_info: "MsgInfo" = betterproto.message_field(2, group="sum") + timeout_info: "TimeoutInfo" = betterproto.message_field(3, group="sum") + end_height: "EndHeight" = betterproto.message_field(4, group="sum") + + +@dataclass(eq=False, repr=False) +class TimedWalMessage(betterproto.Message): + """ + TimedWALMessage wraps WALMessage and adds Time for debugging purposes. + """ + + time: datetime = betterproto.message_field(1) + msg: "WalMessage" = betterproto.message_field(2) diff --git a/secret_sdk/protobuf/tendermint/crypto/__init__.py b/secret_sdk/protobuf/tendermint/crypto/__init__.py new file mode 100644 index 0000000..8fe73bd --- /dev/null +++ b/secret_sdk/protobuf/tendermint/crypto/__init__.py @@ -0,0 +1,61 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/crypto/keys.proto, tendermint/crypto/proof.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class Proof(betterproto.Message): + total: int = betterproto.int64_field(1) + index: int = betterproto.int64_field(2) + leaf_hash: bytes = betterproto.bytes_field(3) + aunts: List[bytes] = betterproto.bytes_field(4) + + +@dataclass(eq=False, repr=False) +class ValueOp(betterproto.Message): + key: bytes = betterproto.bytes_field(1) + """Encoded in ProofOp.Key.""" + + proof: "Proof" = betterproto.message_field(2) + """To encode in ProofOp.Data""" + + +@dataclass(eq=False, repr=False) +class DominoOp(betterproto.Message): + key: str = betterproto.string_field(1) + input: str = betterproto.string_field(2) + output: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class ProofOp(betterproto.Message): + """ + ProofOp defines an operation used for calculating Merkle root The data + could be arbitrary format, providing nessecary data for example + neighbouring node hash + """ + + type: str = betterproto.string_field(1) + key: bytes = betterproto.bytes_field(2) + data: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class ProofOps(betterproto.Message): + """ProofOps is Merkle proof defined by the list of ProofOps""" + + ops: List["ProofOp"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class PublicKey(betterproto.Message): + """ + PublicKey defines the keys available for use with Tendermint Validators + """ + + ed25519: bytes = betterproto.bytes_field(1, group="sum") + secp256_k1: bytes = betterproto.bytes_field(2, group="sum") diff --git a/secret_sdk/protobuf/tendermint/libs/__init__.py b/secret_sdk/protobuf/tendermint/libs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/tendermint/libs/bits/__init__.py b/secret_sdk/protobuf/tendermint/libs/bits/__init__.py new file mode 100644 index 0000000..7de6e15 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/libs/bits/__init__.py @@ -0,0 +1,13 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/libs/bits/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class BitArray(betterproto.Message): + bits: int = betterproto.int64_field(1) + elems: List[int] = betterproto.uint64_field(2) diff --git a/secret_sdk/protobuf/tendermint/mempool/__init__.py b/secret_sdk/protobuf/tendermint/mempool/__init__.py new file mode 100644 index 0000000..31d3b71 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/mempool/__init__.py @@ -0,0 +1,17 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/mempool/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + + +@dataclass(eq=False, repr=False) +class Txs(betterproto.Message): + txs: List[bytes] = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + txs: "Txs" = betterproto.message_field(1, group="sum") diff --git a/secret_sdk/protobuf/tendermint/p2p/__init__.py b/secret_sdk/protobuf/tendermint/p2p/__init__.py new file mode 100644 index 0000000..6116b4b --- /dev/null +++ b/secret_sdk/protobuf/tendermint/p2p/__init__.py @@ -0,0 +1,87 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/p2p/conn.proto, tendermint/p2p/pex.proto, tendermint/p2p/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import List + +import betterproto + +from .. import crypto as _crypto__ + + +@dataclass(eq=False, repr=False) +class NetAddress(betterproto.Message): + id: str = betterproto.string_field(1) + ip: str = betterproto.string_field(2) + port: int = betterproto.uint32_field(3) + + +@dataclass(eq=False, repr=False) +class ProtocolVersion(betterproto.Message): + p2_p: int = betterproto.uint64_field(1) + block: int = betterproto.uint64_field(2) + app: int = betterproto.uint64_field(3) + + +@dataclass(eq=False, repr=False) +class DefaultNodeInfo(betterproto.Message): + protocol_version: "ProtocolVersion" = betterproto.message_field(1) + default_node_id: str = betterproto.string_field(2) + listen_addr: str = betterproto.string_field(3) + network: str = betterproto.string_field(4) + version: str = betterproto.string_field(5) + channels: bytes = betterproto.bytes_field(6) + moniker: str = betterproto.string_field(7) + other: "DefaultNodeInfoOther" = betterproto.message_field(8) + + +@dataclass(eq=False, repr=False) +class DefaultNodeInfoOther(betterproto.Message): + tx_index: str = betterproto.string_field(1) + rpc_address: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class PacketPing(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class PacketPong(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class PacketMsg(betterproto.Message): + channel_id: int = betterproto.int32_field(1) + eof: bool = betterproto.bool_field(2) + data: bytes = betterproto.bytes_field(3) + + +@dataclass(eq=False, repr=False) +class Packet(betterproto.Message): + packet_ping: "PacketPing" = betterproto.message_field(1, group="sum") + packet_pong: "PacketPong" = betterproto.message_field(2, group="sum") + packet_msg: "PacketMsg" = betterproto.message_field(3, group="sum") + + +@dataclass(eq=False, repr=False) +class AuthSigMessage(betterproto.Message): + pub_key: "_crypto__.PublicKey" = betterproto.message_field(1) + sig: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class PexRequest(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class PexAddrs(betterproto.Message): + addrs: List["NetAddress"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + pex_request: "PexRequest" = betterproto.message_field(1, group="sum") + pex_addrs: "PexAddrs" = betterproto.message_field(2, group="sum") diff --git a/secret_sdk/protobuf/tendermint/privval/__init__.py b/secret_sdk/protobuf/tendermint/privval/__init__.py new file mode 100644 index 0000000..9f186c2 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/privval/__init__.py @@ -0,0 +1,111 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/privval/types.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + +from .. import ( + crypto as _crypto__, + types as _types__, +) + + +class Errors(betterproto.Enum): + ERRORS_UNKNOWN = 0 + ERRORS_UNEXPECTED_RESPONSE = 1 + ERRORS_NO_CONNECTION = 2 + ERRORS_CONNECTION_TIMEOUT = 3 + ERRORS_READ_TIMEOUT = 4 + ERRORS_WRITE_TIMEOUT = 5 + + +@dataclass(eq=False, repr=False) +class RemoteSignerError(betterproto.Message): + code: int = betterproto.int32_field(1) + description: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class PubKeyRequest(betterproto.Message): + """ + PubKeyRequest requests the consensus public key from the remote signer. + """ + + chain_id: str = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class PubKeyResponse(betterproto.Message): + """PubKeyResponse is a response message containing the public key.""" + + pub_key: "_crypto__.PublicKey" = betterproto.message_field(1) + error: "RemoteSignerError" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class SignVoteRequest(betterproto.Message): + """SignVoteRequest is a request to sign a vote""" + + vote: "_types__.Vote" = betterproto.message_field(1) + chain_id: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class SignedVoteResponse(betterproto.Message): + """ + SignedVoteResponse is a response containing a signed vote or an error + """ + + vote: "_types__.Vote" = betterproto.message_field(1) + error: "RemoteSignerError" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class SignProposalRequest(betterproto.Message): + """SignProposalRequest is a request to sign a proposal""" + + proposal: "_types__.Proposal" = betterproto.message_field(1) + chain_id: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class SignedProposalResponse(betterproto.Message): + """ + SignedProposalResponse is response containing a signed proposal or an error + """ + + proposal: "_types__.Proposal" = betterproto.message_field(1) + error: "RemoteSignerError" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class PingRequest(betterproto.Message): + """PingRequest is a request to confirm that the connection is alive.""" + + pass + + +@dataclass(eq=False, repr=False) +class PingResponse(betterproto.Message): + """PingResponse is a response to confirm that the connection is alive.""" + + pass + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + pub_key_request: "PubKeyRequest" = betterproto.message_field(1, group="sum") + pub_key_response: "PubKeyResponse" = betterproto.message_field(2, group="sum") + sign_vote_request: "SignVoteRequest" = betterproto.message_field(3, group="sum") + signed_vote_response: "SignedVoteResponse" = betterproto.message_field( + 4, group="sum" + ) + sign_proposal_request: "SignProposalRequest" = betterproto.message_field( + 5, group="sum" + ) + signed_proposal_response: "SignedProposalResponse" = betterproto.message_field( + 6, group="sum" + ) + ping_request: "PingRequest" = betterproto.message_field(7, group="sum") + ping_response: "PingResponse" = betterproto.message_field(8, group="sum") diff --git a/secret_sdk/protobuf/tendermint/rpc/__init__.py b/secret_sdk/protobuf/tendermint/rpc/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/secret_sdk/protobuf/tendermint/rpc/grpc/__init__.py b/secret_sdk/protobuf/tendermint/rpc/grpc/__init__.py new file mode 100644 index 0000000..7940a39 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/rpc/grpc/__init__.py @@ -0,0 +1,118 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/rpc/grpc/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from typing import ( + TYPE_CHECKING, + Dict, + Optional, +) + +import betterproto +import grpclib +from betterproto.grpc.grpclib_server import ServiceBase + +from ... import abci as __abci__ + + +if TYPE_CHECKING: + import grpclib.server + from betterproto.grpc.grpclib_client import MetadataLike + from grpclib.metadata import Deadline + + +@dataclass(eq=False, repr=False) +class RequestPing(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class RequestBroadcastTx(betterproto.Message): + tx: bytes = betterproto.bytes_field(1) + + +@dataclass(eq=False, repr=False) +class ResponsePing(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class ResponseBroadcastTx(betterproto.Message): + check_tx: "__abci__.ResponseCheckTx" = betterproto.message_field(1) + deliver_tx: "__abci__.ResponseDeliverTx" = betterproto.message_field(2) + + +class BroadcastApiStub(betterproto.ServiceStub): + async def ping( + self, + request_ping: "RequestPing", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponsePing": + return await self._unary_unary( + "/tendermint.rpc.grpc.BroadcastAPI/Ping", + request_ping, + ResponsePing, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + async def broadcast_tx( + self, + request_broadcast_tx: "RequestBroadcastTx", + *, + timeout: Optional[float] = None, + deadline: Optional["Deadline"] = None, + metadata: Optional["MetadataLike"] = None + ) -> "ResponseBroadcastTx": + return await self._unary_unary( + "/tendermint.rpc.grpc.BroadcastAPI/BroadcastTx", + request_broadcast_tx, + ResponseBroadcastTx, + timeout=timeout, + deadline=deadline, + metadata=metadata, + ) + + +class BroadcastApiBase(ServiceBase): + async def ping(self, request_ping: "RequestPing") -> "ResponsePing": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def broadcast_tx( + self, request_broadcast_tx: "RequestBroadcastTx" + ) -> "ResponseBroadcastTx": + raise grpclib.GRPCError(grpclib.const.Status.UNIMPLEMENTED) + + async def __rpc_ping( + self, stream: "grpclib.server.Stream[RequestPing, ResponsePing]" + ) -> None: + request = await stream.recv_message() + response = await self.ping(request) + await stream.send_message(response) + + async def __rpc_broadcast_tx( + self, stream: "grpclib.server.Stream[RequestBroadcastTx, ResponseBroadcastTx]" + ) -> None: + request = await stream.recv_message() + response = await self.broadcast_tx(request) + await stream.send_message(response) + + def __mapping__(self) -> Dict[str, grpclib.const.Handler]: + return { + "/tendermint.rpc.grpc.BroadcastAPI/Ping": grpclib.const.Handler( + self.__rpc_ping, + grpclib.const.Cardinality.UNARY_UNARY, + RequestPing, + ResponsePing, + ), + "/tendermint.rpc.grpc.BroadcastAPI/BroadcastTx": grpclib.const.Handler( + self.__rpc_broadcast_tx, + grpclib.const.Cardinality.UNARY_UNARY, + RequestBroadcastTx, + ResponseBroadcastTx, + ), + } diff --git a/secret_sdk/protobuf/tendermint/state/__init__.py b/secret_sdk/protobuf/tendermint/state/__init__.py new file mode 100644 index 0000000..d2d953d --- /dev/null +++ b/secret_sdk/protobuf/tendermint/state/__init__.py @@ -0,0 +1,92 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/state/types.proto +# plugin: python-betterproto +from dataclasses import dataclass +from datetime import datetime +from typing import List + +import betterproto + +from .. import ( + abci as _abci__, + types as _types__, + version as _version__, +) + + +@dataclass(eq=False, repr=False) +class AbciResponses(betterproto.Message): + """ + ABCIResponses retains the responses of the various ABCI calls during block + processing. It is persisted to disk for each height before calling Commit. + """ + + deliver_txs: List["_abci__.ResponseDeliverTx"] = betterproto.message_field(1) + end_block: "_abci__.ResponseEndBlock" = betterproto.message_field(2) + begin_block: "_abci__.ResponseBeginBlock" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class ValidatorsInfo(betterproto.Message): + """ + ValidatorsInfo represents the latest validator set, or the last height it + changed + """ + + validator_set: "_types__.ValidatorSet" = betterproto.message_field(1) + last_height_changed: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class ConsensusParamsInfo(betterproto.Message): + """ + ConsensusParamsInfo represents the latest consensus params, or the last + height it changed + """ + + consensus_params: "_types__.ConsensusParams" = betterproto.message_field(1) + last_height_changed: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class Version(betterproto.Message): + consensus: "_version__.Consensus" = betterproto.message_field(1) + software: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class State(betterproto.Message): + version: "Version" = betterproto.message_field(1) + chain_id: str = betterproto.string_field(2) + """immutable""" + + initial_height: int = betterproto.int64_field(14) + last_block_height: int = betterproto.int64_field(3) + """LastBlockHeight=0 at genesis (ie. block(H=0) does not exist)""" + + last_block_id: "_types__.BlockId" = betterproto.message_field(4) + last_block_time: datetime = betterproto.message_field(5) + next_validators: "_types__.ValidatorSet" = betterproto.message_field(6) + """ + LastValidators is used to validate block.LastCommit. Validators are + persisted to the database separately every time they change, so we can + query for historical validator sets. Note that if s.LastBlockHeight causes + a valset change, we set s.LastHeightValidatorsChanged = s.LastBlockHeight + + 1 + 1 Extra +1 due to nextValSet delay. + """ + + validators: "_types__.ValidatorSet" = betterproto.message_field(7) + last_validators: "_types__.ValidatorSet" = betterproto.message_field(8) + last_height_validators_changed: int = betterproto.int64_field(9) + consensus_params: "_types__.ConsensusParams" = betterproto.message_field(10) + """ + Consensus parameters used for validating blocks. Changes returned by + EndBlock and updated after Commit. + """ + + last_height_consensus_params_changed: int = betterproto.int64_field(11) + last_results_hash: bytes = betterproto.bytes_field(12) + """Merkle root of the results from executing prev block""" + + app_hash: bytes = betterproto.bytes_field(13) + """the latest AppHash we've received from calling abci.Commit()""" diff --git a/secret_sdk/protobuf/tendermint/statesync/__init__.py b/secret_sdk/protobuf/tendermint/statesync/__init__.py new file mode 100644 index 0000000..50fa94c --- /dev/null +++ b/secret_sdk/protobuf/tendermint/statesync/__init__.py @@ -0,0 +1,44 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/statesync/types.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class Message(betterproto.Message): + snapshots_request: "SnapshotsRequest" = betterproto.message_field(1, group="sum") + snapshots_response: "SnapshotsResponse" = betterproto.message_field(2, group="sum") + chunk_request: "ChunkRequest" = betterproto.message_field(3, group="sum") + chunk_response: "ChunkResponse" = betterproto.message_field(4, group="sum") + + +@dataclass(eq=False, repr=False) +class SnapshotsRequest(betterproto.Message): + pass + + +@dataclass(eq=False, repr=False) +class SnapshotsResponse(betterproto.Message): + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + chunks: int = betterproto.uint32_field(3) + hash: bytes = betterproto.bytes_field(4) + metadata: bytes = betterproto.bytes_field(5) + + +@dataclass(eq=False, repr=False) +class ChunkRequest(betterproto.Message): + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + index: int = betterproto.uint32_field(3) + + +@dataclass(eq=False, repr=False) +class ChunkResponse(betterproto.Message): + height: int = betterproto.uint64_field(1) + format: int = betterproto.uint32_field(2) + index: int = betterproto.uint32_field(3) + chunk: bytes = betterproto.bytes_field(4) + missing: bool = betterproto.bool_field(5) diff --git a/secret_sdk/protobuf/tendermint/store/__init__.py b/secret_sdk/protobuf/tendermint/store/__init__.py new file mode 100644 index 0000000..6c574da --- /dev/null +++ b/secret_sdk/protobuf/tendermint/store/__init__.py @@ -0,0 +1,12 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/store/types.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class BlockStoreState(betterproto.Message): + base: int = betterproto.int64_field(1) + height: int = betterproto.int64_field(2) diff --git a/secret_sdk/protobuf/tendermint/types/__init__.py b/secret_sdk/protobuf/tendermint/types/__init__.py new file mode 100644 index 0000000..0c614f3 --- /dev/null +++ b/secret_sdk/protobuf/tendermint/types/__init__.py @@ -0,0 +1,383 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/types/block.proto, tendermint/types/canonical.proto, tendermint/types/events.proto, tendermint/types/evidence.proto, tendermint/types/params.proto, tendermint/types/types.proto, tendermint/types/validator.proto +# plugin: python-betterproto +import builtins +from dataclasses import dataclass +from datetime import ( + datetime, + timedelta, +) +from typing import List + +import betterproto + +from .. import ( + crypto as _crypto__, + version as _version__, +) + + +class BlockIdFlag(betterproto.Enum): + """BlockIdFlag indicates which BlcokID the signature is for""" + + BLOCK_ID_FLAG_UNKNOWN = 0 + BLOCK_ID_FLAG_ABSENT = 1 + BLOCK_ID_FLAG_COMMIT = 2 + BLOCK_ID_FLAG_NIL = 3 + + +class SignedMsgType(betterproto.Enum): + """SignedMsgType is a type of signed message in the consensus.""" + + SIGNED_MSG_TYPE_UNKNOWN = 0 + SIGNED_MSG_TYPE_PREVOTE = 1 + """Votes""" + + SIGNED_MSG_TYPE_PRECOMMIT = 2 + SIGNED_MSG_TYPE_PROPOSAL = 32 + """Proposals""" + + +@dataclass(eq=False, repr=False) +class ValidatorSet(betterproto.Message): + validators: List["Validator"] = betterproto.message_field(1) + proposer: "Validator" = betterproto.message_field(2) + total_voting_power: int = betterproto.int64_field(3) + + +@dataclass(eq=False, repr=False) +class Validator(betterproto.Message): + address: bytes = betterproto.bytes_field(1) + pub_key: "_crypto__.PublicKey" = betterproto.message_field(2) + voting_power: int = betterproto.int64_field(3) + proposer_priority: int = betterproto.int64_field(4) + + +@dataclass(eq=False, repr=False) +class SimpleValidator(betterproto.Message): + pub_key: "_crypto__.PublicKey" = betterproto.message_field(1) + voting_power: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class PartSetHeader(betterproto.Message): + """PartsetHeader""" + + total: int = betterproto.uint32_field(1) + hash: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class Part(betterproto.Message): + index: int = betterproto.uint32_field(1) + bytes: builtins.bytes = betterproto.bytes_field(2) + proof: "_crypto__.Proof" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class BlockId(betterproto.Message): + """BlockID""" + + hash: bytes = betterproto.bytes_field(1) + part_set_header: "PartSetHeader" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class Header(betterproto.Message): + """Header defines the structure of a Tendermint block header.""" + + version: "_version__.Consensus" = betterproto.message_field(1) + """basic block info""" + + chain_id: str = betterproto.string_field(2) + height: int = betterproto.int64_field(3) + time: datetime = betterproto.message_field(4) + last_block_id: "BlockId" = betterproto.message_field(5) + """prev block info""" + + last_commit_hash: bytes = betterproto.bytes_field(6) + """hashes of block data""" + + data_hash: bytes = betterproto.bytes_field(7) + validators_hash: bytes = betterproto.bytes_field(8) + """hashes from the app output from the prev block""" + + next_validators_hash: bytes = betterproto.bytes_field(9) + consensus_hash: bytes = betterproto.bytes_field(10) + app_hash: bytes = betterproto.bytes_field(11) + last_results_hash: bytes = betterproto.bytes_field(12) + evidence_hash: bytes = betterproto.bytes_field(13) + """consensus info""" + + proposer_address: bytes = betterproto.bytes_field(14) + + +@dataclass(eq=False, repr=False) +class Data(betterproto.Message): + """Data contains the set of transactions included in the block""" + + txs: List[bytes] = betterproto.bytes_field(1) + """ + Txs that will be applied by state @ block.Height+1. NOTE: not all txs here + are valid. We're just agreeing on the order first. This means that + block.AppHash does not include these txs. + """ + + +@dataclass(eq=False, repr=False) +class Vote(betterproto.Message): + """ + Vote represents a prevote, precommit, or commit vote from validators for + consensus. + """ + + type: "SignedMsgType" = betterproto.enum_field(1) + height: int = betterproto.int64_field(2) + round: int = betterproto.int32_field(3) + block_id: "BlockId" = betterproto.message_field(4) + timestamp: datetime = betterproto.message_field(5) + validator_address: bytes = betterproto.bytes_field(6) + validator_index: int = betterproto.int32_field(7) + signature: bytes = betterproto.bytes_field(8) + + +@dataclass(eq=False, repr=False) +class Commit(betterproto.Message): + """ + Commit contains the evidence that a block was committed by a set of + validators. + """ + + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + block_id: "BlockId" = betterproto.message_field(3) + signatures: List["CommitSig"] = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class CommitSig(betterproto.Message): + """CommitSig is a part of the Vote included in a Commit.""" + + block_id_flag: "BlockIdFlag" = betterproto.enum_field(1) + validator_address: bytes = betterproto.bytes_field(2) + timestamp: datetime = betterproto.message_field(3) + signature: bytes = betterproto.bytes_field(4) + + +@dataclass(eq=False, repr=False) +class Proposal(betterproto.Message): + type: "SignedMsgType" = betterproto.enum_field(1) + height: int = betterproto.int64_field(2) + round: int = betterproto.int32_field(3) + pol_round: int = betterproto.int32_field(4) + block_id: "BlockId" = betterproto.message_field(5) + timestamp: datetime = betterproto.message_field(6) + signature: bytes = betterproto.bytes_field(7) + + +@dataclass(eq=False, repr=False) +class SignedHeader(betterproto.Message): + header: "Header" = betterproto.message_field(1) + commit: "Commit" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class LightBlock(betterproto.Message): + signed_header: "SignedHeader" = betterproto.message_field(1) + validator_set: "ValidatorSet" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class BlockMeta(betterproto.Message): + block_id: "BlockId" = betterproto.message_field(1) + block_size: int = betterproto.int64_field(2) + header: "Header" = betterproto.message_field(3) + num_txs: int = betterproto.int64_field(4) + + +@dataclass(eq=False, repr=False) +class TxProof(betterproto.Message): + """ + TxProof represents a Merkle proof of the presence of a transaction in the + Merkle tree. + """ + + root_hash: bytes = betterproto.bytes_field(1) + data: bytes = betterproto.bytes_field(2) + proof: "_crypto__.Proof" = betterproto.message_field(3) + + +@dataclass(eq=False, repr=False) +class ConsensusParams(betterproto.Message): + """ + ConsensusParams contains consensus critical parameters that determine the + validity of blocks. + """ + + block: "BlockParams" = betterproto.message_field(1) + evidence: "EvidenceParams" = betterproto.message_field(2) + validator: "ValidatorParams" = betterproto.message_field(3) + version: "VersionParams" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class BlockParams(betterproto.Message): + """BlockParams contains limits on the block size.""" + + max_bytes: int = betterproto.int64_field(1) + """Max block size, in bytes. Note: must be greater than 0""" + + max_gas: int = betterproto.int64_field(2) + """Max gas per block. Note: must be greater or equal to -1""" + + time_iota_ms: int = betterproto.int64_field(3) + """ + Minimum time increment between consecutive blocks (in milliseconds) If the + block header timestamp is ahead of the system clock, decrease this value. + Not exposed to the application. + """ + + +@dataclass(eq=False, repr=False) +class EvidenceParams(betterproto.Message): + """EvidenceParams determine how we handle evidence of malfeasance.""" + + max_age_num_blocks: int = betterproto.int64_field(1) + """ + Max age of evidence, in blocks. The basic formula for calculating this is: + MaxAgeDuration / {average block time}. + """ + + max_age_duration: timedelta = betterproto.message_field(2) + """ + Max age of evidence, in time. It should correspond with an app's "unbonding + period" or other similar mechanism for handling [Nothing-At-Stake + attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is- + the-nothing-at-stake-problem-and-how-can-it-be-fixed). + """ + + max_bytes: int = betterproto.int64_field(3) + """ + This sets the maximum size of total evidence in bytes that can be committed + in a single block. and should fall comfortably under the max block bytes. + Default is 1048576 or 1MB + """ + + +@dataclass(eq=False, repr=False) +class ValidatorParams(betterproto.Message): + """ + ValidatorParams restrict the public key types validators can use. NOTE: + uses ABCI pubkey naming, not Amino names. + """ + + pub_key_types: List[str] = betterproto.string_field(1) + + +@dataclass(eq=False, repr=False) +class VersionParams(betterproto.Message): + """VersionParams contains the ABCI application version.""" + + app_version: int = betterproto.uint64_field(1) + + +@dataclass(eq=False, repr=False) +class HashedParams(betterproto.Message): + """ + HashedParams is a subset of ConsensusParams. It is hashed into the + Header.ConsensusHash. + """ + + block_max_bytes: int = betterproto.int64_field(1) + block_max_gas: int = betterproto.int64_field(2) + + +@dataclass(eq=False, repr=False) +class Evidence(betterproto.Message): + duplicate_vote_evidence: "DuplicateVoteEvidence" = betterproto.message_field( + 1, group="sum" + ) + light_client_attack_evidence: "LightClientAttackEvidence" = ( + betterproto.message_field(2, group="sum") + ) + + +@dataclass(eq=False, repr=False) +class DuplicateVoteEvidence(betterproto.Message): + """ + DuplicateVoteEvidence contains evidence of a validator signed two + conflicting votes. + """ + + vote_a: "Vote" = betterproto.message_field(1) + vote_b: "Vote" = betterproto.message_field(2) + total_voting_power: int = betterproto.int64_field(3) + validator_power: int = betterproto.int64_field(4) + timestamp: datetime = betterproto.message_field(5) + + +@dataclass(eq=False, repr=False) +class LightClientAttackEvidence(betterproto.Message): + """ + LightClientAttackEvidence contains evidence of a set of validators + attempting to mislead a light client. + """ + + conflicting_block: "LightBlock" = betterproto.message_field(1) + common_height: int = betterproto.int64_field(2) + byzantine_validators: List["Validator"] = betterproto.message_field(3) + total_voting_power: int = betterproto.int64_field(4) + timestamp: datetime = betterproto.message_field(5) + + +@dataclass(eq=False, repr=False) +class EvidenceList(betterproto.Message): + evidence: List["Evidence"] = betterproto.message_field(1) + + +@dataclass(eq=False, repr=False) +class Block(betterproto.Message): + header: "Header" = betterproto.message_field(1) + data: "Data" = betterproto.message_field(2) + evidence: "EvidenceList" = betterproto.message_field(3) + last_commit: "Commit" = betterproto.message_field(4) + + +@dataclass(eq=False, repr=False) +class EventDataRoundState(betterproto.Message): + height: int = betterproto.int64_field(1) + round: int = betterproto.int32_field(2) + step: str = betterproto.string_field(3) + + +@dataclass(eq=False, repr=False) +class CanonicalBlockId(betterproto.Message): + hash: bytes = betterproto.bytes_field(1) + part_set_header: "CanonicalPartSetHeader" = betterproto.message_field(2) + + +@dataclass(eq=False, repr=False) +class CanonicalPartSetHeader(betterproto.Message): + total: int = betterproto.uint32_field(1) + hash: bytes = betterproto.bytes_field(2) + + +@dataclass(eq=False, repr=False) +class CanonicalProposal(betterproto.Message): + type: "SignedMsgType" = betterproto.enum_field(1) + height: int = betterproto.sfixed64_field(2) + round: int = betterproto.sfixed64_field(3) + pol_round: int = betterproto.int64_field(4) + block_id: "CanonicalBlockId" = betterproto.message_field(5) + timestamp: datetime = betterproto.message_field(6) + chain_id: str = betterproto.string_field(7) + + +@dataclass(eq=False, repr=False) +class CanonicalVote(betterproto.Message): + type: "SignedMsgType" = betterproto.enum_field(1) + height: int = betterproto.sfixed64_field(2) + round: int = betterproto.sfixed64_field(3) + block_id: "CanonicalBlockId" = betterproto.message_field(4) + timestamp: datetime = betterproto.message_field(5) + chain_id: str = betterproto.string_field(6) diff --git a/secret_sdk/protobuf/tendermint/version/__init__.py b/secret_sdk/protobuf/tendermint/version/__init__.py new file mode 100644 index 0000000..d79d35d --- /dev/null +++ b/secret_sdk/protobuf/tendermint/version/__init__.py @@ -0,0 +1,30 @@ +# Generated by the protocol buffer compiler. DO NOT EDIT! +# sources: tendermint/version/types.proto +# plugin: python-betterproto +from dataclasses import dataclass + +import betterproto + + +@dataclass(eq=False, repr=False) +class App(betterproto.Message): + """ + App includes the protocol and software version for the application. This + information is included in ResponseInfo. The App.Protocol can be updated in + ResponseEndBlock. + """ + + protocol: int = betterproto.uint64_field(1) + software: str = betterproto.string_field(2) + + +@dataclass(eq=False, repr=False) +class Consensus(betterproto.Message): + """ + Consensus captures the consensus rules for processing a block in the + blockchain, including all blockchain data structures and the rules of the + application's state transition machine. + """ + + block: int = betterproto.uint64_field(1) + app: int = betterproto.uint64_field(2) From eae364bb0933076d49be1b032ae9f43b709f4074 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 14:46:20 -0400 Subject: [PATCH 02/47] Refactor encryption utils into a standalone class that doesnt inherit any client logic --- secret_sdk/client/lcd/lcdclient.py | 34 +++++++++++-- secret_sdk/client/lcd/lcdutils.py | 80 ++---------------------------- 2 files changed, 34 insertions(+), 80 deletions(-) diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 6e8b338..f3ba6a8 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -5,8 +5,10 @@ from threading import Lock from typing import Optional, Union +import base64 import nest_asyncio from aiohttp import ClientSession +import requests from secret_sdk.core import Coins, Dec, Numeric from secret_sdk.core.auth import StdFee @@ -22,7 +24,7 @@ from .api.tendermint import AsyncTendermintAPI, TendermintAPI from .api.tx import AsyncTxAPI, TxAPI from .api.wasm import AsyncWasmAPI, WasmAPI -from .lcdutils import AsyncLCDUtils, LCDUtils +from .lcdutils import EncryptionUtils from .wallet import AsyncWallet, Wallet # default gas_price is 0.25, amount = gas * gas_price @@ -46,6 +48,21 @@ default_gas_prices = Coins.from_data([{"amount": 0.25, "denom": "uscrt"}]) default_gas_adjustment = 1 +mainnet_chain_ids = {"secret-2", "secret-3", "secret-4"} + +mainnetConsensusIoPubKey = bytes.fromhex( + "083b1a03661211d5a4cc8d39a77795795862f7730645573b2bcc2c1920c53c04", +) + + +def sync_get_consensus_io_pubkey(url) -> bytes: + # this needs to be a proto + io_exch_pubkey = requests.get(f"{url}/reg/tx-key") + io_exch_pubkey = io_exch_pubkey.json() + io_exch_pubkey = io_exch_pubkey.get("result", {}).get("TxKey", '') + consensus_io_pubkey = base64.b64decode(io_exch_pubkey) + return bytes([x for x in consensus_io_pubkey]) + class AsyncLCDClient: def __init__( @@ -80,7 +97,13 @@ def __init__( self.tendermint = AsyncTendermintAPI(self) self.wasm = AsyncWasmAPI(self) self.tx = AsyncTxAPI(self) - self.utils = AsyncLCDUtils(self) + + if self.chain_id in mainnet_chain_ids: + consensus_io_pub_key = mainnetConsensusIoPubKey + else: + consensus_io_pub_key = sync_get_consensus_io_pubkey(url) + self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) + def wallet(self, key: Key) -> AsyncWallet: """Creates a :class:`AsyncWallet` object from a key. @@ -194,7 +217,12 @@ def __init__( self.tendermint = TendermintAPI(self) self.wasm = WasmAPI(self) self.tx = TxAPI(self) - self.utils = LCDUtils(self) + + if self.chain_id in mainnet_chain_ids: + consensus_io_pub_key = mainnetConsensusIoPubKey + else: + consensus_io_pub_key = sync_get_consensus_io_pubkey(url) + self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) self.lock = Lock() async def __aenter__(self): diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/client/lcd/lcdutils.py index 725c115..d781b44 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/client/lcd/lcdutils.py @@ -56,36 +56,11 @@ def index_by_pub_key(m: Dict[str, Any], o: Any): return m -class AsyncLCDUtils(BaseAsyncAPI): - def __init__(self, c): - super().__init__(c) +class EncryptionUtils(): + def __init__(self, consensus_io_pubkey: bytes): self.seed = self.generate_new_seed() self.privkey, self.pubkey = self.generate_new_key_pair_from_seed(self.seed) - - async def validators_with_voting_power(self) -> Dict[str, dict]: - """Gets current validators and merges their voting power from the validator set query. - - Returns: - Dict[str, dict]: validators with voting power - """ - validator_set_response = await BaseAsyncAPI._try_await( - self._c.tendermint.validator_set() - ) - validators = await BaseAsyncAPI._try_await(self._c.staking.validators()) - validator_set: Dict[str, Any] = reduce( - index_by_pub_key, validator_set_response["validators"], {} - ) - res = {} - for v in validators: - delegate_info = validator_set.get(v.consensus_pubkey["value"]) - if delegate_info is None: - continue - res[v.operator_address] = { - "validator_info": v, - "voting_power": int(delegate_info["voting_power"]), - "proposer_priority": int(delegate_info["proposer_priority"]), - } - return res + self.consensus_io_pubkey = consensus_io_pubkey def generate_new_seed(self): return [secrets.randbits(8) for _ in range(32)] @@ -102,17 +77,7 @@ def generate_new_key_pair_from_seed(self, seed): def generate_new_key_pair(self): return self.generate_new_key_pair_from_seed(self.generate_new_seed()) - async def get_consensus_io_pubkey(self): - io_exch_pubkey = await BaseAsyncAPI._try_await(self._c._get("/reg/tx-key")) - io_exch_pubkey = io_exch_pubkey["TxKey"] - consensus_io_pubkey = base64.b64decode(io_exch_pubkey) - return bytes([x for x in consensus_io_pubkey]) - async def get_tx_encryption_key(self, nonce): - if not hasattr(self, "consensus_io_pubkey"): - self.consensus_io_pubkey = await BaseAsyncAPI._try_await( - self.get_consensus_io_pubkey() - ) consensus_io_pubkey = X25519PublicKey.from_public_bytes( self.consensus_io_pubkey ) @@ -167,42 +132,3 @@ async def decrypt_data_field(self, data_field, nonces): decrypted = base64.b64decode(decrypted_data.decode("utf-8")) return decrypted - -class LCDUtils(AsyncLCDUtils): - def __init__(self, c): - super().__init__(c) - self.seed = self.generate_new_seed() - self.privkey, self.pubkey = self.generate_new_key_pair_from_seed(self.seed) - self.consensus_io_pubkey = self.get_consensus_io_pubkey() - - @sync_bind(AsyncLCDUtils.validators_with_voting_power) - async def validators_with_voting_power(self) -> Dict[str, dict]: - pass - - validators_with_voting_power.__doc__ = ( - AsyncLCDUtils.validators_with_voting_power.__doc__ - ) - - @sync_bind(AsyncLCDUtils.get_consensus_io_pubkey) - async def get_consensus_io_pubkey(self): - pass - - get_consensus_io_pubkey.__doc__ = AsyncLCDUtils.get_consensus_io_pubkey.__doc__ - - @sync_bind(AsyncLCDUtils.get_tx_encryption_key) - async def get_tx_encryption_key(self, nonce): - pass - - get_tx_encryption_key.__doc__ = AsyncLCDUtils.get_tx_encryption_key.__doc__ - - @sync_bind(AsyncLCDUtils.encrypt) - async def encrypt(self, contract_code_hash, msg): - pass - - encrypt.__doc__ = AsyncLCDUtils.encrypt.__doc__ - - @sync_bind(AsyncLCDUtils.decrypt) - async def decrypt(self, ciphertext, nonce) -> str: - pass - - decrypt.__doc__ = AsyncLCDUtils.decrypt.__doc__ From 4d748eff3bcd7f4d0ef3c8ed608cabfb7639a0fe Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 16:02:33 -0400 Subject: [PATCH 03/47] fix shit & add test --- integration_tests/sign_direct.py | 88 ++++++++++++++++++++++++++++ secret_sdk/client/lcd/lcdutils.py | 20 +++---- secret_sdk/util/address_converter.py | 53 +++++++++++++++++ 3 files changed, 149 insertions(+), 12 deletions(-) create mode 100644 integration_tests/sign_direct.py create mode 100644 secret_sdk/util/address_converter.py diff --git a/integration_tests/sign_direct.py b/integration_tests/sign_direct.py new file mode 100644 index 0000000..1a04dfc --- /dev/null +++ b/integration_tests/sign_direct.py @@ -0,0 +1,88 @@ +from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id, test_net_chain_id +from secret_sdk.util.address_converter import address_to_bytes +import json +import base64 +import requests +import copy + +secret = LocalSecret(chain_id=test_net_chain_id) + + +wallet = secret.wallets['test1'] +wallet_end = secret.wallets['test2'] +chain_id = test_net_chain_id +acc_addr = wallet.key.acc_address +mnemonic_key = wallet.key + +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract +from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx, TxBody, AuthInfo, SignDoc, SignerInfo, ModeInfo, ModeInfoSingle, BroadcastTxRequest, BroadcastMode +from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee + +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin +sscrt_addr_testnet = 'secret18vd8fpwxzck93qlwghaj6arh4p7c5n8978vsyg' +handle_msg = {'deposit': {}} +contract_code_hash = '9587D60B8E6B078ACE12014CEEEE089530B9FABCD76535D93666A6C127AD8813' +sent_funds = Coin('uscrt', '100') + + +# msg send +msg_send = MsgSend(wallet.key.acc_address, wallet_end.key.acc_address, sent_funds) +# encrypt msg +msg_str = json.dumps(handle_msg, separators=(",", ":")) +encrypted_msg = secret.encrypt_utils.encrypt(contract_code_hash, msg_str) +encrypted_msg = base64.b64encode(bytes(encrypted_msg)) + +msg = MsgExecuteContract( + sender = address_to_bytes(acc_addr), + contract = address_to_bytes(sscrt_addr_testnet), + msg = encrypted_msg, + sent_funds = sent_funds + ) + +# create tx +def create_tx(msg): + tx_body = TxBody([msg]) + fee = Fee(Coin('uscrt', '1000000'), 250000, "", "") + auth_info = AuthInfo([], fee) + tx = Tx(tx_body, auth_info) + return tx + +tx = create_tx(msg) +# helps to have the object interface, becasue here we need to do this bytes stuff which is painful +def sign_tx(tx): + account_number = wallet.account_number() + sequence = wallet.sequence() + si_backup = copy.deepcopy(tx.auth_info.signer_infos) + tx.auth_info.signer_infos = [ + SignerInfo( + public_key=wallet.key.public_key, + sequence=sequence, + mode_info=ModeInfo( + single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) + ), + ) + ] + + signDoc = SignDoc( + chain_id=test_net_chain_id, + account_number=account_number, + auth_info_bytes=bytes(tx.auth_info), + body_bytes=bytes(tx.body), + ) + signDoc_payload = bytes(signDoc) + signed_signDoc = wallet.key.sign(signDoc_payload) + tx.signatures.append(signed_signDoc) + tx.auth_info.signer_infos.append( + SignerInfo( + public_key=wallet.key.public_key, + sequence=sequence, + mode_info=ModeInfo(single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT)), + ) + ) + +broadcast_req = BroadcastTxRequest(tx_bytes=bytes(tx), mode=BroadcastMode.BROADCAST_MODE_BLOCK) + + +# tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", data=broadcast_req.to_dict()) diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/client/lcd/lcdutils.py index d781b44..760e3a1 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/client/lcd/lcdutils.py @@ -77,7 +77,7 @@ def generate_new_key_pair_from_seed(self, seed): def generate_new_key_pair(self): return self.generate_new_key_pair_from_seed(self.generate_new_seed()) - async def get_tx_encryption_key(self, nonce): + def get_tx_encryption_key(self, nonce): consensus_io_pubkey = X25519PublicKey.from_public_bytes( self.consensus_io_pubkey ) @@ -91,11 +91,9 @@ async def get_tx_encryption_key(self, nonce): return tx_encryption_key - async def encrypt(self, contract_code_hash: str, msg: Any): + def encrypt(self, contract_code_hash: str, msg: Any): nonce = self.generate_new_seed() - tx_encryption_key = await BaseAsyncAPI._try_await( - self.get_tx_encryption_key(nonce) - ) + tx_encryption_key = self.get_tx_encryption_key(nonce) siv = SIV(tx_encryption_key) @@ -108,27 +106,25 @@ async def encrypt(self, contract_code_hash: str, msg: Any): return nonce + [x for x in key_dump] + [x for x in ciphertext] - async def decrypt(self, ciphertext: bytes, nonce: List[int]) -> bytes: + def decrypt(self, ciphertext: bytes, nonce: List[int]) -> bytes: if not ciphertext: return bytes([]) - tx_encryption_key = await BaseAsyncAPI._try_await( - self.get_tx_encryption_key(nonce) - ) + tx_encryption_key = self.get_tx_encryption_key(nonce) siv = SIV(tx_encryption_key) plaintext = siv.open(ciphertext, [bytes()]) return plaintext - async def get_pub_key(self): + def get_pub_key(self): return self.pubkey.public_bytes( encoding=serialization.Encoding.Raw, format=serialization.PublicFormat.Raw ) - async def decrypt_data_field(self, data_field, nonces): + def decrypt_data_field(self, data_field, nonces): # nonces are a list of nonce in the case of multi execute wasm_output_data_cipher_bz = bytes.fromhex(data_field) for nonce in nonces: - decrypted_data = await self.decrypt(wasm_output_data_cipher_bz, nonce) + decrypted_data = self.decrypt(wasm_output_data_cipher_bz, nonce) decrypted = base64.b64decode(decrypted_data.decode("utf-8")) return decrypted diff --git a/secret_sdk/util/address_converter.py b/secret_sdk/util/address_converter.py new file mode 100644 index 0000000..349ae39 --- /dev/null +++ b/secret_sdk/util/address_converter.py @@ -0,0 +1,53 @@ +from typing import List +import bech32 + + +def address_to_bytes(address: str) -> bytes: + _prefix, b = bech32.bech32_decode(address) + b = from_words(b) + return bytes(b) + + +def bytes_to_address(b: bytes, prefix: str = "secret") -> str: + b = to_words(b) + res = bech32.bech32_encode(prefix, b) + return res + + +def from_words(words: List[int]) -> List[int]: + res = convert(words, 5, 8, False) + if res is None: + raise ValueError(res) + + return res + + +def to_words(bytes: List[int]) -> List[int]: + return convert(bytes, 8, 5, True) + + +def convert(data: List[int], inBits: int, outBits: int, pad: bool = False) -> List[int]: + value = 0 + bits = 0 + maxV = (1 << outBits) - 1 + + result = [] + for i in range(len(data)): + value = (value << inBits) | data[i] + bits += inBits + + while bits >= outBits: + bits -= outBits + result.append((value >> bits) & maxV) + + if pad: + if bits > 0: + result.append((value << (outBits - bits)) & maxV) + + else: + if bits >= inBits: + raise ValueError("Excess Padding") + if ((value << outBits - bits)) & maxV: + raise ValueError("Non-zero padding") + + return result From 61641d0f323ba0828ec4b59b96c188d7a3554235 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 18:54:54 -0400 Subject: [PATCH 04/47] Integration test for sign direct --- integration_tests/sign_direct.py | 104 +++++++++++++++++++++---------- 1 file changed, 70 insertions(+), 34 deletions(-) diff --git a/integration_tests/sign_direct.py b/integration_tests/sign_direct.py index 1a04dfc..d04e244 100644 --- a/integration_tests/sign_direct.py +++ b/integration_tests/sign_direct.py @@ -4,32 +4,53 @@ import base64 import requests import copy +from secret_sdk.protobuf.cosmos.crypto.ed25519 import PubKey +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.client.lcd import LCDClient +from secret_sdk.key.mnemonic import MnemonicKey -secret = LocalSecret(chain_id=test_net_chain_id) +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract +from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx, TxBody, AuthInfo, SignDoc, SignerInfo, ModeInfo, ModeInfoSingle, BroadcastTxRequest, BroadcastMode +from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin +# light_clinet_address = "https://pisco-lcd.terra.dev" +# chain_id = "pisco-1" +# terra = LCDClient( +# url=light_clinet_address, +# chain_id=chain_id, +# ) +# key = MnemonicKey( +# mnemonic="notice oak worry limit wrap speak medal online prefer cluster roof addict wrist behave treat actual wasp year salad speed social layer crew genius" +# ) +# test1 = terra.wallet(key=key) +# +# msg_send = MsgSend( +# "terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v", +# "terra17lmam6zguazs5q5u6z5mmx76uj63gldnse2pdp", +# [Coin('uluna','20000')], +# ) +secret = LocalSecret(chain_id=test_net_chain_id) +# secret = LCDClient(url='http://23.108.55.7:1317', chain_id = 'secret-4') +# wallet = secret.wallet(MnemonicKey(luigi)) wallet = secret.wallets['test1'] wallet_end = secret.wallets['test2'] chain_id = test_net_chain_id acc_addr = wallet.key.acc_address mnemonic_key = wallet.key -from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract -from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend -from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx, TxBody, AuthInfo, SignDoc, SignerInfo, ModeInfo, ModeInfoSingle, BroadcastTxRequest, BroadcastMode -from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode -from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee +# msg send +msg_send = MsgSend(wallet.key.acc_address, wallet_end.key.acc_address, amount = [Coin('uscrt', '100')]) -from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin + +# encrypt msg sscrt_addr_testnet = 'secret18vd8fpwxzck93qlwghaj6arh4p7c5n8978vsyg' +sent_funds = [Coin('uscrt', '100')] handle_msg = {'deposit': {}} contract_code_hash = '9587D60B8E6B078ACE12014CEEEE089530B9FABCD76535D93666A6C127AD8813' -sent_funds = Coin('uscrt', '100') - - -# msg send -msg_send = MsgSend(wallet.key.acc_address, wallet_end.key.acc_address, sent_funds) -# encrypt msg msg_str = json.dumps(handle_msg, separators=(",", ":")) encrypted_msg = secret.encrypt_utils.encrypt(contract_code_hash, msg_str) encrypted_msg = base64.b64encode(bytes(encrypted_msg)) @@ -42,47 +63,62 @@ ) # create tx -def create_tx(msg): - tx_body = TxBody([msg]) - fee = Fee(Coin('uscrt', '1000000'), 250000, "", "") +def create_tx(msg, type_url): + wrap_msg = Any_pb(type_url=type_url, value=bytes(msg)) + tx_body = TxBody([wrap_msg], memo='', timeout_height=0) + # fee = Fee([Coin('uluna', '9480')], 63199, "", "") + fee = Fee([Coin('uscrt', '94800')], gas_limit=163199, payer="", granter="") auth_info = AuthInfo([], fee) - tx = Tx(tx_body, auth_info) + tx = Tx(tx_body, auth_info, signatures=[]) return tx -tx = create_tx(msg) -# helps to have the object interface, becasue here we need to do this bytes stuff which is painful def sign_tx(tx): account_number = wallet.account_number() + # account_number = 159 sequence = wallet.sequence() + # sequence = 116 si_backup = copy.deepcopy(tx.auth_info.signer_infos) + # public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(test1.key.public_key))) + public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(wallet.key.public_key))) + mode_info = ModeInfo( + single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) + ) tx.auth_info.signer_infos = [ SignerInfo( - public_key=wallet.key.public_key, + public_key=public_key, sequence=sequence, - mode_info=ModeInfo( - single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) - ), + mode_info=mode_info ) ] signDoc = SignDoc( - chain_id=test_net_chain_id, - account_number=account_number, + chain_id=chain_id, + # chain_id="pisco-1", + account_number=account_number, auth_info_bytes=bytes(tx.auth_info), body_bytes=bytes(tx.body), ) signDoc_payload = bytes(signDoc) signed_signDoc = wallet.key.sign(signDoc_payload) + # signed_signDoc = test1.key.sign(signDoc_payload) + + # tx.auth_info.signer_infos = si_backup tx.signatures.append(signed_signDoc) - tx.auth_info.signer_infos.append( - SignerInfo( - public_key=wallet.key.public_key, - sequence=sequence, - mode_info=ModeInfo(single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT)), - ) - ) + # tx.auth_info.signer_infos.append( + # SignerInfo( + # public_key=public_key, + # sequence=sequence, + # mode_info=mode_info, + # ) + # ) -broadcast_req = BroadcastTxRequest(tx_bytes=bytes(tx), mode=BroadcastMode.BROADCAST_MODE_BLOCK) +send_tx = create_tx(msg_send, type_url='/cosmos.bank.v1beta1.MsgSend') +sign_tx(send_tx) +send_tx_bytes = base64.b64encode(bytes(send_tx)).decode() +send_tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':send_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) -# tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", data=broadcast_req.to_dict()) +sscrt_tx = create_tx(msg, type_url='/secret.compute.v1beta1.MsgExecuteContract') +sign_tx(sscrt_tx) +sscrt_tx_bytes = base64.b64encode(bytes(sscrt_tx)).decode() +sscrt_tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':sscrt_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) From 60e863d6354529478bd9e6987591fe96f10d9f59 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Mon, 10 Oct 2022 23:56:39 +0100 Subject: [PATCH 05/47] grpc gateway migration, interface proto, amino --- integration_tests/endpoints.py | 84 ++- secret_sdk/client/lcd/api/auth.py | 36 +- secret_sdk/client/lcd/api/authz.py | 111 +++ secret_sdk/client/lcd/api/bank.py | 34 +- secret_sdk/client/lcd/api/distribution.py | 98 ++- secret_sdk/client/lcd/api/feegrant.py | 107 +++ secret_sdk/client/lcd/api/gov.py | 302 ++++++++ secret_sdk/client/lcd/api/ibc.py | 24 + secret_sdk/client/lcd/api/ibc_transfer.py | 26 + secret_sdk/client/lcd/api/mint.py | 73 ++ secret_sdk/client/lcd/api/slashing.py | 106 +++ secret_sdk/client/lcd/api/staking.py | 190 +++-- secret_sdk/client/lcd/api/tendermint.py | 43 +- secret_sdk/client/lcd/api/tx.py | 345 +++++++-- secret_sdk/client/lcd/api/wasm.py | 17 +- secret_sdk/client/lcd/lcdclient.py | 172 ++++- secret_sdk/client/lcd/lcdutils.py | 21 +- secret_sdk/client/lcd/params.py | 3 +- secret_sdk/client/lcd/wallet.py | 2 +- secret_sdk/core/__init__.py | 33 +- secret_sdk/core/auth/__init__.py | 29 +- secret_sdk/core/auth/data/__init__.py | 28 +- secret_sdk/core/auth/data/account.py | 80 +-- secret_sdk/core/auth/data/base_account.py | 101 +++ .../core/auth/data/base_vesting_account.py | 115 +++ .../auth/data/continuous_vesting_account.py | 83 +++ .../core/auth/data/delayed_vesting_account.py | 80 +++ secret_sdk/core/auth/data/public_key.py | 44 -- secret_sdk/core/auth/data/tx.py | 338 --------- secret_sdk/core/auth/msgs/__init__.py | 5 + .../auth/msgs/msg_create_vesting_account.py | 88 +++ secret_sdk/core/authz/__init__.py | 19 + secret_sdk/core/authz/data.py | 294 ++++++++ secret_sdk/core/authz/msgs.py | 212 ++++++ secret_sdk/core/bank/__init__.py | 4 +- secret_sdk/core/bank/msgs.py | 205 ++++-- secret_sdk/core/{strings.py => bech32.py} | 61 +- secret_sdk/core/block.py | 86 +++ secret_sdk/core/broadcast.py | 12 +- secret_sdk/core/coin.py | 36 +- secret_sdk/core/coins.py | 41 +- secret_sdk/core/compact_bit_array.py | 88 +++ secret_sdk/core/crisis/__init__.py | 3 + secret_sdk/core/crisis/msgs.py | 71 ++ secret_sdk/core/deposit.py | 39 + secret_sdk/core/distribution/__init__.py | 10 +- secret_sdk/core/distribution/msgs.py | 156 +++- secret_sdk/core/distribution/proposals.py | 89 +++ secret_sdk/core/fee.py | 72 ++ secret_sdk/core/feegrant/__init__.py | 11 + secret_sdk/core/feegrant/data.py | 282 ++++++++ secret_sdk/core/feegrant/msgs.py | 111 +++ secret_sdk/core/gov/__init__.py | 17 + secret_sdk/core/gov/data.py | 188 +++++ secret_sdk/core/gov/msgs.py | 232 ++++++ secret_sdk/core/gov/proposals.py | 59 ++ secret_sdk/core/ibc/__init__.py | 3 + secret_sdk/core/ibc/data/__init__.py | 24 + secret_sdk/core/ibc/data/channel.py | 150 ++++ secret_sdk/core/ibc/data/client.py | 183 +++++ secret_sdk/core/ibc/data/commitment.py | 50 ++ secret_sdk/core/ibc/data/connection.py | 70 ++ secret_sdk/core/ibc/msgs/__init__.py | 43 ++ secret_sdk/core/ibc/msgs/channel.py | 479 +++++++++++++ secret_sdk/core/ibc/msgs/client.py | 199 ++++++ secret_sdk/core/ibc/msgs/connection.py | 282 ++++++++ secret_sdk/core/ibc/proposals/__init__.py | 3 + secret_sdk/core/ibc/proposals/proposals.py | 71 ++ secret_sdk/core/ibc_transfer/__init__.py | 4 + secret_sdk/core/ibc_transfer/data.py | 25 + secret_sdk/core/ibc_transfer/msgs.py | 94 +++ secret_sdk/core/mode_info.py | 109 +++ secret_sdk/core/msg.py | 32 +- secret_sdk/core/multisig.py | 67 ++ secret_sdk/core/numeric.py | 21 +- secret_sdk/core/params/__init__.py | 3 + secret_sdk/core/params/proposals.py | 106 +++ secret_sdk/core/public_key.py | 340 +++++++++ secret_sdk/core/sign_doc.py | 85 +++ secret_sdk/core/signature_v2.py | 117 +++ secret_sdk/core/slashing/__init__.py | 3 + secret_sdk/core/slashing/msgs.py | 44 ++ secret_sdk/core/staking/__init__.py | 4 +- secret_sdk/core/staking/data/__init__.py | 4 +- secret_sdk/core/staking/data/delegation.py | 182 ++++- secret_sdk/core/staking/data/validator.py | 183 ++++- secret_sdk/core/staking/msgs.py | 194 ++++- secret_sdk/core/tx.py | 672 ++++++++++++++++++ secret_sdk/core/tx_decoder.py | 119 ++++ secret_sdk/core/upgrade/__init__.py | 4 + secret_sdk/core/upgrade/data/__init__.py | 3 + secret_sdk/core/upgrade/data/proposal.py | 109 +++ secret_sdk/core/upgrade/plan.py | 73 ++ secret_sdk/core/wasm/__init__.py | 10 +- secret_sdk/core/wasm/data.py | 91 +++ secret_sdk/core/wasm/msgs.py | 317 +++++---- secret_sdk/key/key.py | 2 +- secret_sdk/util/base.py | 59 +- secret_sdk/util/contract.py | 14 +- secret_sdk/util/converter.py | 2 +- secret_sdk/util/json.py | 12 +- secret_sdk/util/parse_authorization.py | 40 ++ secret_sdk/util/parse_content.py | 84 +++ secret_sdk/util/parse_msg.py | 142 +++- secret_sdk/util/parse_proto.py | 28 + secret_sdk/util/remove_none.py | 4 +- 106 files changed, 9041 insertions(+), 1134 deletions(-) create mode 100644 secret_sdk/client/lcd/api/authz.py create mode 100644 secret_sdk/client/lcd/api/feegrant.py create mode 100644 secret_sdk/client/lcd/api/gov.py create mode 100644 secret_sdk/client/lcd/api/ibc.py create mode 100644 secret_sdk/client/lcd/api/ibc_transfer.py create mode 100644 secret_sdk/client/lcd/api/mint.py create mode 100644 secret_sdk/client/lcd/api/slashing.py mode change 100644 => 100755 secret_sdk/core/__init__.py mode change 100644 => 100755 secret_sdk/core/auth/__init__.py mode change 100644 => 100755 secret_sdk/core/auth/data/__init__.py mode change 100644 => 100755 secret_sdk/core/auth/data/account.py create mode 100755 secret_sdk/core/auth/data/base_account.py create mode 100755 secret_sdk/core/auth/data/base_vesting_account.py create mode 100755 secret_sdk/core/auth/data/continuous_vesting_account.py create mode 100755 secret_sdk/core/auth/data/delayed_vesting_account.py delete mode 100644 secret_sdk/core/auth/data/public_key.py delete mode 100644 secret_sdk/core/auth/data/tx.py create mode 100755 secret_sdk/core/auth/msgs/__init__.py create mode 100755 secret_sdk/core/auth/msgs/msg_create_vesting_account.py create mode 100755 secret_sdk/core/authz/__init__.py create mode 100755 secret_sdk/core/authz/data.py create mode 100755 secret_sdk/core/authz/msgs.py mode change 100644 => 100755 secret_sdk/core/bank/__init__.py mode change 100644 => 100755 secret_sdk/core/bank/msgs.py rename secret_sdk/core/{strings.py => bech32.py} (63%) mode change 100644 => 100755 create mode 100755 secret_sdk/core/block.py mode change 100644 => 100755 secret_sdk/core/broadcast.py mode change 100644 => 100755 secret_sdk/core/coin.py mode change 100644 => 100755 secret_sdk/core/coins.py create mode 100755 secret_sdk/core/compact_bit_array.py create mode 100755 secret_sdk/core/crisis/__init__.py create mode 100755 secret_sdk/core/crisis/msgs.py create mode 100755 secret_sdk/core/deposit.py mode change 100644 => 100755 secret_sdk/core/distribution/__init__.py mode change 100644 => 100755 secret_sdk/core/distribution/msgs.py create mode 100755 secret_sdk/core/distribution/proposals.py create mode 100755 secret_sdk/core/fee.py create mode 100755 secret_sdk/core/feegrant/__init__.py create mode 100755 secret_sdk/core/feegrant/data.py create mode 100755 secret_sdk/core/feegrant/msgs.py create mode 100755 secret_sdk/core/gov/__init__.py create mode 100755 secret_sdk/core/gov/data.py create mode 100755 secret_sdk/core/gov/msgs.py create mode 100755 secret_sdk/core/gov/proposals.py create mode 100755 secret_sdk/core/ibc/__init__.py create mode 100755 secret_sdk/core/ibc/data/__init__.py create mode 100755 secret_sdk/core/ibc/data/channel.py create mode 100755 secret_sdk/core/ibc/data/client.py create mode 100755 secret_sdk/core/ibc/data/commitment.py create mode 100755 secret_sdk/core/ibc/data/connection.py create mode 100755 secret_sdk/core/ibc/msgs/__init__.py create mode 100755 secret_sdk/core/ibc/msgs/channel.py create mode 100755 secret_sdk/core/ibc/msgs/client.py create mode 100755 secret_sdk/core/ibc/msgs/connection.py create mode 100755 secret_sdk/core/ibc/proposals/__init__.py create mode 100755 secret_sdk/core/ibc/proposals/proposals.py create mode 100755 secret_sdk/core/ibc_transfer/__init__.py create mode 100755 secret_sdk/core/ibc_transfer/data.py create mode 100755 secret_sdk/core/ibc_transfer/msgs.py create mode 100755 secret_sdk/core/mode_info.py mode change 100644 => 100755 secret_sdk/core/msg.py create mode 100755 secret_sdk/core/multisig.py mode change 100644 => 100755 secret_sdk/core/numeric.py create mode 100755 secret_sdk/core/params/__init__.py create mode 100755 secret_sdk/core/params/proposals.py create mode 100755 secret_sdk/core/public_key.py create mode 100755 secret_sdk/core/sign_doc.py create mode 100755 secret_sdk/core/signature_v2.py create mode 100755 secret_sdk/core/slashing/__init__.py create mode 100755 secret_sdk/core/slashing/msgs.py mode change 100644 => 100755 secret_sdk/core/staking/__init__.py mode change 100644 => 100755 secret_sdk/core/staking/data/__init__.py mode change 100644 => 100755 secret_sdk/core/staking/data/delegation.py mode change 100644 => 100755 secret_sdk/core/staking/data/validator.py mode change 100644 => 100755 secret_sdk/core/staking/msgs.py create mode 100755 secret_sdk/core/tx.py create mode 100644 secret_sdk/core/tx_decoder.py create mode 100755 secret_sdk/core/upgrade/__init__.py create mode 100755 secret_sdk/core/upgrade/data/__init__.py create mode 100755 secret_sdk/core/upgrade/data/proposal.py create mode 100755 secret_sdk/core/upgrade/plan.py mode change 100644 => 100755 secret_sdk/core/wasm/__init__.py create mode 100755 secret_sdk/core/wasm/data.py mode change 100644 => 100755 secret_sdk/core/wasm/msgs.py create mode 100644 secret_sdk/util/parse_authorization.py create mode 100644 secret_sdk/util/parse_content.py create mode 100755 secret_sdk/util/parse_proto.py diff --git a/integration_tests/endpoints.py b/integration_tests/endpoints.py index 340fc51..25a55af 100644 --- a/integration_tests/endpoints.py +++ b/integration_tests/endpoints.py @@ -20,7 +20,7 @@ res = secret.distribution.rewards(delegator_address) print(res) -res = secret.distribution.validator_rewards(validator_address) +res = secret.distribution.validator_outstanding_rewards(validator_address) print(res) res = secret.distribution.withdraw_address(delegator_address) @@ -44,18 +44,18 @@ ) print(res) -res = secret.staking.unbonding_delegations(validator=validator_address) -print(res) -res = secret.staking.unbonding_delegations(delegator=delegator_address) -print(res) +res, pagination = secret.staking.unbonding_delegations(validator=validator_address) +print(res, pagination) +res, pagination = secret.staking.unbonding_delegations(delegator=delegator_address) +print(res, pagination) res = secret.staking.redelegations() print(res) res = secret.staking.redelegations(delegator=delegator_address) print(res) -res = secret.staking.redelegations(validator_src=validator_address) +res = secret.staking.redelegations(delegator=delegator_address, validator_src=validator_address) print(res) -res = secret.staking.redelegations(validator_dst=validator_address) +res = secret.staking.redelegations(delegator=delegator_address, validator_dst=validator_address) print(res) res = secret.staking.bonded_validators(delegator=delegator_address) @@ -81,17 +81,13 @@ res = secret.tendermint.syncing() print(res) -res = secret.tendermint.syncing() -print(res) - res = secret.tendermint.block_info() print(res) last_block = int(secret.tendermint.block_info()["block"]["header"]["height"]) -res = secret.tendermint.block_info(last_block - 10) -print(res) - +# res = secret.tendermint.block_info(last_block - 10) +# print(res) res = secret.tendermint.validator_set() print(res) @@ -102,15 +98,28 @@ print("Tx") for tx_hash in [ - "E9557807CE4CE6E387059523D6ED716B0F59BFE0B5E4DD998B8BB026747C320C", - "259DA3D4807CA31A8C2FFBD3F0D6DAFF6B5F1F914F10C3E52456B10D06BF3A96", - "1DB6541E7047B0BAB52287FA5967D87BF188E36E66B15517CA89283180BB6797", - "7CE39254CF20AE08D220D8B0D0627E9ABB5B688FFEFC6838B1E96B1182C442F8", - "9195E398AB2B0BEEE9499594AC14431D898386ADFEFDF12BEC0E5114C360641B", - "51E777E2A57CD61D15FEA1A63991E9A0E3D6613CA3A6BDDEEC4AC2C48B9B6844", - "BE769AFDC968532903A3598816EFEC839E984F91DFAA99007F24B106B31F7146", - "01E86971C548E05AB3B2239FB506C4818BC11EC769186E02BC67A068C91FFD98", - "79F65CD9205327BD3F49951D53E5D9AF492D7FFB8A5EFABB662DDA7B4DC99559", + # withdrew rewards + "ADB467AC82074C9C62C78160FED9D27ACAD9EAF268A6EFEFF11B317D9EA24D53", + # IBC Transfer + "ADB467AC82074C9C62C78160FED9D27ACAD9EAF268A6EFEFF11B317D9EA24D53", + # Vote Yes + "B0B1E71BEC2C936AF8AF4050A4985662D980698355ED17C1E3209562F4DA571C", + # Execute contract + "64CA905571B619BE6DF3560978E599A8850ADC6ADF941AD79E83CB7A22798BF8", + # Delegate + "2F2712E4D811F8B518E28CC36E2C2684CEF3447B63712E608F5C8FEAA5B431DE", + # Execute contract + "EB9AF0ED433ED638BC7048E11F7B07EF7AFE14B6672D066DB26235628BB88692", + # Execute contract + "A59E9E6335E7F07268B866358EB81E129D904A66BF9C5D8BA6B7494BBC0A76A2", + # IBC Update client + "C16E1FD7CAC31FBBDD4FCD214651946DA87610DEAE8CFC978DA8601EA71772A2", + # Unbond + "171E61D11615374977738E85AD6AAF5DD7CA0E55216DA9B12571B85539B08566", + # Delegate + "E83672197CCF91516C4E672212424A0B7BB941F4581DE86150C716DA12F99E3C", + # Send + "F5D2D87769EF8AB0590F0CBA173A155005ABAE9ADACE57A7E92CE122C5331392" ]: try: res = secret.tx.tx_info(tx_hash) @@ -124,20 +133,22 @@ except Exception as e: print(e) -# res = secret.tx.estimate_fee( -# sender=delegator_address, -# msgs=[], -# memo='' -# ) -# print(res) -# encode(tx: StdTx, options: BroadcastOptions = None) -# hash(tx: StdTx) -# _broadcast(tx: StdTx, mode: str, options: BroadcastOptions = None) -# broadcast_sync(tx: StdTx, options: BroadcastOptions = None) -# broadcast_async(tx: StdTx, options: BroadcastOptions = None) -# broadcast(tx: StdTx, options: BroadcastOptions = None) - -secret.tx.search(options={"tx.height": 1781786}) +res = secret.tx.estimate_fee( + sender=delegator_address, + msgs=[], + memo='' +) +print(res) +encode(tx: StdTx, options: BroadcastOptions = None) +hash(tx: StdTx) +_broadcast(tx: StdTx, mode: str, options: BroadcastOptions = None) +broadcast_sync(tx: StdTx, options: BroadcastOptions = None) +broadcast_async(tx: StdTx, options: BroadcastOptions = None) +broadcast(tx: StdTx, options: BroadcastOptions = None) + +res = secret.tx.search(events={"tx.height": 5600362}) +print(res) + print("---------------------------") print("Wasm") @@ -162,6 +173,7 @@ isFullNode = False if isFullNode: + last_block = int(secret.tendermint.block_info()["block"]["header"]["height"]) res = secret.wasm.contract_query( contract_address="secret1rgky3ns9ua09rt059049yl0zqf3xjqxne7ezhp", query={"pool": {}}, diff --git a/secret_sdk/client/lcd/api/auth.py b/secret_sdk/client/lcd/api/auth.py index 7a2bab6..8a9dda2 100644 --- a/secret_sdk/client/lcd/api/auth.py +++ b/secret_sdk/client/lcd/api/auth.py @@ -1,5 +1,13 @@ +from typing import Optional, Union + +from ..params import APIParams from secret_sdk.core import AccAddress -from secret_sdk.core.auth import Account +from secret_sdk.core.auth import ( + Account, + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, +) from ._base import BaseAsyncAPI, sync_bind @@ -7,25 +15,35 @@ class AsyncAuthAPI(BaseAsyncAPI): - async def account_info(self, address: AccAddress) -> Account: + async def account_info( + self, address: AccAddress, params: Optional[APIParams] = None + ) -> Union[ + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, + ]: """Fetches the account information. Args: address (AccAddress): account address + params (APIParams): optional parameters Returns: - Account: account information + Union[BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, PeriodicVestingAccount]: account information """ - result = await self._c._get(f"/auth/accounts/{address}") - if result["type"] == "cosmos-sdk/BaseAccount": - return Account.from_data(result) - else: - raise + result = await self._c._get(f"/cosmos/auth/v1beta1/accounts/{address}", params) + return Account.from_data(result["account"]) class AuthAPI(AsyncAuthAPI): @sync_bind(AsyncAuthAPI.account_info) - def account_info(self, address: AccAddress) -> Account: + def account_info( + self, address: AccAddress, params: Optional[APIParams] = None + ) -> Union[ + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, + ]: pass account_info.__doc__ = AsyncAuthAPI.account_info.__doc__ diff --git a/secret_sdk/client/lcd/api/authz.py b/secret_sdk/client/lcd/api/authz.py new file mode 100644 index 0000000..aca80ed --- /dev/null +++ b/secret_sdk/client/lcd/api/authz.py @@ -0,0 +1,111 @@ +from typing import List, Optional + +from secret_sdk.core import AccAddress +from secret_sdk.core.authz import AuthorizationGrant + +from ..params import APIParams +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncAuthzAPI", "AuthzAPI"] + + +class AsyncAuthzAPI(BaseAsyncAPI): + async def grants( + self, + granter: AccAddress, + grantee: AccAddress, + msg_type: Optional[str] = None, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + """Fetches current active message authorization grants. + + Args: + granter (AccAddress): granter account address + grantee (AccAddress): grantee account address + msg_type (str, optional): message type. + params (APIParams, optional): additional params for the API like pagination + + Returns: + List[AuthorizationGrant]: message authorization grants matching criteria + """ + params = { + "granter": granter, + "grantee": grantee, + } + if msg_type is not None: + params["msg_type_url"] = msg_type + + res = await self._c._get("/cosmos/authz/v1beta1/grants", params) + return [AuthorizationGrant.from_data(x) for x in res["grants"]] + + async def granter( + self, + granter: AccAddress, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + """Fetches list of `GrantAuthorization` granted by granter. + + Args: + granter (AccAddress): granter account address + params (APIParams, optional): additional params for the API like pagination + + Returns: + List[AuthorizationGrant]: message authorization grants matching criteria + """ + + res = await self._c._get( + f"/cosmos/authz/v1beta1/grants/granter/{granter}", params + ) + return [AuthorizationGrant.from_data(x) for x in res["grants"]] + + async def grantee( + self, + grantee: AccAddress, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + """Fetches list of `GrantAuthorization` by grantee. + + Args: + grantee (AccAddress): grantee account address + params (APIParams, optional): additional params for the API like pagination + + Returns: + List[AuthorizationGrant]: message authorization grants matching criteria + """ + + res = await self._c._get( + f"/cosmos/authz/v1beta1/grants/grantee/{grantee}", params + ) + return [AuthorizationGrant.from_data(x) for x in res["grants"]] + + +class AuthzAPI(AsyncAuthzAPI): + @sync_bind(AsyncAuthzAPI.grants) + def grants( + self, + granter: AccAddress, + grantee: AccAddress, + msg_type: Optional[str] = None, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + pass + + @sync_bind(AsyncAuthzAPI.granter) + def granter( + self, + granter: AccAddress, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + pass + + @sync_bind(AsyncAuthzAPI.grantee) + def grantee( + self, + grantee: AccAddress, + params: Optional[APIParams] = None, + ) -> List[AuthorizationGrant]: + pass + + grants.__doc__ = AsyncAuthzAPI.grants.__doc__ + granter.__doc__ = AsyncAuthzAPI.granter.__doc__ + grantee.__doc__ = AsyncAuthzAPI.grantee.__doc__ diff --git a/secret_sdk/client/lcd/api/bank.py b/secret_sdk/client/lcd/api/bank.py index 2f402a0..fd69dfa 100644 --- a/secret_sdk/client/lcd/api/bank.py +++ b/secret_sdk/client/lcd/api/bank.py @@ -1,7 +1,6 @@ -from typing import Tuple, Optional +from typing import Optional from secret_sdk.core import AccAddress, Coins -from secret_sdk.core.coin import Coin from ..params import APIParams from ._base import BaseAsyncAPI, sync_bind @@ -12,11 +11,13 @@ class AsyncBankAPI(BaseAsyncAPI): async def balance( self, address: AccAddress, params: Optional[APIParams] = None - ) -> Tuple[Coins, dict]: + ) -> (Coins, dict): """Fetches an account's current balance. + Args: address (AccAddress): account address params (APIParams, optional): additional params for the API like pagination + Returns: Coins: balance Pagination: pagination info @@ -24,8 +25,9 @@ async def balance( res = await self._c._get(f"/cosmos/bank/v1beta1/balances/{address}", params) return Coins.from_data(res["balances"]), res.get("pagination") - async def total(self, params: Optional[APIParams] = None) -> Tuple[Coins, dict]: + async def total(self, params: Optional[APIParams] = None) -> (Coins, dict): """Fetches the current total supply of all tokens. + Returns: Coins: total supply params (APIParams, optional): additional params for the API like pagination @@ -33,19 +35,11 @@ async def total(self, params: Optional[APIParams] = None) -> Tuple[Coins, dict]: res = await self._c._get("/cosmos/bank/v1beta1/supply", params) return Coins.from_data(res.get("supply")), res.get("pagination") - async def total_denom(self, denom: str, params: Optional[APIParams] = None) -> Coin: - """Fetches the current total supply of given token. - Returns: - Coins: total supply for denom - params (APIParams, optional): additional params for the API like pagination - """ - res = await self._c._get(f"/cosmos/bank/v1beta1/supply/{denom}", params, True) - return Coin.parse(res['amount']) - async def spendable_balances( self, address: AccAddress, params: Optional[APIParams] = None - ) -> Tuple[Coins, dict]: + ) -> (Coins, dict): """Queries the spenable balance of all coins for a single account + Returns: Coins: spendable balance params (APIParams, optional): additional params for the API like pagination @@ -60,23 +54,19 @@ class BankAPI(AsyncBankAPI): @sync_bind(AsyncBankAPI.balance) def balance( self, address: AccAddress, params: Optional[APIParams] = None - ) -> Tuple[Coins, dict]: + ) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ - @sync_bind(AsyncBankAPI.total_denom) - def total_denom(self, denom: str, params: Optional[APIParams] = None) -> Tuple[Coins, dict]: - pass - @sync_bind(AsyncBankAPI.total) - def total(self, params: Optional[APIParams] = None) -> Tuple[Coins, dict]: + def total(self, params: Optional[APIParams] = None) -> (Coins, dict): pass @sync_bind(AsyncBankAPI.spendable_balances) - def spendable_balances(self, params: Optional[APIParams] = None) -> Tuple[Coins, dict]: + def spendable_balances(self, params: Optional[APIParams] = None) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ total.__doc__ = AsyncBankAPI.total.__doc__ - spendable_balances.__doc__ = AsyncBankAPI.spendable_balances.__doc__ \ No newline at end of file + spendable_balances.__doc__ = AsyncBankAPI.spendable_balances.__doc__ diff --git a/secret_sdk/client/lcd/api/distribution.py b/secret_sdk/client/lcd/api/distribution.py index 047781a..3c4938d 100644 --- a/secret_sdk/client/lcd/api/distribution.py +++ b/secret_sdk/client/lcd/api/distribution.py @@ -1,12 +1,12 @@ -from typing import Dict +from typing import Dict, Optional, List import attr from secret_sdk.core import AccAddress, Coins, ValAddress - +from ..params import APIParams from ._base import BaseAsyncAPI, sync_bind -__all__ = ["AsyncDistributionAPI", "DistributionAPI", "Rewards", "ValidatorRewards"] +__all__ = ["AsyncDistributionAPI", "DistributionAPI", "Rewards"] @attr.s @@ -19,25 +19,25 @@ class Rewards: @attr.s -class ValidatorRewards: - self_bond_rewards: Coins = attr.ib() - """Rewards for validator accrued from self-delegation.""" - - val_commission: Coins = attr.ib() - """Rewards for validator accrued from delegation commissions.""" +class ValidatorOutstandingRewards: + rewards: List[Coins] = attr.ib() class AsyncDistributionAPI(BaseAsyncAPI): - async def rewards(self, delegator: AccAddress) -> Rewards: + async def rewards(self, delegator: AccAddress, params: Optional[APIParams] = None) -> Rewards: """Fetches the staking reward data for a delegator. Args: delegator (AccAddress): delegator account address + params (APIParams): optional parameters Returns: Rewards: delegator rewards """ - res = await self._c._get(f"/distribution/delegators/{delegator}/rewards") + res = await self._c._get( + f"/cosmos/distribution/v1beta1/delegators/{delegator}/rewards", + params + ) return Rewards( rewards={ item["validator_address"]: Coins.from_data(item["reward"] or []) @@ -46,79 +46,113 @@ async def rewards(self, delegator: AccAddress) -> Rewards: total=Coins.from_data(res["total"]), ) - async def validator_rewards(self, validator: ValAddress) -> ValidatorRewards: + async def validator_outstanding_rewards(self, validator_address: ValAddress, params: Optional[APIParams] = None) -> ValidatorOutstandingRewards: + """Fetches validator outstanding rewards. + + Args: + validator_address (ValAddress): validator operator address + params (APIParams): optional parameters + + Returns: + ValidatorOutstandingRewards: delegator rewards + """ + res = await self._c._get( + f"/cosmos/distribution/v1beta1/validators/{validator_address}/outstanding_rewards", + params + ) + return ValidatorOutstandingRewards( + rewards=Coins.from_data(res["rewards"]['rewards'] or []) + ) + + async def validator_commission(self, validator: ValAddress, params: Optional[APIParams] = None) -> Coins: """Fetches the commission reward data for a validator. Args: validator (ValAddress): validator operator address + params (APIParams): optional parameters Returns: - ValidatorRewards: validator rewards + ValidatorCommission: validator rewards """ - res = await self._c._get(f"/distribution/validators/{validator}") - return ValidatorRewards( - self_bond_rewards=Coins.from_data(res["self_bond_rewards"]), - val_commission=Coins.from_data(res["val_commission"]["commission"]), + res = await self._c._get( + f"/cosmos/distribution/v1beta1/validators/{validator}/commission", + params ) + commission = res["commission"] + return Coins.from_data(commission["commission"]) - async def withdraw_address(self, delegator: AccAddress) -> AccAddress: + async def withdraw_address(self, delegator: AccAddress, params: Optional[APIParams] = None) -> AccAddress: """Fetches the withdraw address associated with a delegator. Args: delegator (AccAddress): delegator account address + params (APIParams): optional parameters Returns: AccAddress: withdraw address """ - return await self._c._get( - f"/distribution/delegators/{delegator}/withdraw_address" + res = await self._c._get( + f"/cosmos/distribution/v1beta1/delegators/{delegator}/withdraw_address", + params ) + return res.get("withdraw_address") - async def community_pool(self) -> Coins: + async def community_pool(self, params: Optional[APIParams] = None) -> Coins: """Fetches the community pool. + Args: + params (APIParams): optional parameters Returns: Coins: community pool """ - res = await self._c._get("/distribution/community_pool") - return Coins.from_data(res) + res = await self._c._get("/cosmos/distribution/v1beta1/community_pool",params) + return Coins.from_data(res.get("pool")) - async def parameters(self) -> dict: + async def parameters(self, params: Optional[APIParams] = None) -> dict: """Fetches the Distribution module parameters. + Args: + params (APIParams): optional parameters Returns: dict: Distribution module parameters """ - return await self._c._get("/distribution/parameters") + res = await self._c._get("/cosmos/distribution/v1beta1/params", params) + return res.get("params") class DistributionAPI(AsyncDistributionAPI): @sync_bind(AsyncDistributionAPI.rewards) - def rewards(self, delegator: AccAddress) -> Rewards: + def rewards(self, delegator: AccAddress, params: Optional[APIParams] = None) -> Rewards: pass rewards.__doc__ = AsyncDistributionAPI.rewards.__doc__ - @sync_bind(AsyncDistributionAPI.validator_rewards) - def validator_rewards(self, validator: ValAddress) -> ValidatorRewards: + @sync_bind(AsyncDistributionAPI.validator_outstanding_rewards) + def validator_outstanding_rewards(self, validator_address: ValAddress, params: Optional[APIParams] = None) -> ValidatorOutstandingRewards: + pass + + validator_outstanding_rewards.__doc__ = AsyncDistributionAPI.validator_outstanding_rewards.__doc__ + + @sync_bind(AsyncDistributionAPI.validator_commission) + def validator_commission(self, validator: ValAddress, params: Optional[APIParams] = None) -> Coins: pass - validator_rewards.__doc__ = AsyncDistributionAPI.validator_rewards.__doc__ + validator_commission.__doc__ = AsyncDistributionAPI.validator_commission.__doc__ @sync_bind(AsyncDistributionAPI.withdraw_address) - def withdraw_address(self, delegator: AccAddress) -> AccAddress: + def withdraw_address(self, delegator: AccAddress, params: Optional[APIParams] = None) -> AccAddress: pass withdraw_address.__doc__ = AsyncDistributionAPI.withdraw_address.__doc__ @sync_bind(AsyncDistributionAPI.community_pool) - def community_pool(self) -> Coins: + def community_pool(self, params: Optional[APIParams] = None) -> Coins: pass community_pool.__doc__ = AsyncDistributionAPI.community_pool.__doc__ @sync_bind(AsyncDistributionAPI.parameters) - def parameters(self) -> dict: + def parameters(self, params: Optional[APIParams] = None) -> dict: pass parameters.__doc__ = AsyncDistributionAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/feegrant.py b/secret_sdk/client/lcd/api/feegrant.py new file mode 100644 index 0000000..d6b2ae8 --- /dev/null +++ b/secret_sdk/client/lcd/api/feegrant.py @@ -0,0 +1,107 @@ +from typing import Optional + +from secret_sdk.core import AccAddress +from secret_sdk.core.feegrant import Allowance + +from ..params import APIParams +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncFeeGrantAPI", "FeeGrantAPI"] + + +class AsyncFeeGrantAPI(BaseAsyncAPI): + async def allowances( + self, address: AccAddress, params: Optional[APIParams] = None + ) -> (Allowance, dict): + """fetch fee allowances + + Args: + address (AccAddress): grantee address + params (APIParams, optional): additional params for the API like pagination + + Returns: + Allowances[]: granted allowances + pagination[]: pagination info + """ + res = await self._c._get( + f"cosmos/feegrant/v1beta1/allowances/{address}", params + ) + allowances = [] + for i in res["allowances"]: + allowance = { + "granter": i.get("granter"), + "grantee": i.get("grantee"), + "allowance": Allowance.from_data(i.get("allowance")), + } + allowances.append(allowance) + return allowances, res.get("pagination") + + async def allowance( + self, + granter: AccAddress, + grantee: AccAddress, + params: Optional[APIParams] = None, + ) -> Allowance: + """fetch granter's allowance for the grantee + + Args: + granter (AccAddress): granter is the address of the user granting an allowance of their funds. + grantee (AccAddress): grantee is the address of the user being granted an allowance of another user’s funds. + params (APIParams, optional): additional params for the API like pagination + + Returns: + Allowance: granted allowance + """ + res = await self._c._get( + f"cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}", params + ) + res = res.get("allowance") + return { + "granter": res.get("granter"), + "grantee": res.get("grantee"), + "allowance": Allowance.from_data(res.get("allowance")), + } + + async def allowances_by_granter( + self, + granter: AccAddress, + params: Optional[APIParams] = None, + ) -> Allowance: + """all the grants given by an granter + + Args: + granter (AccAddress): granter is the address of the user granting an allowance of their funds. + params (APIParams, optional): additional params for the API like pagination + + Returns: + Allowance: granted allowance + """ + res = await self._c._get( + f"cosmos/feegrant/v1beta1/issued/{granter}", params + ) + res = res.get("allowance") + return { + "granter": res.get("granter"), + "allowance": Allowance.from_data(res.get("allowance")), + } + +class FeeGrantAPI(AsyncFeeGrantAPI): + @sync_bind(AsyncFeeGrantAPI.allowances) + def allowances( + self, address: AccAddress, params: Optional[APIParams] = None + ) -> (Allowance, dict): + pass + + allowances.__doc__ = AsyncFeeGrantAPI.allowances.__doc__ + + @sync_bind(AsyncFeeGrantAPI.allowance) + def allowance(self, granter: AccAddress, grantee: AccAddress, params: Optional[APIParams] = None) -> Allowance: + pass + + allowance.__doc__ = AsyncFeeGrantAPI.allowance.__doc__ + + @sync_bind(AsyncFeeGrantAPI.allowance) + def allowances_by_granter(self, granter: AccAddress, params: Optional[APIParams] = None) -> Allowance: + pass + + allowances_by_granter.__doc__ = AsyncFeeGrantAPI.allowances_by_granter.__doc__ diff --git a/secret_sdk/client/lcd/api/gov.py b/secret_sdk/client/lcd/api/gov.py new file mode 100644 index 0000000..2f37c90 --- /dev/null +++ b/secret_sdk/client/lcd/api/gov.py @@ -0,0 +1,302 @@ +from typing import List, Optional, Tuple + +from secret_sdk.core import Coins, Dec +from secret_sdk.core.deposit import Deposit +from secret_sdk.core.gov import Proposal, ProposalStatus, WeightedVoteOption +from secret_sdk.core.gov.data import Vote + +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncGovAPI", "GovAPI", "ProposalStatus"] + +from ..params import APIParams + + +class AsyncGovAPI(BaseAsyncAPI): + async def proposals( + self, options: dict = {}, params: Optional[APIParams] = None + ) -> [List[Proposal], dict]: + """Fetches all proposals. + Args: + options (dict, optional): dictionary containing options. Defaults to {}. you can use one or more below: + { + "proposal_status": terra_sdk.core.gov.ProposalStatus (int) + "voter": voter address (str), + "depositor": depositor address(str) + } + example) {"proposal_status":1, "depositor":"terra17lmam6zguazs5q5u6z5mmx76uj63gldnse2pdp"} + + params (APIParams, optional): additional params for the API like pagination + + Returns: + List[Proposal]: proposals + """ + if params is not None: + options.update(params.to_dict()) + res = await self._c._get("/cosmos/gov/v1beta1/proposals", options) + return [Proposal.from_data(d) for d in res.get("proposals")], res.get( + "pagination" + ) + + async def proposal(self, proposal_id: int) -> Proposal: + """Fetches a single proposal by id. + + Args: + proposal_id (int): proposal ID + + Returns: + Proposal: proposal + """ + res = await self._c._get(f"/cosmos/gov/v1beta1/proposals/{proposal_id}") + return Proposal.from_data(res.get("proposal")) + + # keep it private + async def __search_submit_proposal(self, proposal_id: int): + params = [ + ("message.action", "/cosmos.gov.v1beta1.MsgSubmitProposal"), + ("submit_proposal.proposal_id", proposal_id), + ] + + res = await self._c._search(params) + txs = res.get("txs") + if txs is None or len(txs) <= 0: + raise Exception("failed to find submit proposal") + return txs[0] + + # keep it private + async def __search_deposits( + self, proposal_id: int, params: Optional[APIParams] = None + ): + events = [ + ("message.action", "/cosmos.gov.v1beta1.MsgDeposit"), + ("proposal_deposit.proposal_id", proposal_id), + ] + if params is not None: + d = params.to_dict() + for i in d.keys(): + events.append((i, d.get(i))) + res = await self._c._search(events) + txs = res.get("txs") + if txs is None or len(txs) <= 0: + raise Exception("failed to find deposit txs") + return txs, res.get("pagination") + + # keep it private + async def __search_votes( + self, proposal_id: int, action: str, params: Optional[APIParams] = None + ): + events = [ + ("message.action", "/cosmos.gov.v1beta1.MsgVote"), + ("proposal_vote.proposal_id", proposal_id), + ] + if params is not None: + d = params.to_dict() + for i in d.keys(): + events.append((i, d.get(i))) + + res = await self._c._search(events) + txs = res.get("txs") + if txs is None or len(txs) <= 0: + raise Exception("failed to find vote txs") + return txs, res.get("pagination") + + async def proposer(self, proposal_id: int) -> str: + """Fetches the proposer of a proposal. + + Args: + proposal_id (int): proposal ID + + Returns: + str: proposal's proposer, None if proposal is not exist + """ + + res = await self.__search_submit_proposal(proposal_id) + msgs = res["body"]["messages"] + for msg in msgs: + if msg.get("@type") == "/cosmos.gov.v1beta1.MsgSubmitProposal": + return msg["proposer"] + return None + + async def deposits(self, proposal_id: int, params: Optional[APIParams] = None): + """Fetches the deposit information about a proposal. + + Args: + proposal_id (int): proposal ID + params (APIParams, optional): additional params for the API like pagination + """ + + proposal = self.proposal(proposal_id) + + status = proposal.status + if ( + status == ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD.name + or status == ProposalStatus.PROPOSAL_STATUS_VOTING_PERIOD.name + ): + res = await self._c._get( + f"/cosmos/gov/v1beta1/proposals/{proposal_id}/deposits", params + ) + return [Deposit.from_data(d) for d in res.get("deposits")] + + res, pagination = await self.__search_deposits(proposal_id, params) + deposits = [] + for tx in res: + for msg in tx.get("body").get("messages"): + if msg.get("@type") == "/cosmos.gov.v1beta1.MsgDeposit": + deposits.append(Deposit.from_data(msg)) + return deposits, pagination + + async def votes(self, proposal_id: int, params: Optional[APIParams] = None): + """Fetches the votes for a proposal. + + Args: + proposal_id (int): proposal ID + params (APIParams, optional): additional params for the API like pagination + """ + + proposal = self.proposal(proposal_id) + if proposal.status == ProposalStatus.PROPOSAL_STATUS_DEPOSIT_PERIOD: + res = await self._c._get( + f"/cosmos/gov/v1beta1/proposals/{proposal_id}/votes", params + ) + return res.get("votes"), res.get("pagination") + + res, pagination = await self.__search_votes(proposal_id, params) + votes = [] + for tx in res: + for msg in tx.get("body").get("messages"): + if ( + msg.get("@type") == "/cosmos.gov.v1beta1.MsgVote" + and msg.get("proposal_id") == proposal_id + ): + votes.append(WeightedVoteOption(msg.get("option"), 1)) + elif ( + msg.get("@type") == "/cosmos.gov.v1beta1.MsgVoteWeighted" + and msg.get("proposal_id") == proposal_id + ): + votes.append( + Vote( + proposal_id=proposal_id, + voter=msg.get("voter"), + options=msg.get("options"), + ) + ) + return votes, pagination + + async def tally(self, proposal_id: int): + """Fetches the tally for a proposal. + + Args: + proposal_id (int): proposal ID + """ + res = await self._c._get(f"/cosmos/gov/v1beta1/proposals/{proposal_id}/tally") + return res.get("tally") + + async def deposit_parameters(self) -> dict: + """Fetches the Gov module's deposit parameters. + + Returns: + dict: deposit parameters + """ + result = await self._c._get("/cosmos/gov/v1beta1/params/deposit") + params = result.get("deposit_params") + return { + "max_deposit_period": params["max_deposit_period"], + "min_deposit": Coins.from_data(params["min_deposit"]), + } + + async def voting_parameters(self) -> dict: + """Fetches the Gov module's voting parameters. + + Returns: + dict: voting parameters + """ + result = await self._c._get("/cosmos/gov/v1beta1/params/voting") + return result.get("voting_params") + + async def tally_parameters(self) -> dict: + """Fetches the Gov module's tally parameters. + + Returns: + dict: tally parameters + """ + result = await self._c._get("/cosmos/gov/v1beta1/params/tallying") + params = result.get("tally_params") + return { + "quorum": Dec(params["quorum"]), + "threshold": Dec(params["threshold"]), + "veto_threshold": Dec(params["veto_threshold"]), + } + + async def parameters(self) -> dict: + """Fetches the Gov module's parameters. + + Returns: + dict: Gov module parameters + """ + return { + "deposit_params": await BaseAsyncAPI._try_await(self.deposit_parameters()), + "voting_params": await BaseAsyncAPI._try_await(self.voting_parameters()), + "tally_params": await BaseAsyncAPI._try_await(self.tally_parameters()), + } + + +class GovAPI(AsyncGovAPI): + @sync_bind(AsyncGovAPI.proposals) + def proposals(self, params: Optional[APIParams] = None) -> Tuple[List[Proposal], dict]: + pass + + proposals.__doc__ = AsyncGovAPI.proposals.__doc__ + + @sync_bind(AsyncGovAPI.proposal) + def proposal(self, proposal_id: int) -> Proposal: + pass + + proposal.__doc__ = AsyncGovAPI.proposal.__doc__ + + @sync_bind(AsyncGovAPI.proposer) + def proposer(self, proposal_id: int) -> str: + pass + + proposer.__doc__ = AsyncGovAPI.proposer.__doc__ + + @sync_bind(AsyncGovAPI.deposits) + def deposits(self, proposal_id: int, params: Optional[APIParams] = None): + pass + + deposits.__doc__ = AsyncGovAPI.deposits.__doc__ + + @sync_bind(AsyncGovAPI.votes) + def votes(self, proposal_id: int, params: Optional[APIParams] = None): + pass + + votes.__doc__ = AsyncGovAPI.votes.__doc__ + + @sync_bind(AsyncGovAPI.tally) + def tally(self, proposal_id: int): + pass + + tally.__doc__ = AsyncGovAPI.tally.__doc__ + + @sync_bind(AsyncGovAPI.deposit_parameters) + def deposit_parameters(self) -> dict: + pass + + deposits.__doc__ = AsyncGovAPI.deposit_parameters.__doc__ + + @sync_bind(AsyncGovAPI.voting_parameters) + def voting_parameters(self) -> dict: + pass + + voting_parameters.__doc__ = AsyncGovAPI.voting_parameters.__doc__ + + @sync_bind(AsyncGovAPI.tally_parameters) + def tally_parameters(self) -> dict: + pass + + tally_parameters.__doc__ = AsyncGovAPI.tally_parameters.__doc__ + + @sync_bind(AsyncGovAPI.parameters) + def parameters(self) -> dict: + pass + + parameters.__doc__ = AsyncGovAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/ibc.py b/secret_sdk/client/lcd/api/ibc.py new file mode 100644 index 0000000..747d4e4 --- /dev/null +++ b/secret_sdk/client/lcd/api/ibc.py @@ -0,0 +1,24 @@ +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncIbcAPI", "IbcAPI"] + + +class AsyncIbcAPI(BaseAsyncAPI): + async def parameters(self) -> dict: + """Fetches the Ibc module's parameters. + + Returns: + List: allowed clients + """ + res = await self._c._get("/ibc/client/v1/params") + return res["params"] + + # TODO: functions for clients, connections and channels + + +class IbcAPI(AsyncIbcAPI): + @sync_bind(AsyncIbcAPI.parameters) + def parameters(self) -> dict: + pass + + parameters.__doc__ = AsyncIbcAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/ibc_transfer.py b/secret_sdk/client/lcd/api/ibc_transfer.py new file mode 100644 index 0000000..21bad9a --- /dev/null +++ b/secret_sdk/client/lcd/api/ibc_transfer.py @@ -0,0 +1,26 @@ +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncIbcTransferAPI", "IbcTransferAPI"] + + +class AsyncIbcTransferAPI(BaseAsyncAPI): + async def parameters(self) -> dict: + """Fetches the IbcTransfer module's parameters. + + Returns: + dict: IbcTransfer module parameters + """ + res = await self._c._get("/ibc/apps/transfer/v1/params") + params = res["params"] + return { + "send_enabled": bool(params["send_enabled"]), + "receive_enabled": bool(params["receive_enabled"]), + } + + +class IbcTransferAPI(AsyncIbcTransferAPI): + @sync_bind(AsyncIbcTransferAPI.parameters) + def parameters(self) -> dict: + pass + + parameters.__doc__ = AsyncIbcTransferAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/mint.py b/secret_sdk/client/lcd/api/mint.py new file mode 100644 index 0000000..da73c2a --- /dev/null +++ b/secret_sdk/client/lcd/api/mint.py @@ -0,0 +1,73 @@ +from typing import Optional + +from secret_sdk.core import Dec, Numeric + +from ._base import BaseAsyncAPI, sync_bind +from ..params import APIParams +__all__ = ["AsyncMintAPI", "MintAPI"] + + +class AsyncMintAPI(BaseAsyncAPI): + async def inflation(self, params: Optional[APIParams] = None) -> Dec: + """Fetches the current inflation. + + Args: + params (APIParams): optional parameters + + Returns: + Dec: inflation + """ + res = await self._c._get("/cosmos/mint/v1beta1/inflation", params) + return Dec(res.get("inflation")) + + async def annual_provisions(self, params: Optional[APIParams] = None) -> Dec: + """Fetches the annual provisions. + + Args: + params (APIParams): optional parameters + + Returns: + Dec: annual provisions + """ + res = await self._c._get("/cosmos/mint/v1beta1/annual_provisions", params) + return Dec(res.get("annual_provisions")) + + async def parameters(self, params: Optional[APIParams] = None) -> dict: + """Fetches the Mint module's parameters. + + Args: + params (APIParams): optional parameters + + Returns: + dict: Mint module parameters + """ + res = await self._c._get("/cosmos/mint/v1beta1/params", params) + params = res.get("params") + return { + "mint_denom": params["mint_denom"], + "inflation_rate_change": Dec(params["inflation_rate_change"]), + "inflation_max": Dec(params["inflation_max"]), + "inflation_min": Dec(params["inflation_min"]), + "goal_bonded": Dec(params["goal_bonded"]), + "blocks_per_year": Numeric.parse(params["blocks_per_year"]), + } + + +class MintAPI(AsyncMintAPI): + @sync_bind(AsyncMintAPI.inflation) + def inflation(self, params: Optional[APIParams] = None) -> Dec: + pass + + inflation.__doc__ = AsyncMintAPI.inflation.__doc__ + + @sync_bind(AsyncMintAPI.annual_provisions) + def annual_provisions(self, params: Optional[APIParams] = None) -> Dec: + pass + + annual_provisions.__doc__ = AsyncMintAPI.annual_provisions.__doc__ + + @sync_bind(AsyncMintAPI.parameters) + def parameters(self, params: Optional[APIParams] = None) -> dict: + pass + + parameters.__doc__ = AsyncMintAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/slashing.py b/secret_sdk/client/lcd/api/slashing.py new file mode 100644 index 0000000..b125ff7 --- /dev/null +++ b/secret_sdk/client/lcd/api/slashing.py @@ -0,0 +1,106 @@ +from typing import List, Optional, Union + +from dateutil import parser + +from secret_sdk.core import Dec, Numeric, ValConsPubKey + +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncSlashingAPI", "SlashingAPI"] + +from ..params import APIParams + + +class AsyncSlashingAPI(BaseAsyncAPI): + async def signing_info( + self, val_cons_pub_key: ValConsPubKey, params: Optional[APIParams] = None + ) -> Union[List[dict], dict]: + """Fetches signing info for a validator consensus public key. + + Args: + val_cons_pub_key (ValConsPubKey): validator consensus public key. + params (APIParams): optional parameters + + Returns: + Union[List[dict], dict]: signing info + """ + res = await self._c._get( + f"/cosmos/slashing/v1beta1/signing_infos/{val_cons_pub_key}", + params + ) + info = res["val_signing_info"] + return { + "address": info["address"], + "start_height": Numeric.parse(info["start_height"]), + "index_offset": Numeric.parse(info["index_offset"]), + "jailed_until": parser.parse(info["jailed_until"]), + "tombstoned": bool(info["tombstoned"]), + "missed_blocks_counter": Numeric.parse(info["missed_blocks_counter"]), + } + + async def signing_infos( + self, params: Optional[APIParams] = None + ) -> (Union[List[dict], dict], dict): + """Fetches all signing info. + + Args: + params (APIParams): optional parameters + + Returns: + Union[List[dict], dict]: signing infos + dict: pagination info + """ + res = await self._c._get("/cosmos/slashing/v1beta1/signing_infos", params) + infos = res["info"] + return [ + { + "address": info["address"], + "start_height": Numeric.parse(info["start_height"]), + "index_offset": Numeric.parse(info["index_offset"]), + "jailed_until": info["jailed_until"], # TODO: convert to datetime + "tombstoned": bool(info["tombstoned"]), + "missed_blocks_counter": Numeric.parse(info["missed_blocks_counter"]), + } + for info in infos + ], res.get("pagination") + + async def parameters(self, params: Optional[APIParams] = None) -> dict: + """Fetches Slashing module parameters. + + Args: + params (APIParams): optional parameters + + Returns: + dict: Slashing module parameters + """ + res = await self._c._get("/cosmos/slashing/v1beta1/params", params) + params = res.get("params") + return { + "signed_blocks_window": Numeric.parse(params["signed_blocks_window"]), + "min_signed_per_window": Dec(params["min_signed_per_window"]), + "downtime_jail_duration": params["downtime_jail_duration"], + "slash_fraction_double_sign": Dec(params["slash_fraction_double_sign"]), + "slash_fraction_downtime": Dec(params["slash_fraction_downtime"]), + } + + +class SlashingAPI(AsyncSlashingAPI): + @sync_bind(AsyncSlashingAPI.signing_info) + def signing_info(self, val_cons_pub_key: ValConsPubKey, params: Optional[APIParams] = None) -> List[dict]: + pass + + signing_info.__doc__ = AsyncSlashingAPI.signing_info.__doc__ + + @sync_bind(AsyncSlashingAPI.signing_infos) + def signing_infos( + self, params: Optional[APIParams] + ) -> (Union[List[dict], dict], dict): + pass + + signing_infos.__doc__ = AsyncSlashingAPI.signing_infos.__doc__ + + @sync_bind(AsyncSlashingAPI.parameters) + def parameters(self, params: Optional[APIParams] = None) -> dict: + pass + + parameters.__doc__ = AsyncSlashingAPI.parameters.__doc__ diff --git a/secret_sdk/client/lcd/api/staking.py b/secret_sdk/client/lcd/api/staking.py index 6555d6f..a4fc621 100644 --- a/secret_sdk/client/lcd/api/staking.py +++ b/secret_sdk/client/lcd/api/staking.py @@ -2,7 +2,7 @@ import attr -from secret_sdk.core import AccAddress, Coin, ValAddress +from secret_sdk.core import AccAddress, Coin, Numeric, ValAddress from secret_sdk.core.staking import ( Delegation, Redelegation, @@ -14,6 +14,32 @@ __all__ = ["AsyncStakingAPI", "StakingAPI", "StakingPool"] +from ..params import APIParams, PaginationOptions + + +class RedelegationsOptions(PaginationOptions): + """just internal class for relegation option""" + + def __init__( + self, + src_validator_addr: Optional[str] = None, + dst_validator_addr: Optional[str] = None, + ): + super().__init__(self) + self.src_validator_addr = src_validator_addr + self.dst_validator_addr = dst_validator_addr + + def __str__(self): + return "&".join(self.to_dict()) + + def to_dict(self) -> dict: + params = super().to_dict() + if self.src_validator_addr is not None: + params["src_validator_addr"] = self.src_validator_addr + if self.dst_validator_addr is not None: + params["dst_validator_addr"] = self.dst_validator_addr + return params + @attr.s class StakingPool: @@ -26,30 +52,44 @@ async def delegations( self, delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, - ) -> List[Delegation]: + params: Optional[APIParams] = None, + ) -> (List[Delegation], dict): """Fetches current delegations, filtering by delegator, validator, or both. Args: delegator (Optional[AccAddress], optional): delegator account address. validator (Optional[ValAddress], optional): validator operator address. + params (APIParams, optional): additional params for the API like pagination Raises: TypeError: if both ``delegator`` and ``validator`` are ``None``. Returns: List[Delegation]: delegations + dict: pagination info """ if delegator is not None and validator is not None: res = await self._c._get( - f"/staking/delegators/{delegator}/delegations/{validator}" + f"/cosmos/staking/v1beta1/validators/{validator}/delegations/{delegator}", + params, + ) + return [Delegation.from_data(res.get("delegation_response"))], res.get( + "pagination" ) - return [Delegation.from_data(res)] elif delegator is not None: - res = await self._c._get(f"/staking/delegators/{delegator}/delegations") - return [Delegation.from_data(d) for d in res] + res = await self._c._get( + f"/cosmos/staking/v1beta1/delegations/{delegator}", params + ) + return [ + Delegation.from_data(d) for d in res.get("delegation_responses") + ], res.get("pagination") elif validator is not None: - res = await self._c._get(f"/staking/validators/{validator}/delegations") - return [Delegation.from_data(d) for d in res] + res = await self._c._get( + f"/cosmos/staking/v1beta1/validators/{validator}/delegations", params + ) + return [ + Delegation.from_data(d) for d in res.get("delegation_responses") + ], res.get("pagination") else: raise TypeError("arguments delegator and validator cannot both be None") @@ -59,49 +99,62 @@ async def delegation( """Fetch a single delegation via a delegator, validator pair. Args: - delegator (AccAddress): delegator account address - validator (ValAddress): validator operator address + delegator (Optional[AccAddress), optional: delegator account address + validator (Optional[ValAddress], optional): validator operator address Returns: Delegation: delegation """ res = await self._c._get( - f"/staking/delegators/{delegator}/delegations/{validator}" + f"/cosmos/staking/v1beta1/validators/{validator}/delegations/{delegator}" ) + res = res.get("delegation_response").get("delegation") return res async def unbonding_delegations( self, delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, - ) -> List[UnbondingDelegation]: + params: Optional[APIParams] = None, + ) -> (List[UnbondingDelegation], dict): """Fetches current undelegations, filtering by delegator, validator, or both. Args: delegator (Optional[AccAddress], optional): delegator account address. validator (Optional[ValAddress], optional): validator operator address. + params (APIParams, optional): additional params for the API like pagination Raises: TypeError: if both ``delegator`` and ``validator`` are ``None``. Returns: List[UnbondingDelegation]: undelegations + dict: pagination info """ if delegator is not None and validator is not None: res = await self._c._get( - f"/staking/delegators/{delegator}/unbonding_delegations/{validator}" + f"/cosmos/staking/v1beta1/validators/{validator}/delegations/{delegator}/unbonding_delegation", + params, + ) + return [UnbondingDelegation.from_data(res.get("unbond"))], res.get( + "pagination" ) - return [UnbondingDelegation.from_data(res)] elif delegator is not None: res = await self._c._get( - f"/staking/delegators/{delegator}/unbonding_delegations" + f"/cosmos/staking/v1beta1/delegators/{delegator}/unbonding_delegations", + params, ) - return [UnbondingDelegation.from_data(x) for x in res] + return [ + UnbondingDelegation.from_data(x) for x in res.get("unbonding_responses") + ], res.get("pagination") elif validator is not None: res = await self._c._get( - f"/staking/validators/{validator}/unbonding_delegations" + f"/cosmos/staking/v1beta1/validators/{validator}/unbonding_delegations", + params, ) - return [UnbondingDelegation.from_data(x) for x in res] + return [ + UnbondingDelegation.from_data(x) for x in res.get("unbonding_responses") + ], res.get("pagination") else: raise TypeError("arguments delegator and validator cannot both be None") @@ -118,59 +171,83 @@ async def unbonding_delegation( UnbondingDelegation: undelegation """ res = await self._c._get( - f"/staking/delegators/{delegator}/unbonding_delegations/{validator}" + f"/cosmos/staking/v1beta1/validators/{validator}/delegations/{delegator}/unbonding_delegation" ) - return UnbondingDelegation.from_data(res) + return UnbondingDelegation.from_data(res.get("unbond")) async def redelegations( self, delegator: Optional[AccAddress] = None, validator_src: Optional[ValAddress] = None, validator_dst: Optional[ValAddress] = None, - ) -> List[Redelegation]: + params: Optional[APIParams] = None, + ) -> (List[Redelegation], dict): """Fetch redelgations. Args: delegator (Optional[AccAddress], optional): delegator account address. validator_src (Optional[ValAddress], optional): source validator operator address (from). validator_dst (Optional[ValAddress], optional): dest. validator operator address (to). + params (APIParams, optional): additional params for the API like pagination Returns: List[Redelegation]: redelegations + dict: pagination info """ - params = { - "delegator": delegator, - "validator_from": validator_src, - "validator_to": validator_dst, - } - for x in list(params.keys()): - if params[x] is None: - del params[x] - - res = await self._c._get("/staking/redelegations", params) - return [Redelegation.from_data(d) for d in res] + # _params = RedelegationsOptions(src_validator_addr=validator_src, dst_validator_addr=validator_dst) + if params is not None: + _params = params.to_dict() + else: + _params = {} + _params["src_validator_addr"] = validator_src + _params["dst_validator_addr"] = validator_dst + for x in list(_params.keys()): + if _params[x] is None: + del _params[x] + res = await self._c._get( + f"/cosmos/staking/v1beta1/delegators/{delegator}/redelegations", _params + ) + return [ + Redelegation.from_data(d) for d in res.get("redelegation_responses") + ], res.get("pagination") - async def bonded_validators(self, delegator: AccAddress) -> List[Validator]: + async def bonded_validators( + self, delegator: AccAddress, params: Optional[PaginationOptions] = None + ) -> (List[Validator], dict): """Fetches the list of validators a delegator is currently delegating to. Args: delegator (AccAddress): delegator account address + params (APIParams, optional): additional params for the API like pagination Returns: List[Validator]: currently bonded validators + dict: pagination info """ - res = await self._c._get(f"/staking/delegators/{delegator}/validators") - return [Validator.from_data(d) for d in res] + res = await self._c._get( + f"/cosmos/staking/v1beta1/delegators/{delegator}/validators", params + ) + return [Validator.from_data(d) for d in res.get("validators")], res.get( + "pagination" + ) - async def validators(self) -> List[Validator]: + async def validators( + self, params: Optional[APIParams] = None + ) -> (List[Validator], dict): """Fetch information of all validators. + Args: + params (APIParams, optional): additional params for the API like pagination + Returns: List[Validator]: validator informations + dict: pagination info """ - res = await self._c._get("/staking/validators") - return [Validator.from_data(d) for d in res] + res = await self._c._get("/cosmos/staking/v1beta1/validators", params) + return [Validator.from_data(d) for d in res.get("validators")], res.get( + "pagination" + ) async def validator(self, validator: ValAddress) -> Validator: """Fetch information about a single validator. @@ -181,8 +258,8 @@ async def validator(self, validator: ValAddress) -> Validator: Returns: Validator: validator information """ - res = await self._c._get(f"/staking/validators/{validator}") - return Validator.from_data(res) + res = await self._c._get(f"/cosmos/staking/v1beta1/validators/{validator}") + return Validator.from_data(res.get("validator")) async def pool(self) -> StakingPool: """Fetch current staking pool information. @@ -190,10 +267,11 @@ async def pool(self) -> StakingPool: Returns: StakingPool: information about current staking pool """ - res = await self._c._get("/staking/pool") + res = await self._c._get("/cosmos/staking/v1beta1/pool") + res = res.get("pool") return StakingPool( - bonded_tokens=Coin("uscrt", res["bonded_tokens"]), - not_bonded_tokens=Coin("uscrt", res["not_bonded_tokens"]), + bonded_tokens=Coin("uluna", res["bonded_tokens"]), + not_bonded_tokens=Coin("uluna", res["not_bonded_tokens"]), ) async def parameters(self) -> dict: @@ -202,8 +280,15 @@ async def parameters(self) -> dict: Returns: dict: Staking module parameters """ - res = await self._c._get("/staking/parameters") - return res + res = await self._c._get("/cosmos/staking/v1beta1/params") + res = res.get("params") + return { + "unbonding_time": res["unbonding_time"], + "max_validators": Numeric.parse(res["max_validators"]), + "max_entries": Numeric.parse(res["max_entries"]), + "historical_entries": Numeric.parse(res["historical_entries"]), + "bond_denom": res["bond_denom"], + } class StakingAPI(AsyncStakingAPI): @@ -212,7 +297,8 @@ def delegations( self, delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, - ) -> List[Delegation]: + params: Optional[APIParams] = None, + ) -> (List[Delegation], dict): pass delegations.__doc__ = AsyncStakingAPI.delegations.__doc__ @@ -228,7 +314,8 @@ def unbonding_delegations( self, delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, - ) -> List[UnbondingDelegation]: + params: Optional[APIParams] = None, + ) -> (List[UnbondingDelegation], dict): pass unbonding_delegations.__doc__ = AsyncStakingAPI.unbonding_delegations.__doc__ @@ -247,19 +334,22 @@ def redelegations( delegator: Optional[AccAddress] = None, validator_src: Optional[ValAddress] = None, validator_dst: Optional[ValAddress] = None, - ) -> List[Redelegation]: + params: Optional[APIParams] = None, + ) -> (List[Redelegation], dict): pass redelegations.__doc__ = AsyncStakingAPI.redelegations.__doc__ @sync_bind(AsyncStakingAPI.bonded_validators) - def bonded_validators(self, delegator: AccAddress) -> List[Validator]: + def bonded_validators( + self, delegator: AccAddress, params: Optional[PaginationOptions] = None + ) -> (List[Validator], dict): pass bonded_validators.__doc__ = AsyncStakingAPI.bonded_validators.__doc__ @sync_bind(AsyncStakingAPI.validators) - def validators(self) -> List[Validator]: + def validators(self, params: Optional[APIParams]) -> (List[Validator], dict): pass validators.__doc__ = AsyncStakingAPI.validators.__doc__ diff --git a/secret_sdk/client/lcd/api/tendermint.py b/secret_sdk/client/lcd/api/tendermint.py index 0ee0d1c..35faae8 100644 --- a/secret_sdk/client/lcd/api/tendermint.py +++ b/secret_sdk/client/lcd/api/tendermint.py @@ -1,73 +1,88 @@ from typing import Optional from ._base import BaseAsyncAPI, sync_bind +from ..params import APIParams __all__ = ["AsyncTendermintAPI", "TendermintAPI"] class AsyncTendermintAPI(BaseAsyncAPI): - async def node_info(self) -> dict: + async def node_info(self, params: Optional[APIParams] = None) -> dict: """Fetches the curent connected node's information. + Args: + params (APIParams): optional parameters + Returns: dict: node information """ - return await self._c._get("/node_info", raw=True) + res = await self._c._get("/cosmos/base/tendermint/v1beta1/node_info", params) + return { + "default_node_info": res["default_node_info"], + "application_version": res["application_version" ""], + } - async def syncing(self) -> bool: + async def syncing(self, params: Optional[APIParams] = None) -> bool: """Fetches whether the curent connect node is syncing with the network. + Args: + params (APIParams): optional parameters + Returns: bool: syncing status """ - return (await self._c._get("/syncing", raw=True))["syncing"] + return (await self._c._get("/cosmos/base/tendermint/v1beta1/syncing", params))[ + "syncing" + ] - async def validator_set(self, height: Optional[int] = None) -> dict: + async def validator_set(self, height: Optional[int] = None, params: Optional[APIParams] = None) -> dict: """Fetches the validator set for a height. If no height is given, defaults to latest. Args: - height (Optional[int], optional): block height. + height (int, optional): block height. + params (APIParams): optional parameters Returns: dict: validator set """ x = "latest" if height is None else height - return await self._c._get(f"/validatorsets/{x}") + return await self._c._get(f"/cosmos/base/tendermint/v1beta1/validatorsets/{x}", params) - async def block_info(self, height: Optional[int] = None) -> dict: + async def block_info(self, height: Optional[int] = None, params: Optional[APIParams] = None) -> dict: """Fetches the block information for a given height. If no height is given, defaults to latest block. Args: - height (Optional[int], optional): block height. + height (int, optional): block height. + params (APIParams): optional parameters Returns: dict: block info """ x = "latest" if height is None else height - return await self._c._get(f"/blocks/{x}", raw=True) + return await self._c._get(f"/cosmos/base/tendermint/v1beta1/blocks/{x}", params) class TendermintAPI(AsyncTendermintAPI): @sync_bind(AsyncTendermintAPI.node_info) - def node_info(self) -> dict: + def node_info(self, params: Optional[APIParams] = None) -> dict: pass node_info.__doc__ = AsyncTendermintAPI.node_info.__doc__ @sync_bind(AsyncTendermintAPI.syncing) - def syncing(self) -> bool: + def syncing(self, params: Optional[APIParams] = None) -> bool: pass syncing.__doc__ = AsyncTendermintAPI.syncing.__doc__ @sync_bind(AsyncTendermintAPI.validator_set) - def validator_set(self, height: Optional[int] = None) -> dict: + def validator_set(self, height: Optional[int] = None, params: Optional[APIParams] = None) -> dict: pass validator_set.__doc__ = AsyncTendermintAPI.validator_set.__doc__ @sync_bind(AsyncTendermintAPI.block_info) - def block_info(self, height: Optional[int] = None) -> dict: + def block_info(self, height: Optional[int] = None, params: Optional[APIParams] = None) -> dict: pass block_info.__doc__ = AsyncTendermintAPI.block_info.__doc__ diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 5920937..4133e77 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -1,22 +1,85 @@ import base64 import re +import json from typing import List, Optional import attr +from multidict import CIMultiDict -from secret_sdk.core import AccAddress, Coins, Numeric -from secret_sdk.core.auth import SearchTxsResponse, StdFee, StdSignMsg, StdTx, TxInfo +from secret_sdk.core import AccAddress, Coins, Dec, Numeric, PublicKey +from secret_sdk.core import SearchTxsResponse, StdFee, StdSignMsg, StdTx, TxInfo from secret_sdk.core.broadcast import ( AsyncTxBroadcastResult, BlockTxBroadcastResult, SyncTxBroadcastResult, ) +from secret_sdk.core.tx_decoder import msg_decoder_mapper +from secret_sdk.core.fee import Fee from secret_sdk.core.msg import Msg +from secret_sdk.core.tx import AuthInfo, SignerData, SignMode, Tx, TxBody, TxInfo from secret_sdk.util.hash import hash_amino +from secret_sdk.util.json import JSONSerializable +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgInstantiateContractResponse, MsgExecuteContractResponse +from ..params import APIParams from ._base import BaseAsyncAPI, sync_bind -__all__ = ["AsyncTxAPI", "TxAPI", "BroadcastOptions"] +__all__ = [ + "AsyncTxAPI", + "TxAPI", + "BroadcastOptions", + "CreateTxOptions", + "SignerOptions", +] + + +@attr.s +class SignerOptions: + """SignerOptions specifies infomations about signers + Args: + address (AccAddress): address of the signer + sequence (int, optional): nonce of the messages from the signer + public_key (PublicKey, optional): signer's PublicKey + """ + + address: AccAddress = attr.ib() + sequence: Optional[int] = attr.ib(default=None) + public_key: Optional[PublicKey] = attr.ib(default=None) + + +@attr.s +class CreateTxOptions: + """ + + Args: + msgs (List[Msg]): list of messages to include + fee (Optional[Fee], optional): transaction fee. If ``None``, will be estimated. + See more on `fee estimation`_. + memo (str, optional): optional short string to include with transaction. + gas (str, optional): gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically + gas_prices (Coins.Input, optional): gas prices for fee estimation. + gas_adjustment (Numeric.Input, optional): gas adjustment for fee estimation. + fee_denoms (List[str], optional): list of denoms to use for fee after estimation. + account_number (int, optional): account number (overrides blockchain query if + provided) + sequence (int, optional): sequence (overrides blockchain qu ery if provided) + timeout_height (int, optional): specifies a block timeout height to prevent the tx from being committed past a certain height. + sign_mode: (SignMode, optional): SignMode.SIGN_MODE_DIRECT by default. multisig needs SignMode.SIGN_MODE_LEGACY_AMINO_JSON. + """ + + msgs: List[Msg] = attr.ib() + fee: Optional[Fee] = attr.ib(default=None) + memo: Optional[str] = attr.ib(default=None) + gas: Optional[str] = attr.ib(default=None) + gas_prices: Optional[Coins.Input] = attr.ib(default=None) + gas_adjustment: Optional[Numeric.Output] = attr.ib( + default=0, converter=Numeric.parse + ) + fee_denoms: Optional[List[str]] = attr.ib(default=None) + account_number: Optional[int] = attr.ib(default=None) + sequence: Optional[int] = attr.ib(default=None) + timeout_height: Optional[int] = attr.ib(default=None) + sign_mode: Optional[SignMode] = attr.ib(default=None) @attr.s @@ -25,6 +88,41 @@ class BroadcastOptions: fee_granter: Optional[AccAddress] = attr.ib(default=None) +@attr.s +class GasInfo: + gas_wanted: int = attr.ib(converter=int) + gas_used: int = attr.ib(converter=int) + + +@attr.s +class EventAttribute: + key: str = attr.ib() + value: str = attr.ib() + + +@attr.s +class Event: + type: str = attr.ib() + attributes: List[EventAttribute] = attr.ib(converter=list) + + +@attr.s +class SimulateResult: + data: str = attr.ib() + log: str = attr.ib() + events: List[Event] = attr.ib(converter=list) + + +@attr.s +class SimulateResponse(JSONSerializable): + gas_info: GasInfo = attr.ib() + result: SimulateResult = attr.ib() + + @classmethod + def from_data(cls, data: dict): + return cls(gas_info=data["gas_info"], result=data["result"]) + + class AsyncTxAPI(BaseAsyncAPI): async def tx_info(self, tx_hash: str) -> TxInfo: """Fetches information for an included transaction given a tx hash. @@ -35,7 +133,8 @@ async def tx_info(self, tx_hash: str) -> TxInfo: Returns: TxInfo: transaction info """ - return TxInfo.from_data(await self._c._get(f"/txs/{tx_hash}", raw=True)) + res = await self._c._get(f"/cosmos/tx/v1beta1/txs/{tx_hash}") + return TxInfo.from_data(res["tx_response"]) async def tx_by_id(self, id: str) -> TxInfo: """Fetches information for an included transaction given a tx hash. @@ -46,11 +145,11 @@ async def tx_by_id(self, id: str) -> TxInfo: Returns: TxInfo: transaction info """ - response_data = await self._c._get(f"/txs/{id}", raw=True) - if "tx" not in response_data: + res = await self._c._get(f"/cosmos/tx/v1beta1/txs/{id}") + if "tx" not in res: raise Exception("Unexpected response data format") # TODO: update TxInfo interface - return await self.decrypt_txs_response(response_data) + return await self.decrypt_txs_response(res) async def decrypt_data_field(self, data_field: str, nonces): wasm_output_data_cipher_bz = bytearray.fromhex(data_field) @@ -92,80 +191,126 @@ async def decrypt_logs(self, logs, nonces): return logs async def decrypt_txs_response(self, txs_response): - data_field = None - data = [] + nonces = {} - if txs_response.get("data"): - data_field = txs_response[ - "data" - ] # await self.decode_tx_data(txs_response['data']) + decoded_tx = Tx.from_data(txs_response['tx']) + for i, message in enumerate(decoded_tx.body.messages): + msg_type = message.type_url + msg_decoder = msg_decoder_mapper.get(msg_type) - logs = txs_response.get("logs") - if logs: - logs[0]["msg_index"] = 0 + if not msg_decoder: + continue - for i, msg in enumerate(txs_response["tx"]["value"].get("msg")): + msg = { + 'type_url': msg_type, + 'value': msg_decoder(message) + } + + # Check if the message needs decryption + contract_input_msg_field_name = '' + if msg_type == "/secret.compute.v1beta1.MsgInstantiateContract": + contract_input_msg_field_name = "initMsg"; + elif msg_type == "/secret.compute.v1beta1.MsgExecuteContract": + contract_input_msg_field_name = "msg"; + + if contract_input_msg_field_name != '': + # Encrypted, try to decrypt + try: + contract_input_msg_bytes = base64.b64decode(msg["value"][contract_input_msg_field_name]) + nonce = contract_input_msg_bytes[0:32] + account_pub_key = contract_input_msg_bytes[32:64] + ciphertext = contract_input_msg_bytes[64:] + + plaintext = await self._c.utils.decrypt( + ciphertext, + nonce + ) + # first 64 chars is the code hash as hex string + msg["value"][contract_input_msg_field_name] = plaintext[64:] - if msg["type"] == "wasm/MsgExecuteContract": - input_msg_encrypted = base64.b64decode(msg["value"]["msg"]) - elif msg["type"] == "wasm/MsgInstantiateContract": - input_msg_encrypted = base64.b64decode(msg["value"]["init_msg"]) - else: - continue + # Fill nonces array to later use it in output decryption + nonces[i] = nonce + except: + pass + # Not encrypted or can't decrypt because not original sender - input_msg_pubkey = input_msg_encrypted[32:64] - pub_key = await self._c.utils.get_pub_key() - if base64.b64encode(pub_key) == base64.b64encode(input_msg_pubkey): - # my pubkey, can decrypt - nonce = input_msg_pubkey[0:32] - - # decrypt input - input_msg = await self._c.utils.decrypt(input_msg_encrypted[:64], nonce) - - if msg["type"] == "wasm/MsgExecuteContract": - # decrypt input - txs_response["tx"]["value"]["msg"][i]["value"]["msg"] = input_msg - - # decrypt output data - # hack since only 1st message data is returned - if data_field and i == 0 and data_field[0]["data"]: - data = await self.decrypt_data_field( - bytearray.fromhex(base64.b64decode(data_field[0]["data"])), - [nonce], - ) - elif msg.type == "wasm/MsgInstantiateContract": - # decrypt input - txs_response["tx"]["value"]["msg"][0]["value"][ - "init_msg" - ] = input_msg - - # decrypt output logs - if txs_response.get("logs") and logs: - if "log" not in txs_response["logs"][i]: - logs[i]["log"] = "" - logs[i] = await self.decrypt_logs( - [txs_response["logs"][i]], [nonce] - )[0] - - # failed to execute message; message index: 0: encrypted: (.+?): (?:instantiate | execute | query) contract failed - # decrypt error const + decoded_tx.body.messages[i] = msg + + raw_log = txs_response['tx_response']['raw_log'] + json_log = None + array_log = None + + code = txs_response['tx_response']['code'] + if code == 0 and raw_log != '': + json_log = json.loads(raw_log) + + for i, _ in enumerate(json_log): + if 'msg_index' not in json_log[i] or not json_log[i]['msg_index']: + # See https://github.com/cosmos/cosmos-sdk/pull/11147 + json_log[i]['msg_index'] = i + + array_log = await self.decrypt_logs(json_log, nonces) + elif code != 0 and raw_log != '': + try: error_message_rgx = re.compile( - rf"failed to execute message; message index: {i}: encrypted: (.+?): (?:instantiate|execute|query) contract failed" + rf'; message index: (\d+):(?: dispatch: submessages:)* encrypted: (.+?): (?:instantiate|execute|query|reply to) contract failed' ) - rgx_matches = error_message_rgx.findall(txs_response["raw_log"]) - if rgx_matches and len(rgx_matches) == 2: - error_cipher_b64 = rgx_matches[1] + rgx_matches = error_message_rgx.findall(raw_log) + if rgx_matches and len(rgx_matches) == 3: + msg_index = int(rgx_matches[1]) + error_cipher_b64 = rgx_matches[2] error_cipher_bz = base64.b64decode(error_cipher_b64) - error_plain_bz = await self._c.utils.decrypt(error_cipher_bz, nonce) - txs_response["raw_log"] = txs_response["raw_log"].replace( - error_cipher_b64, error_plain_bz + error_plain_bz = await self._c.utils.decrypt(error_cipher_bz, nonces[msg_index]) + raw_log = raw_log.replace( + f'encrypted: {rgx_matches[2]}', error_plain_bz ) - txs_response = {k: v for k, v in txs_response.items()} - txs_response["logs"] = logs - txs_response["data"] = data - - return txs_response + try: + json_log = json.loads(error_plain_bz) + except: + pass + except: + pass + + tx_msg_data = [bytearray.fromhex(txs_response['tx_response']['data'])] + for i, data in enumerate(tx_msg_data): + nonce = nonces.get(i) + if nonce and len(nonces) == 32: + # Check if the message needs decryption + try: + msg_type = decoded_tx.body.messages[i].type_url + if msg_type == '/secret.compute.v1beta1.MsgInstantiateContract': + decoded = MsgInstantiateContractResponse(data['data']) + decrypted = await self.decrypt_data_field(data['data'], [nonce]) + data[i] = MsgInstantiateContractResponse( + address=decoded.address, + data=decrypted + ) + elif msg_type == '/secret.compute.v1beta1.MsgExecuteContract': + decoded = MsgExecuteContractResponse(data['data']) + decrypted = await self.decrypt_data_field(data['data'], [nonce]) + data[i] = MsgExecuteContractResponse( + data=decrypted + ) + except: + pass + + tx_resp = txs_response['tx_response'] + return { + 'height': int(tx_resp['height']), + 'timestamp': tx_resp['timestamp'], + 'transactionHash': tx_resp['txhash'], + 'code': tx_resp['code'], + 'tx': decoded_tx, + 'txBytes': tx_resp['tx'].get('value'), + 'rawLog': raw_log, + 'jsonLog': json_log, + 'arrayLog': array_log, + 'events': tx_resp['events'], + 'data': data, + 'gasUsed': int(tx_resp['gas_used']), + 'gasWanted': int(tx_resp['gas_wanted']), + } async def create( self, @@ -291,7 +436,7 @@ async def _broadcast( data["sequences"] = [str(i) for i in options.sequences] if options.fee_granter is not None and len(options.fee_granter) > 0: data["fee_granter"] = options.fee_granter - return await self._c._post("/txs", data, raw=True) + return await self._c._post("/txs", data) async def broadcast_sync( self, tx: StdTx, options: BroadcastOptions = None @@ -351,17 +496,57 @@ async def broadcast( codespace=res.get("codespace"), ) - async def search(self, options: dict = {}) -> SearchTxsResponse: + async def search( + self, events: List[list], params: Optional[APIParams] = None + ) -> dict: """Searches for transactions given criteria. Args: - options (dict, optional): dictionary containing options. Defaults to {}. + events (dict): dictionary containing options + params (APIParams): optional parameters Returns: dict: transaction search results """ - res = await self._c._get("/txs", options, raw=True) - return SearchTxsResponse.from_data(res) + + actual_params = CIMultiDict() + + for event in events: + if event == "tx.height": + actual_params.add("events", f"{event}={events[event]}") + else: + actual_params.add("events", f"{event}='{events[event]}'") + if params: + for p in params: + actual_params.add(p, params[p]) + + res = await self._c._get("/cosmos/tx/v1beta1/txs", actual_params) + return { + "txs": [TxInfo.from_data(tx) for tx in res.get("tx_responses")], + "pagination": res.get("pagination"), + } + + async def tx_infos_by_height(self, height: Optional[int] = None) -> List[TxInfo]: + """Fetches information for an included transaction given block height or latest + + Args: + height (int, optional): height to lookup. latest if height is None. + + Returns: + List[TxInfo]: transaction info + """ + if height is None: + x = "latest" + else: + x = height + + res = await self._c._get(f"/cosmos/base/tendermint/v1beta1/blocks/{x}") + + txs = res.get("block").get("data").get("txs") + hashes = [hash_amino(tx) for tx in txs] + return [ + await BaseAsyncAPI._try_await(self.tx_info(tx_hash)) for tx_hash in hashes + ] class TxAPI(AsyncTxAPI): @@ -443,7 +628,13 @@ def broadcast( broadcast.__doc__ = AsyncTxAPI.broadcast.__doc__ @sync_bind(AsyncTxAPI.search) - def search(self, options: dict = {}) -> SearchTxsResponse: + def search(self, events: List[list], params: Optional[APIParams] = None) -> dict: pass search.__doc__ = AsyncTxAPI.search.__doc__ + + @sync_bind(AsyncTxAPI.tx_infos_by_height) + def tx_infos_by_height(self, height: Optional[int] = None) -> List[TxInfo]: + pass + + tx_infos_by_height.__doc__ = AsyncTxAPI.tx_infos_by_height.__doc__ diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index 283d2e0..b95269e 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -18,7 +18,7 @@ async def list_code_info(self) -> list: Returns: list: codes information """ - return await self._c._get("/wasm/code") or [] + return await self._c._get("/compute/v1beta1/codes") or [] async def code_info(self, code_id: int) -> dict: """Fetches information about an uploaded code. @@ -29,7 +29,7 @@ async def code_info(self, code_id: int) -> dict: Returns: dict: code information """ - return await self._c._get(f"/wasm/code/{code_id}") + return await self._c._get(f"/compute/v1beta1/contracts/{code_id}") async def list_contracts_by_code_id(self, code_id: int) -> list: """Fetches information about an uploaded code. @@ -40,7 +40,7 @@ async def list_contracts_by_code_id(self, code_id: int) -> list: Returns: dict: code information """ - return await self._c._get(f"/wasm/code/{code_id}/contracts") or [] + return await self._c._get(f"/compute/v1beta1/contracts/{code_id}") or [] async def contract_info(self, contract_address: str) -> dict: """Fetches information about an instantiated contract. @@ -51,7 +51,7 @@ async def contract_info(self, contract_address: str) -> dict: Returns: dict: contract information """ - res = await self._c._get(f"/wasm/contract/{contract_address}") + res = await self._c._get(f"/compute/v1beta1/info/{contract_address}") return res async def contract_hash_by_code_id(self, code_id: int) -> str: @@ -63,7 +63,7 @@ async def contract_hash_by_code_id(self, code_id: int) -> str: Returns: dict: contract hash """ - contract_code_hash = await self._c._get(f"/wasm/code/{code_id}/hash") + contract_code_hash = await self._c._get(f"/compute/v1beta1/code_hash/{code_id}") return contract_code_hash async def contract_hash(self, contract_address: str) -> str: @@ -78,9 +78,9 @@ async def contract_hash(self, contract_address: str) -> str: if contract_address not in _contract_code_hash: contract_code_hash = await self._c._get( - f"/wasm/contract/{contract_address}/code-hash" + f"/compute/v1beta1/code_hash/{contract_address}" ) - _contract_code_hash[contract_address] = contract_code_hash + _contract_code_hash[contract_address] = contract_code_hash['code_hash'] return _contract_code_hash[contract_address] async def contract_query( @@ -105,8 +105,9 @@ async def contract_query( nonce = encrypted[0:32] encoded = base64.b64encode(bytes(encrypted)).hex() - query_path = f"/wasm/contract/{contract_address}/query/{encoded}?encoding=hex&height={height}" + # query_path = f"/wasm/contract/{contract_address}/query/{encoded}?encoding=hex&height={height}" + query_path = f"/compute/v1beta1/query/{contract_address}/query/{encoded}?encoding=hex&height={height}" query_result = await BaseAsyncAPI._try_await(self._c._get(query_path)) encoded_result = base64.b64decode(bytes(query_result["smart"], "utf-8")) decrypted = await BaseAsyncAPI._try_await( diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 6e8b338..9026ab8 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -3,28 +3,38 @@ from asyncio import AbstractEventLoop, get_event_loop from json import JSONDecodeError from threading import Lock -from typing import Optional, Union +from typing import Optional, Union, List import nest_asyncio from aiohttp import ClientSession +from multidict import CIMultiDict from secret_sdk.core import Coins, Dec, Numeric -from secret_sdk.core.auth import StdFee +from secret_sdk.core import StdFee from secret_sdk.exceptions import LCDResponseError from secret_sdk.key.key import Key from secret_sdk.util.json import dict_to_data from secret_sdk.util.url import urljoin from .api.auth import AsyncAuthAPI, AuthAPI +from .api.authz import AsyncAuthzAPI, AuthzAPI from .api.bank import AsyncBankAPI, BankAPI from .api.distribution import AsyncDistributionAPI, DistributionAPI +from .api.feegrant import AsyncFeeGrantAPI, FeeGrantAPI +from .api.gov import AsyncGovAPI, GovAPI +from .api.ibc import AsyncIbcAPI, IbcAPI +from .api.ibc_transfer import AsyncIbcTransferAPI, IbcTransferAPI +from .api.mint import AsyncMintAPI, MintAPI +from .api.slashing import AsyncSlashingAPI, SlashingAPI from .api.staking import AsyncStakingAPI, StakingAPI from .api.tendermint import AsyncTendermintAPI, TendermintAPI from .api.tx import AsyncTxAPI, TxAPI from .api.wasm import AsyncWasmAPI, WasmAPI from .lcdutils import AsyncLCDUtils, LCDUtils +from .params import APIParams from .wallet import AsyncWallet, Wallet + # default gas_price is 0.25, amount = gas * gas_price default_fees = { "upload": StdFee( @@ -68,17 +78,25 @@ def __init__( self.chain_id = chain_id self.url = url + self.last_request_height = None + self.gas_prices = Coins(gas_prices) self.gas_adjustment = gas_adjustment self.custom_fees = custom_fees - self.last_request_height = None self.auth = AsyncAuthAPI(self) self.bank = AsyncBankAPI(self) self.distribution = AsyncDistributionAPI(self) + self.feegrant = AsyncFeeGrantAPI(self) + self.gov = AsyncGovAPI(self) + self.mint = AsyncMintAPI(self) + self.authz = AsyncAuthzAPI(self) + self.slashing = AsyncSlashingAPI(self) self.staking = AsyncStakingAPI(self) self.tendermint = AsyncTendermintAPI(self) self.wasm = AsyncWasmAPI(self) + self.ibc = AsyncIbcAPI(self) + self.ibc_transfer = AsyncIbcTransferAPI(self) self.tx = AsyncTxAPI(self) self.utils = AsyncLCDUtils(self) @@ -91,8 +109,18 @@ def wallet(self, key: Key) -> AsyncWallet: return AsyncWallet(self, key) async def _get( - self, endpoint: str, params: Optional[dict] = None, raw: bool = False + self, + endpoint: str, + params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, + # raw: bool = False ): + if ( + params + and hasattr(params, "to_dict") + and callable(getattr(params, "to_dict")) + ): + params = params.to_dict() + async with self.session.get( urljoin(self.url, endpoint), params=params ) as response: @@ -101,12 +129,14 @@ async def _get( except JSONDecodeError: raise LCDResponseError(message=str(response.reason), response=response) if not 200 <= response.status < 299: - raise LCDResponseError(message=result.get("error"), response=response) - self.last_request_height = result.get("height") - return result if raw else result["result"] + raise LCDResponseError(message=str(result), response=response) + self.last_request_height = ( + result.get("height") if result else self.last_request_height + ) + return result # if raw else result["result"] async def _post( - self, endpoint: str, data: Optional[dict] = None, raw: bool = False + self, endpoint: str, data: Optional[dict] = None # , raw: bool = False ): async with self.session.post( urljoin(self.url, endpoint), json=data and dict_to_data(data) @@ -116,9 +146,43 @@ async def _post( except JSONDecodeError: raise LCDResponseError(message=str(response.reason), response=response) if not 200 <= response.status < 299: - raise LCDResponseError(message=result.get("error"), response=response) - self.last_request_height = result.get("height") - return result if raw else result["result"] + raise LCDResponseError(message=result.get("message"), response=response) + self.last_request_height = ( + result.get("height") if result else self.last_request_height + ) + return result # if raw else result["result"] + + async def _search( + self, + events: List[list], + params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, + # raw: bool = False + ): + + actual_params: CIMultiDict = CIMultiDict() + + for event in events: + if event[0] == "tx.height": + actual_params.add("events", f"{event[0]}={event[1]}") + else: + actual_params.add("events", f"{event[0]}='{event[1]}'") + if params: + for p in params: + actual_params.add(p, params[p]) + + async with self.session.get( + urljoin(self.url, "/cosmos/tx/v1beta1/txs"), params=actual_params + ) as response: + try: + result = await response.json(content_type=None) + except JSONDecodeError: + raise LCDResponseError(message=str(response.reason), response=response) + if not 200 <= response.status < 299: + raise LCDResponseError(message=str(result), response=response) + self.last_request_height = ( + result.get("height") if result else self.last_request_height + ) + return result # if raw else result["result"] async def __aenter__(self): return self @@ -149,25 +213,46 @@ class LCDClient(AsyncLCDClient): """Height of response of last-made made LCD request.""" auth: AuthAPI - """:class:`AuthAPI`.""" + """:class:`AuthAPI`.""" bank: BankAPI - """:class:`BankAPI`.""" + """:class:`BankAPI`.""" distribution: DistributionAPI - """:class:`DistributionAPI`.""" + """:class:`DistributionAPI`.""" + + gov: GovAPI + """:class:`GovAPI`.""" + + feegrant: FeeGrantAPI + """:class:`FeeGrant`.""" + + mint: MintAPI + """:class:`MintAPI`.""" + + authz: AuthzAPI + """:class:`AuthzAPI`.""" + + slashing: SlashingAPI + """:class:`SlashingAPI`.""" staking: StakingAPI - """:class:`StakingAPI`.""" + """:class:`StakingAPI`.""" tendermint: TendermintAPI - """:class:`TendermintAPI`.""" + """:class:`TendermintAPI`.""" wasm: WasmAPI - """:class:`WasmAPI`.""" + """:class:`WasmAPI`.""" tx: TxAPI - """:class:`TxAPI`.""" + """:class:`TxAPI`.""" + + ibc: IbcAPI + """:class:`IbcAPI`.""" + + ibc_transfer: IbcTransferAPI + """:class:`IbcTransferAPI`.""" def __init__( self, @@ -186,16 +271,23 @@ def __init__( _create_session=False, loop=nest_asyncio.apply(get_event_loop()), ) + self.lock = Lock() self.auth = AuthAPI(self) self.bank = BankAPI(self) self.distribution = DistributionAPI(self) + self.gov = GovAPI(self) + self.feegrant = FeeGrantAPI(self) + self.mint = MintAPI(self) + self.authz = AuthzAPI(self) + self.slashing = SlashingAPI(self) self.staking = StakingAPI(self) self.tendermint = TendermintAPI(self) self.wasm = WasmAPI(self) + self.ibc = IbcAPI(self) + self.ibc_transfer = IbcTransferAPI(self) self.tx = TxAPI(self) self.utils = LCDUtils(self) - self.lock = Lock() async def __aenter__(self): raise NotImplementedError( @@ -219,25 +311,35 @@ def wallet(self, key: Key) -> Wallet: # type: ignore async def _get(self, *args, **kwargs): # session has to be manually created and torn down for each HTTP request in a # synchronous client - with self.lock: - self.session = ClientSession( - headers={"Accept": "application/json"}, loop=self.loop - ) - try: - result = await super()._get(*args, **kwargs) - finally: - await self.session.close() + self.session = ClientSession( + headers={"Accept": "application/json"}, loop=self.loop + ) + try: + result = await super()._get(*args, **kwargs) + finally: + await self.session.close() return result async def _post(self, *args, **kwargs): # session has to be manually created and torn down for each HTTP request in a # synchronous client - with self.lock: - self.session = ClientSession( - headers={"Accept": "application/json"}, loop=self.loop - ) - try: - result = await super()._post(*args, **kwargs) - finally: - await self.session.close() + self.session = ClientSession( + headers={"Accept": "application/json"}, loop=self.loop + ) + try: + result = await super()._post(*args, **kwargs) + finally: + await self.session.close() + return result + + async def _search(self, *args, **kwargs): + # session has to be manually created and torn down for each HTTP request in a + # synchronous client + self.session = ClientSession( + headers={"Accept": "application/json"}, loop=self.loop + ) + try: + result = await super()._search(*args, **kwargs) + finally: + await self.session.close() return result diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/client/lcd/lcdutils.py index 725c115..51af68b 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/client/lcd/lcdutils.py @@ -71,10 +71,19 @@ async def validators_with_voting_power(self) -> Dict[str, dict]: validator_set_response = await BaseAsyncAPI._try_await( self._c.tendermint.validator_set() ) - validators = await BaseAsyncAPI._try_await(self._c.staking.validators()) - validator_set: Dict[str, Any] = reduce( - index_by_pub_key, validator_set_response["validators"], {} - ) + next_key = "" + while True: + from secret_sdk.client.lcd import PaginationOptions + + validators, pag = await BaseAsyncAPI._try_await( + self._c.staking.validators(PaginationOptions(key=next_key)) + ) + validator_set: Dict[str, Any] = reduce( + index_by_pub_key, validator_set_response["validators"], {} + ) + if pag is None or pag["next_key"] is None: + break + next_key = pag["next_key"] res = {} for v in validators: delegate_info = validator_set.get(v.consensus_pubkey["value"]) @@ -103,8 +112,8 @@ def generate_new_key_pair(self): return self.generate_new_key_pair_from_seed(self.generate_new_seed()) async def get_consensus_io_pubkey(self): - io_exch_pubkey = await BaseAsyncAPI._try_await(self._c._get("/reg/tx-key")) - io_exch_pubkey = io_exch_pubkey["TxKey"] + io_exch_pubkey = await BaseAsyncAPI._try_await(self._c._get("/registration/v1beta1/tx-key")) + io_exch_pubkey = io_exch_pubkey["key"] consensus_io_pubkey = base64.b64decode(io_exch_pubkey) return bytes([x for x in consensus_io_pubkey]) diff --git a/secret_sdk/client/lcd/params.py b/secret_sdk/client/lcd/params.py index 846f5bd..32f65bd 100644 --- a/secret_sdk/client/lcd/params.py +++ b/secret_sdk/client/lcd/params.py @@ -20,6 +20,7 @@ def to_list(self) -> list: class PaginationOptions(APIParams): """This could be used when you need pagination options for APIs + Args: key (str): key is a value returned in PageResponse.next_key to begin querying the next page most efficiently. Only one of offset or key @@ -63,4 +64,4 @@ def to_dict(self): params["pagination.count_total"] = str(self.count_total).lower() if self.reverse is not None: params["pagination.reverse"] = str(self.reverse).lower() - return params \ No newline at end of file + return params diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index c2caa31..97d391f 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -3,7 +3,7 @@ from typing import Dict, List, Optional from secret_sdk.core import AccAddress, Coins, Numeric -from secret_sdk.core.auth import StdFee, StdSignMsg, StdTx +from secret_sdk.core import StdFee, StdSignMsg, StdTx from secret_sdk.core.bank import MsgSend from secret_sdk.core.msg import Msg from secret_sdk.key.key import Key diff --git a/secret_sdk/core/__init__.py b/secret_sdk/core/__init__.py old mode 100644 new mode 100755 index 30a92f1..2c2befe --- a/secret_sdk/core/__init__.py +++ b/secret_sdk/core/__init__.py @@ -7,11 +7,42 @@ "AccAddress", "AccPubKey", "ValAddress", + "SimplePublicKey", + "LegacyAminoMultisigPublicKey", "ValConsPubKey", "ValPubKey", + "SignDoc", + "CompactBitArray", + "SignatureV2", + "MultiSignature", + "Tx", + "TxInfo", + "TxLog", + "ModeInfo", + "ModeInfoSingle", + "ModeInfoMulti", +] + [ + "StdSignature", + "StdFee", + "StdSignMsg", + "StdTx", + "SearchTxsResponse" ] +from .tx import StdSignature, StdFee, StdSignMsg, StdTx, SearchTxsResponse +from .bech32 import AccAddress, AccPubKey, ValAddress, ValPubKey from .coin import Coin from .coins import Coins +from .compact_bit_array import CompactBitArray +from .multisig import MultiSignature from .numeric import Dec, Numeric -from .strings import AccAddress, AccPubKey, ValAddress, ValConsPubKey, ValPubKey +from .public_key import ( + LegacyAminoMultisigPublicKey, + PublicKey, + SimplePublicKey, + ValConsPubKey, +) +from .sign_doc import SignDoc +from .signature_v2 import SignatureV2 +from .tx import ModeInfo, ModeInfoMulti, ModeInfoSingle, Tx, TxInfo, TxLog + diff --git a/secret_sdk/core/auth/__init__.py b/secret_sdk/core/auth/__init__.py old mode 100644 new mode 100755 index 3e62490..f499f34 --- a/secret_sdk/core/auth/__init__.py +++ b/secret_sdk/core/auth/__init__.py @@ -1,25 +1,18 @@ from .data import ( Account, - PublicKey, - SearchTxsResponse, - StdFee, - StdSignature, - StdSignMsg, - StdTx, - TxInfo, - TxLog, - parse_tx_logs, + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, +) + +from .msgs import ( + MsgCreateVestingAccount, ) __all__ = [ "Account", - "StdSignature", - "StdFee", - "StdSignMsg", - "StdTx", - "TxLog", - "TxInfo", - "PublicKey", - "parse_tx_logs", - "SearchTxsResponse", + "BaseAccount", + "ContinuousVestingAccount", + "DelayedVestingAccount", + "MsgCreateVestingAccount", ] diff --git a/secret_sdk/core/auth/data/__init__.py b/secret_sdk/core/auth/data/__init__.py old mode 100644 new mode 100755 index 48cfd1f..3ae0710 --- a/secret_sdk/core/auth/data/__init__.py +++ b/secret_sdk/core/auth/data/__init__.py @@ -1,25 +1,13 @@ from .account import Account -from .public_key import PublicKey -from .tx import ( - SearchTxsResponse, - StdFee, - StdSignature, - StdSignMsg, - StdTx, - TxInfo, - TxLog, - parse_tx_logs, -) +from .base_account import BaseAccount +from .continuous_vesting_account import ContinuousVestingAccount +from .delayed_vesting_account import DelayedVestingAccount + __all__ = [ "Account", - "StdSignature", - "StdFee", - "StdSignMsg", - "StdTx", - "TxLog", - "TxInfo", - "PublicKey", - "parse_tx_logs", - "SearchTxsResponse", + "Account", + "BaseAccount", + "ContinuousVestingAccount", + "DelayedVestingAccount" ] diff --git a/secret_sdk/core/auth/data/account.py b/secret_sdk/core/auth/data/account.py old mode 100644 new mode 100755 index 51bf2c5..a2af03c --- a/secret_sdk/core/auth/data/account.py +++ b/secret_sdk/core/auth/data/account.py @@ -1,53 +1,49 @@ -"""Data objects pertaining to accounts.""" +from abc import ABC, abstractmethod -from __future__ import annotations - -from typing import Optional - -import attr - -from secret_sdk.core import AccAddress +from secret_sdk.core.public_key import PublicKey from secret_sdk.util.json import JSONSerializable -from .public_key import PublicKey - -__all__ = ["Account"] +from .base_account import BaseAccount +from .continuous_vesting_account import ContinuousVestingAccount +from .delayed_vesting_account import DelayedVestingAccount -@attr.s -class Account(JSONSerializable): - """Stores information about an account.""" +class Account(JSONSerializable, ABC): + @abstractmethod + def get_account_number(self) -> int: + pass - address: AccAddress = attr.ib() - """""" + @abstractmethod + def get_sequence(self) -> int: + pass - public_key: Optional[PublicKey] = attr.ib() - """""" + @abstractmethod + def get_public_key(self) -> PublicKey: + pass - account_number: int = attr.ib(converter=int) - """""" - - sequence: int = attr.ib(converter=int) - """""" + @classmethod + def from_amino(cls, amino: dict): # -> Account: + if amino["type"] == BaseAccount.type_amino: + return BaseAccount.from_amino(amino) + elif amino["type"] == ContinuousVestingAccount.type_amino: + return ContinuousVestingAccount.from_amino(amino) + elif amino["type"] == DelayedVestingAccount.type_amino: + return DelayedVestingAccount.from_amino(amino) - def to_data(self) -> dict: - return { - "type": "cosmos-sdk/BaseAccount", - "value": { - "address": self.address, - "public_key": self.public_key and self.public_key.to_data(), - "account_number": str(self.account_number), - "sequence": str(self.sequence), - }, - } + @classmethod + def from_data(cls, data: dict): # -> Account: + if data["@type"] == BaseAccount.type_url: + return BaseAccount.from_data(data) + elif data["@type"] == ContinuousVestingAccount.type_url: + return ContinuousVestingAccount.from_data(data) + elif data["@type"] == DelayedVestingAccount.type_url: + return DelayedVestingAccount.from_data(data) @classmethod - def from_data(cls, data: dict) -> Account: - data = data["value"] - return cls( - address=data["address"], - public_key=data.get("public_key") - and PublicKey.from_data(data["public_key"]), - account_number=data.get("account_number") or 0, - sequence=data.get("sequence") or 0, - ) + def from_proto(cls, data: dict): # -> Account: + if data["@type"] == BaseAccount.type_url: + return BaseAccount.from_proto(data) + elif data["@type"] == ContinuousVestingAccount.type_url: + return ContinuousVestingAccount.from_proto(data) + elif data["@type"] == DelayedVestingAccount.type_url: + return DelayedVestingAccount.from_proto(data) diff --git a/secret_sdk/core/auth/data/base_account.py b/secret_sdk/core/auth/data/base_account.py new file mode 100755 index 0000000..0fefd4f --- /dev/null +++ b/secret_sdk/core/auth/data/base_account.py @@ -0,0 +1,101 @@ +"""Data objects pertaining to accounts.""" + +from __future__ import annotations + +from typing import Optional + +import attr +from ....protobuf.cosmos.auth.v1beta1 import BaseAccount as BaseAccount_pb + +from ....core import AccAddress +from ....util.json import JSONSerializable +from ...public_key import PublicKey + +__all__ = ["BaseAccount"] + + +@attr.s +class BaseAccount(JSONSerializable): + """Stores information about an account.""" + + type_amino = "cosmos-sdk/BaseAccount" + type_url = "/cosmos.auth.v1beta1.BaseAccount" + + address: AccAddress = attr.ib() + """""" + + public_key: Optional[PublicKey] = attr.ib() + """""" + + account_number: int = attr.ib(converter=int) + """""" + + sequence: int = attr.ib(converter=int) + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "address": self.address, + "public_key": self.public_key.to_amino() if self.public_key else None, + "account_number": str(self.account_number), + "sequence": str(self.sequence), + }, + } + + @classmethod + def from_amino(cls, amino: dict) -> BaseAccount: + amino = amino["value"] if "value" in amino else amino + return cls( + address=amino["address"], + public_key=PublicKey.from_amino(amino["public_key"]) + if amino["public_key"] + else None, + account_number=amino["account_number"], + sequence=amino["sequence"], + ) + + def get_account_number(self) -> int: + return self.account_number + + def get_sequence(self) -> int: + return self.sequence + + def get_public_key(self) -> PublicKey: + return self.public_key + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "address": self.address, + "pub_key": self.public_key and self.public_key.to_data(), + "account_number": str(self.account_number), + "sequence": str(self.sequence), + } + + @classmethod + def from_data(cls, data: dict) -> BaseAccount: + return cls( + address=data["address"], + public_key=data.get("pub_key") and PublicKey.from_data(data["pub_key"]), + account_number=data.get("account_number") or 0, + sequence=data.get("sequence") or 0, + ) + + @classmethod + def from_proto(cls, proto: BaseAccount_pb) -> BaseAccount: + return cls( + address=proto.address, + public_key=PublicKey.from_proto(proto.pub_key), + account_number=proto.account_number, + sequence=proto.sequence, + ) + + def to_proto(self) -> BaseAccount_pb: + return BaseAccount_pb( + address=self.address, + pub_key=self.public_key.to_proto() if self.public_key else None, + account_number=self.account_number, + sequence=self.sequence, + ) diff --git a/secret_sdk/core/auth/data/base_vesting_account.py b/secret_sdk/core/auth/data/base_vesting_account.py new file mode 100755 index 0000000..eab2374 --- /dev/null +++ b/secret_sdk/core/auth/data/base_vesting_account.py @@ -0,0 +1,115 @@ +"""Data objects pertaining to accounts.""" + +from __future__ import annotations + +import attr +from ....protobuf.cosmos.vesting.v1beta1 import ( + BaseVestingAccount as BaseVestingAccount_pb, +) + +from secret_sdk.core import Coins +from secret_sdk.util.json import JSONSerializable + +from ...public_key import PublicKey +from .base_account import BaseAccount + +__all__ = ["BaseVestingAccount"] + + +@attr.s +class BaseVestingAccount(JSONSerializable): + """Stores information about an account with vesting.""" + + base_account: BaseAccount = attr.ib() + + original_vesting: Coins = attr.ib(converter=Coins) + """""" + + delegated_free: Coins = attr.ib(converter=Coins) + """""" + + delegated_vesting: Coins = attr.ib(converter=Coins) + """""" + + end_time: int = attr.ib(converter=int) + """""" + + type_amino = "cosmos-sdk/BaseVestingAccount" + type_url = "/cosmos.vesting.v1beta1.BaseVestingAccount" + + def get_sequence(self) -> int: + return self.base_account.get_sequence() + + def get_account_number(self) -> int: + return self.base_account.get_account_number() + + def get_public_key(self) -> PublicKey: + return self.base_account.get_public_key() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "base_account": self.base_account.to_amino(), + "original_vesting": self.original_vesting.to_amino(), + "delegated_free": self.delegated_free.to_amino(), + "delegated_vesting": self.delegated_vesting.to_amino(), + "end_time": str(self.end_time), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "base_account": self.base_account.to_data(), + "original_vesting": self.original_vesting.to_data(), + "delegated_free": self.delegated_free.to_data(), + "delegated_vesting": self.delegated_vesting.to_data(), + "end_time": str(self.end_time), + } + + @classmethod + def from_amino(cls, amino: dict) -> BaseVestingAccount: + amino = amino["value"] if "value" in amino else amino + return cls( + base_account=BaseAccount.from_amino(amino["base_account"]), + original_vesting=Coins.from_amino(amino["original_vesting"]) + if amino["original_vesting"] + else None, + delegated_free=Coins.from_amino(amino["delegated_free"]) + if amino["delegated_free"] + else None, + delegated_vesting=Coins.from_amino(amino["delegated_vesting"]) + if amino["delegated_vesting"] + else None, + end_time=amino["end_time"], + ) + + @classmethod + def from_data(cls, data: dict) -> BaseVestingAccount: + return cls( + base_account=BaseAccount.from_data(data["base_account"]), + original_vesting=Coins.from_data(data["original_vesting"]), + delegated_free=Coins.from_data(data["delegated_free"]), + delegated_vesting=Coins.from_data(data["delegated_vesting"]), + end_time=data["end_time"], + ) + + @classmethod + def from_proto(cls, proto: BaseVestingAccount_pb) -> BaseVestingAccount: + return cls( + base_account=BaseAccount.from_proto(proto.base_account), + original_vesting=Coins.from_proto(proto.original_vesting), + delegated_free=Coins.from_proto(proto.delegated_free), + delegated_vesting=Coins.from_proto(proto.delegated_vesting), + end_time=proto.end_time, + ) + + def to_proto(self) -> BaseVestingAccount_pb: + return BaseVestingAccount_pb( + base_account=self.base_account.to_proto(), + original_vesting=self.original_vesting.to_proto(), + delegated_free=self.delegated_free.to_proto(), + delegated_vesting=self.delegated_vesting.to_proto(), + end_time=self.end_time, + ) diff --git a/secret_sdk/core/auth/data/continuous_vesting_account.py b/secret_sdk/core/auth/data/continuous_vesting_account.py new file mode 100755 index 0000000..4f9c2e4 --- /dev/null +++ b/secret_sdk/core/auth/data/continuous_vesting_account.py @@ -0,0 +1,83 @@ +"""Data objects pertaining to accounts.""" + +from __future__ import annotations + +import attr +from ....protobuf.cosmos.vesting.v1beta1 import ( + ContinuousVestingAccount as ContinuousVestingAccount_pb, +) + +from ...public_key import PublicKey +from .base_vesting_account import BaseVestingAccount + +__all__ = ["ContinuousVestingAccount"] + + +@attr.s +class ContinuousVestingAccount: + """Stores information about an account with continuous vesting.""" + + base_vesting_account: BaseVestingAccount = attr.ib() + start_time: int = attr.ib() + + type_amino = "cosmos-sdk/ContinuousVestingAccount" + type_url = "/cosmos.vesting.v1beta1.ContinuousVestingAccount" + + def get_sequence(self) -> int: + return self.base_vesting_account.get_sequence() + + def get_account_number(self) -> int: + return self.base_vesting_account.get_account_number() + + def get_public_key(self) -> PublicKey: + return self.base_vesting_account.get_public_key() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "base_vesting_account": self.base_vesting_account.to_amino(), + "start_time": str(self.start_time), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "base_vesting_account": self.base_vesting_account.to_data(), + "start_time": str(self.start_time), + } + + def to_proto(self) -> ContinuousVestingAccount_pb: + return ContinuousVestingAccount_pb( + base_vesting_account=self.base_vesting_account.to_proto(), + start_time=self.start_time, + ) + + @classmethod + def from_amino(cls, amino: dict) -> ContinuousVestingAccount: + amino = amino["value"] + return cls( + base_vesting_account=BaseVestingAccount.from_amino( + amino["base_vesting_account"] + ), + start_time=amino["start_time"], + ) + + @classmethod + def from_data(cls, data: dict) -> ContinuousVestingAccount: + return cls( + base_vesting_account=BaseVestingAccount.from_data( + data["base_vesting_account"] + ), + start_time=data["start_time"], + ) + + @classmethod + def from_proto(cls, proto: ContinuousVestingAccount_pb) -> ContinuousVestingAccount: + return cls( + base_vesting_account=BaseVestingAccount.from_proto( + proto.base_vesting_account + ), + start_time=proto.start_time, + ) diff --git a/secret_sdk/core/auth/data/delayed_vesting_account.py b/secret_sdk/core/auth/data/delayed_vesting_account.py new file mode 100755 index 0000000..93d703b --- /dev/null +++ b/secret_sdk/core/auth/data/delayed_vesting_account.py @@ -0,0 +1,80 @@ +"""Data objects pertaining to accounts.""" + +from __future__ import annotations + + +import attr +from ....protobuf.cosmos.vesting.v1beta1 import ( + DelayedVestingAccount as DelayedVestingAccount_pb, +) + +from ...public_key import PublicKey +from .base_vesting_account import BaseVestingAccount + +__all__ = ["DelayedVestingAccount"] + + +@attr.s +class DelayedVestingAccount: + """Stores information about an account with delayed vesting.""" + + base_vesting_account: BaseVestingAccount = attr.ib() + + type_amino = "cosmos-sdk/DelayedVestingAccount" + type_url = "/cosmos.vesting.v1beta1.DelayedVestingAccount" + + def get_sequence(self) -> int: + return self.base_vesting_account.get_sequence() + + def get_account_number(self) -> int: + return self.base_vesting_account.get_account_number() + + def get_public_key(self) -> PublicKey: + return self.base_vesting_account.get_public_key() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "base_vesting_account": self.base_vesting_account.to_amino(), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "base_vesting_account": self.base_vesting_account.to_data(), + } + + def to_proto(self) -> DelayedVestingAccount_pb: + return DelayedVestingAccount_pb( + base_vesting_account=self.base_vesting_account.to_proto(), + ) + + @classmethod + def from_amino(cls, amino: dict) -> DelayedVestingAccount: + amino = amino["value"] + return cls( + base_vesting_account=BaseVestingAccount.from_amino( + { + "type": BaseVestingAccount.type_amino, + "value": amino["base_vesting_account"], + } + ) + ) + + @classmethod + def from_data(cls, data: dict) -> DelayedVestingAccount: + return cls( + base_vesting_account=BaseVestingAccount.from_data( + data["base_vesting_account"] + ) + ) + + @classmethod + def from_proto(cls, proto: DelayedVestingAccount_pb) -> DelayedVestingAccount: + return cls( + base_vesting_account=BaseVestingAccount.from_proto( + proto.base_vesting_account + ) + ) diff --git a/secret_sdk/core/auth/data/public_key.py b/secret_sdk/core/auth/data/public_key.py deleted file mode 100644 index c789d9d..0000000 --- a/secret_sdk/core/auth/data/public_key.py +++ /dev/null @@ -1,44 +0,0 @@ -from __future__ import annotations - -from typing import Optional, Union - -import attr - -from secret_sdk.util.json import JSONSerializable - -__all__ = ["PublicKey"] - - -@attr.s -class PublicKey(JSONSerializable): - """Data object holding the public key component of an account or signature.""" - - SIMPLE: str = "tendermint/PubKeySecp256k1" - """Normal signature public key type.""" - - MULTISIG: str = "tendermint/PubKeyMultisigThreshold" - """Multisig public key type.""" - - type: str = attr.ib() - """Either :data:`PublicKey.SIMPLE` or :data:`PublicKey.MULTISIG`.""" - - value: Optional[Union[str, dict]] = attr.ib() - """""" - - def to_data(self) -> dict: - if self.type == self.SIMPLE and isinstance(self.value, str): - return {"type": self.type, "value": self.value} - elif self.type == self.MULTISIG and not isinstance(self.value, str): - return {"type": self.type, "value": self.value} - else: - raise TypeError( - f"could not marshal PublicKey: type and value are incorrect {self.type} {self.value}" - ) - - @classmethod - def from_data(cls, data: dict) -> PublicKey: - if data is None: - return None - if isinstance(data, (str,)): - return cls(PublicKey.SIMPLE, data) - return cls(data["type"], data.get("value")) diff --git a/secret_sdk/core/auth/data/tx.py b/secret_sdk/core/auth/data/tx.py deleted file mode 100644 index a2b5325..0000000 --- a/secret_sdk/core/auth/data/tx.py +++ /dev/null @@ -1,338 +0,0 @@ -"""Data objects pertaining to building, signing, and parsing Transactions.""" - -from __future__ import annotations - -from typing import Dict, List, Optional - -import attr - -from secret_sdk.core.coins import Coins -from secret_sdk.core.msg import Msg -from secret_sdk.util.json import JSONSerializable - -from .public_key import PublicKey - -__all__ = [ - "StdSignature", - "StdFee", - "StdSignMsg", - "StdTx", - "TxLog", - "TxInfo", - "parse_tx_logs", - "SearchTxsResponse", -] - - -@attr.s -class StdSignature(JSONSerializable): - """Data structure holding information for a transaction signature.""" - - signature: str = attr.ib() - """Actual signature contents.""" - - pub_key: Optional[PublicKey] = attr.ib() - """Signature's public key information.""" - - @classmethod - def from_data(cls, data: dict) -> StdSignature: - return cls( - signature=data["signature"], - pub_key=data.get("pub_key") and PublicKey.from_data(data["pub_key"]), - ) - - -@attr.s -class StdFee(JSONSerializable): - """Data structure holding information for a transaction fee. - - Args: - gas (int): gas to use ("gas requested") - amount (Coins.Input): fee amount - """ - - gas: int = attr.ib(converter=int) - amount: Coins = attr.ib(converter=Coins) - - @classmethod - def from_data(cls, data: dict) -> StdFee: - return cls(int(data["gas"]), Coins.from_data(data["amount"])) - - def to_data(self) -> dict: - return {"gas": str(self.gas), "amount": self.amount.to_data()} - - @property - def gas_prices(self) -> Coins: - return self.amount.to_dec_coins().div(self.gas) - - -@attr.s -class StdSignMsg(JSONSerializable): - """Data structure holding information which can be signed to create a :class:`StdTx`. - - .. note:: - This object can be considered an "unsigned transaction". - - Args: - chain_id (str): chain ID - account_number (int): account number - sequence (int): sequence number - fee (StdFee): transaction fee - msgs (List[Msg]): list of messages to include - memo (str): transaction memo - """ - - chain_id: str = attr.ib() - account_number: int = attr.ib(converter=int) - sequence: int = attr.ib(converter=int) - fee: StdFee = attr.ib() - msgs: List[Msg] = attr.ib() - memo: str = attr.ib() - - def to_stdtx(self) -> StdTx: - return StdTx(self.msgs, self.fee, [], self.memo) - - def to_data(self) -> dict: - return { - "chain_id": self.chain_id, - "account_number": str(self.account_number), - "sequence": str(self.sequence), - "fee": self.fee.to_data(), - "msgs": [m.to_data() for m in self.msgs], - "memo": self.memo, - } - - @classmethod - def from_data(cls, data: dict) -> StdSignMsg: - return cls( - data["chain_id"], - int(data["account_number"]), - int(data["sequence"]), - StdFee.from_data(data["fee"]), - [Msg.from_data(m) for m in data["msgs"]], - data["memo"], - ) - - -@attr.s -class StdTx(JSONSerializable): - """Data structure for a transaction which can be broadcasted. - - Args: - msg: list of messages to include in transaction - fee: fee to use for transaction - signatures: list of signatures - memo: transaction memo - timeout_height: - """ - - msg: List[Msg] = attr.ib() - fee: StdFee = attr.ib() - signatures: List[StdSignature] = attr.ib() - memo: str = attr.ib() - # timeout_height: Optional[int] = attr.ib(default=None) - - def to_data(self) -> dict: - return { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [m.to_data() for m in self.msg], - "fee": self.fee.to_data(), - "signatures": [s.to_data() for s in self.signatures], - "memo": self.memo, - # "timeout_height": self.timeout_height if self.timeout_height else 0, - }, - } - - @classmethod - def from_data(cls, data: dict) -> StdTx: - data = data["value"] - return cls( - [Msg.from_data(m) for m in data["msg"]], - StdFee.from_data(data["fee"]), - [StdSignature.from_data(s) for s in data["signatures"]], - data["memo"], - # data["timeout_height"], - ) - - -def parse_events_by_type(event_data: List[dict]) -> Dict[str, Dict[str, List[str]]]: - events: Dict[str, Dict[str, List[str]]] = {} - for ev in event_data: - for att in ev["attributes"]: - if ev["type"] not in events: - events[ev["type"]] = {} - if att["key"] not in events[ev["type"]]: - events[ev["type"]][att["key"]] = [] - events[ev["type"]][att["key"]].append(att.get("value")) - return events - - -@attr.s -class TxLog(JSONSerializable): - """Object containing the events of a transaction that is automatically generated when - :class:`TxInfo` or :class:`BlockTxBroadcastResult` objects are read.""" - - msg_index: int = attr.ib(converter=int) - """Number of the message inside the transaction that it was included in.""" - - log: str = attr.ib() - """This field may be populated with details of the message's error, if any.""" - - events: List[dict] = attr.ib() - """Raw event log data""" - - events_by_type: Dict[str, Dict[str, List[str]]] = attr.ib(init=False) - """Event log data, re-indexed by event type name and attribute type. - - For instance, the event type may be: ``store_code`` and an attribute key could be - ``code_id``. - - >>> logs[0].events_by_type[""][""] - ['', ''] - """ - - def __attrs_post_init__(self): - self.events_by_type = parse_events_by_type(self.events) - - -def parse_tx_logs(logs) -> Optional[List[TxLog]]: - return ( - [ - TxLog(msg_index=i, log=log.get("log"), events=log.get("events")) - for i, log in enumerate(logs) - ] - if logs - else None - ) - - -@attr.s -class TxInfo(JSONSerializable): - """Holds information pertaining to a transaction which has been included in a block - on the blockchain. - - .. note:: - Users are not expected to create this object directly. It is returned by - :meth:`TxAPI.tx_info()` - """ - - height: int = attr.ib(converter=int) - """Block height at which transaction was included.""" - - txhash: str = attr.ib() - """Transaction hash.""" - - rawlog: str = attr.ib() - """Event log information as a raw JSON-string.""" - - logs: Optional[List[TxLog]] = attr.ib() - """Event log information.""" - - gas_wanted: int = attr.ib(converter=int) - """Gas requested by transaction.""" - - gas_used: int = attr.ib(converter=int) - """Actual gas amount used.""" - - tx: StdTx = attr.ib() - """Transaction object.""" - - timestamp: str = attr.ib() - """Time at which transaction was included.""" - - code: Optional[int] = attr.ib(default=None) - """If this field is not ``None``, the transaction failed at ``DeliverTx`` stage.""" - - codespace: Optional[str] = attr.ib(default=None) - """Error subspace (used alongside ``code``).""" - - def to_data(self) -> dict: - data = { - "height": str(self.height), - "txhash": self.txhash, - "raw_log": self.rawlog, - "logs": [log.to_data() for log in self.logs] if self.logs else None, - "gas_wanted": str(self.gas_wanted), - "gas_used": str(self.gas_used), - "timestamp": self.timestamp, - "tx": self.tx.to_data(), - "code": self.code, - "codespace": self.codespace, - } - - if not self.logs: - del data["logs"] - - if not self.code: - del data["code"] - - if not self.codespace: - del data["codespace"] - - return data - - @classmethod - def from_data(cls, data: dict) -> TxInfo: - return cls( - data["height"], - data["txhash"], - data["raw_log"], - parse_tx_logs(data.get("logs")), - data["gas_wanted"], - data["gas_used"], - StdTx.from_data(data["tx"]), - data["timestamp"], - data.get("code"), - data.get("codespace"), - ) - - -@attr.s -class SearchTxsResponse(JSONSerializable): - """Holds information of the result of a search tx query - - .. note:: - Users are not expected to create this object directly. It is returned by - :meth:`TxAPI.search()` - """ - - total_count: int = attr.ib(converter=int) - """Total number of txs found""" - - count: int = attr.ib(converter=int) - """Number of txs in the page""" - - page_number: int = attr.ib(converter=int) - """Page number of the page""" - - page_total: int = attr.ib(converter=int) - """Total number of pages""" - - limit: int = attr.ib(converter=int) - """Maximum amount of transactions in the page""" - - txs: List[TxInfo] = attr.ib() - """Transaction list for the page""" - - def to_data(self) -> dict: - data = { - "total_count": str(self.total_count), - "count": str(self.count), - "page_number": str(self.page_number), - "page_total": str(self.page_total), - "limit": str(self.limit), - "txs": [tx.to_data() for tx in self.txs] if self.txs else None, - } - return data - - @classmethod - def from_data(cls, data: dict) -> SearchTxsResponse: - return cls( - data["total_count"], - data.get("count", 0), - data["page_number"], - data["page_total"], - data["limit"], - [TxInfo.from_data(m) for m in data.get("txs", [])], - ) diff --git a/secret_sdk/core/auth/msgs/__init__.py b/secret_sdk/core/auth/msgs/__init__.py new file mode 100755 index 0000000..a872c18 --- /dev/null +++ b/secret_sdk/core/auth/msgs/__init__.py @@ -0,0 +1,5 @@ +from .msg_create_vesting_account import MsgCreateVestingAccount + +__all__ = [ + "MsgCreateVestingAccount", +] diff --git a/secret_sdk/core/auth/msgs/msg_create_vesting_account.py b/secret_sdk/core/auth/msgs/msg_create_vesting_account.py new file mode 100755 index 0000000..5b31969 --- /dev/null +++ b/secret_sdk/core/auth/msgs/msg_create_vesting_account.py @@ -0,0 +1,88 @@ +"""Auth mdoule message types.""" + +from __future__ import annotations + +from ....protobuf.cosmos.vesting.v1beta1 import ( + MsgCreateVestingAccount as MsgCreateVestingAccount_pb, +) + +from secret_sdk.core import AccAddress, Coins +from secret_sdk.core.msg import Msg + +__all__ = ["MsgCreateVestingAccount"] + +import attr + + +@attr.s +class MsgCreateVestingAccount(Msg): + """MsgCreateVestingAccount defines a message that enables creating a vesting. + + Args: + from_address (AccAddress): account to create a vesting account + to_address (AccAddress): vesting account + amount (Coins): vesting amount + end_time (int): vesting end time + delayed (bool): all coins are vested once end time is reached + """ + + type_amino = "cosmos-sdk/MsgCreateVestingAccount" + type_url = "/cosmos.vesting.v1beta1.MsgCreateVestingAccount" + prototype = MsgCreateVestingAccount_pb + + from_address: AccAddress = attr.ib() + to_address: AccAddress = attr.ib() + amount: Coins = attr.ib(converter=Coins) + end_time: int = attr.ib() + delayed: bool = attr.ib() + + def to_amino(self) -> dict : + return { + "type": self.type_amino, + "value": { + "from_address": self.from_address, + "to_address": self.to_address, + "amount": self.amount.to_amino(), + "end_time" : str(self.end_time), + "delayed" : self.delayed + }, + } + + @classmethod + def from_data(cls, data:dict) -> MsgCreateVestingAccount: + return cls( + from_address=data["from_address"], + to_address=data["to_address"], + amount=Coins.from_data(data["amount"]), + end_time=int(data["end_time"]), + delayed=data["delayed"] + ) + + def to_data(self) -> dict : + return { + "@type": self.type_url, + "from_address": self.from_address, + "to_address": self.to_address, + "amount": self.amount.to_data(), + "end_time": str(self.end_time), + "delayed" : self.delayed + } + + @classmethod + def from_proto(cls, proto : MsgCreateVestingAccount_pb) -> MsgCreateVestingAccount: + return cls( + from_address = proto.from_address, + to_address = proto.to_address, + amount = Coins.from_proto(proto.amount), + end_time = proto.end_time, + delayed = proto.delayed + ) + + def to_proto(self) -> MsgCreateVestingAccount_pb : + proto = MsgCreateVestingAccount_pb() + proto.from_address = self.from_address + proto.to_address = self.to_address + proto.amount = [c.to_proto() for c in self.amount] + proto.end_time = self.end_time + proto.delayed = self.delayed + return proto \ No newline at end of file diff --git a/secret_sdk/core/authz/__init__.py b/secret_sdk/core/authz/__init__.py new file mode 100755 index 0000000..87236c0 --- /dev/null +++ b/secret_sdk/core/authz/__init__.py @@ -0,0 +1,19 @@ +from .data import ( + Authorization, + AuthorizationGrant, + GenericAuthorization, + SendAuthorization, + StakeAuthorization, +) +from .msgs import MsgExecAuthorized, MsgGrantAuthorization, MsgRevokeAuthorization + +__all__ = [ + "MsgExecAuthorized", + "MsgGrantAuthorization", + "MsgRevokeAuthorization", + "Authorization", + "SendAuthorization", + "GenericAuthorization", + "StakeAuthorization", + "AuthorizationGrant", +] diff --git a/secret_sdk/core/authz/data.py b/secret_sdk/core/authz/data.py new file mode 100755 index 0000000..69c29f8 --- /dev/null +++ b/secret_sdk/core/authz/data.py @@ -0,0 +1,294 @@ +"""Authz module data types.""" + +from __future__ import annotations + +from datetime import datetime +from typing import List, Optional + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from dateutil import parser +from secret_sdk.protobuf.cosmos.authz.v1beta1 import ( + GenericAuthorization as GenericAuthorization_pb, +) +from secret_sdk.protobuf.cosmos.authz.v1beta1 import Grant as Grant_pb +from secret_sdk.protobuf.cosmos.bank.v1beta1 import SendAuthorization as SendAuthorization_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import AuthorizationType +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + StakeAuthorization as StakeAuthorization_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + StakeAuthorizationValidators as StakeAuthorizationValidators_pb, +) + +from secret_sdk.core import AccAddress, Coin, Coins +from secret_sdk.util.base import BaseSecretData +from secret_sdk.util.converter import to_isoformat +from secret_sdk.util.json import JSONSerializable + +__all__ = [ + "Authorization", + "SendAuthorization", + "GenericAuthorization", + "StakeAuthorization", + "AuthorizationGrant", + "AuthorizationType", +] + + +class Authorization(BaseSecretData): + """Base class for authorization types.""" + + @staticmethod + def from_amino(amino: dict) -> Authorization: + from secret_sdk.util.parse_authorization import parse_authorization_amino + + return parse_authorization_amino(amino) + + @staticmethod + def from_data(data: dict) -> Authorization: + from secret_sdk.util.parse_authorization import parse_authorization + + return parse_authorization(data) + + @staticmethod + def from_proto(proto: Any_pb) -> Authorization: + from secret_sdk.util.parse_authorization import parse_authorization_proto + + return parse_authorization_proto(proto) + + @staticmethod + def unpack_any(proto: Any_pb) -> Authorization: + from secret_sdk.util.parse_authorization import parse_authorization_unpack_any + + return parse_authorization_unpack_any(proto) + + +@attr.s +class SendAuthorization(Authorization): + """Type of :class:`Authorization` for :class:`MsgSend`, + which can be parameterized by setting a ``spend_limit`` allowance for the grantee. + + Args: + spend_limit (Coins.Input): coins representing allowance of grant + """ + + type_amino = "cosmos-sdk/SendAuthorization" + """""" + type_url = "/cosmos.bank.v1beta1.SendAuthorization" + """""" + prototype = SendAuthorization_pb + """""" + + spend_limit: Coins = attr.ib(converter=Coins) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": {"spend_limit": self.spend_limit.to_amino()}, + } + + def to_data(self) -> dict: + return {"@type": self.type_url, "spend_limit": self.spend_limit.to_data()} + + @classmethod + def from_data(cls, data: dict) -> SendAuthorization: + return cls(spend_limit=Coins.from_data(data["spend_limit"])) + + def to_proto(self) -> SendAuthorization_pb: + return SendAuthorization_pb(spend_limit=self.spend_limit.to_proto()) + + @classmethod + def from_proto(cls, proto: SendAuthorization_pb) -> SendAuthorization: + return cls(spend_limit=Coins.from_proto(proto.spend_limit)) + + @classmethod + def from_amino(cls, amino: dict) -> SendAuthorization: + value = amino["value"] + return cls(spend_limit=Coins.from_amino(value["spend_limit"])) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + +@attr.s +class GenericAuthorization(Authorization): + """Generic type of :class:`Authorization`, specifying the type of message to allow. + + Args: + msg: type of message allowed by authorization""" + + type_amino = "cosmos-sdk/GenericAuthorization" + """""" + type_url = "/cosmos.authz.v1beta1.GenericAuthorization" + """""" + prototype = GenericAuthorization_pb + """""" + + msg: str = attr.ib() + + def to_amino(self) -> dict: + return {"type": self.type_amino, "value": {"msg": self.msg}} + + def to_data(self) -> dict: + return {"@type": self.type_url, "msg": self.msg} + + @classmethod + def from_data(cls, data: dict) -> GenericAuthorization: + return cls(msg=data["msg"]) + + def to_proto(self) -> GenericAuthorization_pb: + return GenericAuthorization_pb(msg=self.msg) + + @classmethod + def from_proto(cls, proto: GenericAuthorization_pb) -> GenericAuthorization: + return cls(msg=proto.msg) + + @classmethod + def from_amino(cls, amino: dict) -> GenericAuthorization: + value = amino["value"] + return cls(msg=value["msg"]) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + +@attr.s +class AuthorizationGrant(JSONSerializable): + """Contains information about an existing granted authorization between two users.""" + + authorization: Authorization = attr.ib() + """Grant authorization details.""" + + expiration: datetime = attr.ib(converter=parser.parse) + """Grant expiration.""" + + def to_amino(self) -> dict: + return { + "authorization": self.authorization.to_amino(), + "expiration": to_isoformat(self.expiration), + } + + def to_data(self) -> dict: + return { + "authorization": self.authorization.to_data(), + "expiration": to_isoformat(self.expiration), + } + + @classmethod + def from_data(cls, data: dict) -> AuthorizationGrant: + return cls( + authorization=Authorization.from_data(data["authorization"]), + expiration=data["expiration"], + ) + + def to_proto(self) -> Grant_pb: + return Grant_pb( + authorization=self.authorization.pack_any(), + expiration=self.expiration, + ) + + @classmethod + def from_proto(cls, proto: Grant_pb) -> AuthorizationGrant: + return cls( + authorization=Authorization.unpack_any(proto.authorization), + expiration=proto.expiration, + ) + + @classmethod + def from_amino(cls, amino: dict) -> AuthorizationGrant: + value = amino["value"] + return cls( + authorization=Authorization.from_amino(value["authorization"]), + expiration=value["expiration"], + ) + + +@attr.s +class StakeAuthorizationValidators(JSONSerializable): + address: List[AccAddress] = attr.ib(converter=list) + + def to_amino(self): + raise Exception("Amino not supported") + + def to_data(self) -> dict: + return {"address": self.address} + + @classmethod + def from_data(cls, data: dict) -> StakeAuthorizationValidators: + return cls(address=data["address"]) + + def to_proto(self): + return StakeAuthorizationValidators_pb(address=self.address) + + @classmethod + def from_proto( + cls, proto: StakeAuthorizationValidators_pb + ) -> StakeAuthorizationValidators: + return cls(address=proto.address) + + +@attr.s +class StakeAuthorization(Authorization): + authorization_type: AuthorizationType = attr.ib() + max_tokens: Optional[Coin] = attr.ib(default=None) + allow_list: Optional[StakeAuthorizationValidators] = attr.ib(default=None) + deny_list: Optional[StakeAuthorizationValidators] = attr.ib(default=None) + + type_url = "/cosmos.staking.v1beta1.StakeAuthorization" + """""" + prototype = StakeAuthorization_pb + """""" + + def to_amino(self): + raise Exception("Amino not supported") + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "authorization_type": self.authorization_type, + "max_tokens": self.max_tokens.to_data() if self.max_tokens else None, + "allow_list": self.allow_list.to_data() if self.allow_list else None, + "deny_list": self.deny_list.to_data() if self.deny_list else None, + } + + @classmethod + def from_data(cls, data: dict) -> StakeAuthorization: + return StakeAuthorization( + authorization_type=data["authorization_type"], + max_tokens=( + Coin.from_data(data["max_tokens"]) + if data.get("max_tokens") is not None + else None + ), + allow_list=StakeAuthorizationValidators.from_data(data["allow_list"]) + if data.get("allow_list") + else None, + deny_list=StakeAuthorizationValidators.from_data(data["deny_list"]) + if data.get("deny_list") + else None, + ) + + def to_proto(self) -> StakeAuthorization_pb: + return StakeAuthorization_pb( + authorization_type=self.authorization_type, + max_tokens=self.max_tokens.to_proto() if self.max_tokens else None, + allow_list=self.allow_list.to_proto() if self.allow_list else None, + deny_list=self.deny_list.to_proto() if self.deny_list else None, + ) + + @classmethod + def from_proto(cls, proto: StakeAuthorization_pb) -> StakeAuthorization: + return StakeAuthorization( + authorization_type=proto.authorization_type, + max_tokens=Coin.from_proto(proto.max_tokens) if proto.max_tokens else None, + allow_list=StakeAuthorizationValidators.from_proto(proto.allow_list) + if proto.allow_list + else None, + deny_list=StakeAuthorizationValidators.from_proto(proto.deny_list) + if proto.deny_list + else None, + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) diff --git a/secret_sdk/core/authz/msgs.py b/secret_sdk/core/authz/msgs.py new file mode 100755 index 0000000..b150e57 --- /dev/null +++ b/secret_sdk/core/authz/msgs.py @@ -0,0 +1,212 @@ +"""Authz module message types.""" + +from __future__ import annotations + +from typing import List + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.authz.v1beta1 import MsgExec as MsgExec_pb +from secret_sdk.protobuf.cosmos.authz.v1beta1 import MsgGrant as MsgGrant_pb +from secret_sdk.protobuf.cosmos.authz.v1beta1 import MsgRevoke as MsgRevoke_pb + +from secret_sdk.core import AccAddress +from secret_sdk.core.msg import Msg + +from .data import Authorization, AuthorizationGrant + +__all__ = ["MsgExecAuthorized", "MsgGrantAuthorization", "MsgRevokeAuthorization"] + + +@attr.s +class MsgExecAuthorized(Msg): + """Execute a set of messages, exercising an existing authorization. + + Args: + grantee: grantee account (submitting on behalf of granter) + msg (List[Msg]): list of messages to execute using authorization grant + """ + + type_amino = "cosmos-sdk/MsgExecAuthorized" + """""" + type_url = "/cosmos.authz.v1beta1.MsgExec" + """""" + prototype = MsgExec_pb + """""" + + grantee: AccAddress = attr.ib() + msgs: List[Msg] = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "grantee": self.grantee, + "msgs": [msg.to_amino() for msg in self.msgs], + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "grantee": self.grantee, + "msgs": [msg.to_data() for msg in self.msgs], + } + + @classmethod + def from_data(cls, data: dict) -> MsgExecAuthorized: + return cls( + grantee=data["grantee"], msgs=[Msg.from_data(md) for md in data["msgs"]] + ) + + def to_proto(self) -> MsgExec_pb: + return MsgExec_pb(grantee=self.grantee, msgs=[m.pack_any() for m in self.msgs]) + + @classmethod + def from_proto(cls, proto: MsgExec_pb) -> MsgExecAuthorized: + return cls( + grantee=proto.grantee, msgs=[Msg.from_proto(md) for md in proto.msgs] + ) + + @classmethod + def from_amino(cls, amino: dict) -> MsgExecAuthorized: + value = amino["value"] + return cls( + grantee=value["grantee"], + msgs=[Msg.from_amino(msg) for msg in value["msgs"]], + ) + + @classmethod + def unpack_any(cls, any_pb: Any_pb) -> MsgExecAuthorized: + return cls.from_proto(MsgExec_pb().parse(any_pb.value)) + + +@attr.s +class MsgGrantAuthorization(Msg): + """Grant an authorization to ``grantee`` to call messages on behalf of ``granter``. + + Args: + granter: account granting authorization + grantee: account receiving authorization + grant: pair of authorization, expiration + """ + + type_amino = "cosmos-sdk/MsgGrantAuthorization" + """""" + type_url = "/cosmos.authz.v1beta1.MsgGrant" + """""" + prototype = MsgGrant_pb + """""" + + granter: AccAddress = attr.ib() + grantee: AccAddress = attr.ib() + grant: AuthorizationGrant = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "granter": self.granter, + "grantee": self.grantee, + "grant": self.grant.to_amino(), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "granter": self.granter, + "grantee": self.grantee, + "grant": self.grant.to_data(), + } + + @classmethod + def from_data(cls, data: dict) -> MsgGrantAuthorization: + return cls( + granter=data["granter"], + grantee=data["grantee"], + grant=AuthorizationGrant.from_data(data["grant"]), + ) + + def to_proto(self) -> MsgGrant_pb: + return MsgGrant_pb( + granter=self.granter, grantee=self.grantee, grant=self.grant.to_proto() + ) + + @classmethod + def from_proto(cls, proto: MsgGrant_pb) -> MsgGrantAuthorization: + return cls( + granter=proto.granter, + grantee=proto.grantee, + grant=AuthorizationGrant.from_proto(proto.grant), + ) + + @classmethod + def from_amino(cls, amino: dict) -> MsgGrantAuthorization: + value = amino["value"] + return cls( + grantee=value["grantee"], + granter=value["granter"], + grant=AuthorizationGrant.from_amino(value["grant"]), + ) + + +@attr.s +class MsgRevokeAuthorization(Msg): + """Remove existing authorization grant of the specified message type. + + Args: + granter: account removing authorization + grantee: account having authorization removed + msg_type_url: type of message to remove authorization for + """ + + type_amino = "cosmos-sdk/MsgRevokeAuthorization" + """""" + type_url = "/cosmos.authz.v1beta1.MsgRevoke" + """""" + prototype = MsgRevoke_pb + """""" + + granter: AccAddress = attr.ib() + grantee: AccAddress = attr.ib() + msg_type_url: str = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "granter": self.granter, + "grantee": self.grantee, + "msg_type_url": self.msg_type_url, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "granter": self.granter, + "grantee": self.grantee, + "msg_type_url": self.msg_type_url, + } + + @classmethod + def from_data(cls, data: dict) -> MsgRevokeAuthorization: + return cls( + granter=data["granter"], + grantee=data["grantee"], + msg_type_url=data["msg_type_url"], + ) + + def to_proto(self) -> MsgRevoke_pb: + return MsgRevoke_pb( + granter=self.granter, grantee=self.grantee, msg_type_url=self.msg_type_url + ) + + @classmethod + def from_proto(cls, proto: MsgRevoke_pb) -> MsgRevokeAuthorization: + return cls( + granter=proto.granter, + grantee=proto.grantee, + msg_type_url=proto.msg_type_url, + ) diff --git a/secret_sdk/core/bank/__init__.py b/secret_sdk/core/bank/__init__.py old mode 100644 new mode 100755 index 6bcde67..7837496 --- a/secret_sdk/core/bank/__init__.py +++ b/secret_sdk/core/bank/__init__.py @@ -1,3 +1,3 @@ -from .msgs import MsgMultiSend, MsgSend +from .msgs import MsgMultiSend, MsgSend, MultiSendInput, MultiSendOutput -__all__ = ["MsgSend", "MsgMultiSend"] +__all__ = ["MsgSend", "MsgMultiSend", "MultiSendInput", "MultiSendOutput"] diff --git a/secret_sdk/core/bank/msgs.py b/secret_sdk/core/bank/msgs.py old mode 100644 new mode 100755 index 1d5a858..21e40b0 --- a/secret_sdk/core/bank/msgs.py +++ b/secret_sdk/core/bank/msgs.py @@ -2,79 +2,168 @@ from __future__ import annotations -import copy from typing import List +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.bank.v1beta1 import Input as Input_pb +from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgMultiSend as MsgMultiSend_pb +from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend as MsgSend_pb +from secret_sdk.protobuf.cosmos.bank.v1beta1 import Output as Output_pb + from secret_sdk.core import AccAddress, Coins from secret_sdk.core.msg import Msg -from secret_sdk.util.json import JSONSerializable, dict_to_data +from secret_sdk.util.json import JSONSerializable -__all__ = ["MsgSend", "MsgMultiSend", "MultiSendIO"] +__all__ = ["MsgSend", "MsgMultiSend", "MultiSendInput", "MultiSendOutput"] import attr @attr.s class MsgSend(Msg): - """Send tokens message + """Sends native Terra assets (Luna or Terra stablecoins) from ``from_address`` to ``to_address``. Args: - from_address: address of sender - to_address: address of recipient - coins: coins to be sent. - + from_address (AccAddress): sender + to_address (AccAddress): recipient + amount (Coins): coins to send """ - type = "cosmos-sdk/MsgSend" + type_amino = "cosmos-sdk/MsgSend" + """""" + type_url = "/cosmos.bank.v1beta1.MsgSend" + """""" + action = "send" + """""" + prototype = MsgSend_pb """""" from_address: AccAddress = attr.ib() to_address: AccAddress = attr.ib() - amount: Coins = attr.ib(converter=Coins, factory=Coins) - - def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - return {"type": self.type, "value": dict_to_data(d)} + amount: Coins = attr.ib(converter=Coins) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "from_address": self.from_address, + "to_address": self.to_address, + "amount": self.amount.to_amino(), + }, + } @classmethod def from_data(cls, data: dict) -> MsgSend: - data = data["value"] return cls( from_address=data["from_address"], to_address=data["to_address"], amount=Coins.from_data(data["amount"]), ) + def to_data(self) -> dict: + return { + "@type": self.type_url, + "from_address": self.from_address, + "to_address": self.to_address, + "amount": self.amount.to_data(), + } + + @classmethod + def from_proto(cls, proto: MsgSend_pb) -> MsgSend: + return cls( + from_address=proto.from_address, + to_address=proto.to_address, + amount=Coins.from_proto(proto.amount), + ) + + def to_proto(self) -> MsgSend_pb: + proto = MsgSend_pb() + proto.from_address = self.from_address + proto.to_address = self.to_address + proto.amount = [c.to_proto() for c in self.amount] + return proto + @attr.s -class MultiSendIO(JSONSerializable): +class MultiSendInput(JSONSerializable): """Organizes data for MsgMultiSend input/outputs. Expects data to be provided in the format: - .. code-block:: python + Args: + address (AccAddress): from_address + coins (Coins): amount to send from the address + """ - { - "address": "secret1...", - "coins": "123456789uscrt" - } + address: AccAddress = attr.ib() + """Input / output address.""" + + coins: Coins = attr.ib(converter=Coins) + """Coins to be sent.""" + + def to_amino(self) -> dict: + return {"address": self.address, "coins": self.coins.to_amino()} + + def to_data(self) -> dict: + return {"address": self.address, "coins": self.coins.to_data()} + + @classmethod + def from_data(cls, data: dict): + return cls(address=data["address"], coins=Coins.from_data(data["coins"])) + + @classmethod + def from_proto(cls, proto: Input_pb) -> MultiSendInput: + return cls(address=proto.address, coins=Coins.from_proto(proto.coins)) + + def to_proto(self) -> Input_pb: + return Input_pb(address=self.address, coins=self.coins.to_proto()) + + +@attr.s +class MultiSendOutput(JSONSerializable): + """Organizes data for MsgMultiSend input/outputs. Expects data to be provided in the + format: + + Args: + address (AccAddress): to_address + coins (Coins): amount to receive """ address: AccAddress = attr.ib() """Input / output address.""" coins: Coins = attr.ib(converter=Coins) - """Coins to be sent / received.""" + """Coins to be received.""" + + def to_amino(self) -> dict: + return {"address": self.address, "coins": self.coins.to_amino()} @classmethod def from_data(cls, data: dict): return cls(address=data["address"], coins=Coins.from_data(data["coins"])) + def to_data(self) -> dict: + return {"address": self.address, "coins": self.coins.to_data()} + + @classmethod + def from_proto(cls, proto: Output_pb) -> MultiSendOutput: + return cls(address=proto.address, coins=Coins.from_proto(proto.coins)) -def convert_io_list(data: list) -> List[MultiSendIO]: - if all(isinstance(x, MultiSendIO) for x in data): + def to_proto(self) -> Output_pb: + return Output_pb(address=self.address, coins=self.coins.to_proto()) + + +def convert_input_list(data: list) -> List[MultiSendInput]: + if all(isinstance(x, MultiSendInput) for x in data): + return data + else: + return [MultiSendInput(address=d["address"], coins=d["coins"]) for d in data] + + +def convert_output_list(data: list) -> List[MultiSendOutput]: + if all(isinstance(x, MultiSendOutput) for x in data): return data else: - return [MultiSendIO(address=d["address"], coins=d["coins"]) for d in data] + return [MultiSendOutput(address=d["address"], coins=d["coins"]) for d in data] @attr.s @@ -83,37 +172,59 @@ class MsgMultiSend(Msg): The total amount of coins in ``inputs`` must match ``outputs``. The transaction containing ``MsgMultiSend`` must contain signatures from all addresses used as inputs. - The ``inputs`` and ``output`` arguments should be of the form: - - .. code-block:: python - - [{ - "address": "secret1...", - "coins": "123456789uusd" - }, - { - "address": "secret12...", - "coins": "2983298ukrw,21323uusd" - }] - - Args: - inputs (List[MultiSendIO]): senders and amounts - outputs (List[MultiSendIO]): recipients and amounts + inputs (List[MultiSendInput]): senders and amounts + outputs (List[MultiSendOutput]): recipients and amounts """ - type = "bank/MsgMultiSend" + type_amino = "cosmos-sdk/MsgMultiSend" + """""" + type_url = "/cosmos.bank.v1beta1.MsgMultiSend" """""" action = "multisend" """""" + prototype = MsgMultiSend_pb + """""" + + inputs: List[MultiSendInput] = attr.ib(converter=convert_input_list) + outputs: List[MultiSendOutput] = attr.ib(converter=convert_output_list) - inputs: List[MultiSendIO] = attr.ib(converter=convert_io_list) - outputs: List[MultiSendIO] = attr.ib(converter=convert_io_list) + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "inputs": [mi.to_amino() for mi in self.inputs], + "outputs": [mo.to_amino() for mo in self.outputs], + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "inputs": [mi.to_data() for mi in self.inputs], + "outputs": [mo.to_data() for mo in self.outputs], + } @classmethod def from_data(cls, data: dict) -> MsgMultiSend: - data = data["value"] return cls( - inputs=[MultiSendIO.from_data(x) for x in data["inputs"]], - outputs=[MultiSendIO.from_data(x) for x in data["outputs"]], + inputs=[MultiSendInput.from_data(x) for x in data["inputs"]], + outputs=[MultiSendOutput.from_data(x) for x in data["outputs"]], ) + + @classmethod + def from_proto(cls, proto: MsgMultiSend_pb) -> MsgMultiSend: + return cls( + inputs=[MultiSendInput.from_proto(x) for x in proto.inputs], + outputs=[MultiSendOutput.from_proto(x) for x in proto.outputs], + ) + + def to_proto(self) -> MsgMultiSend_pb: + return MsgMultiSend_pb( + inputs=[i.to_proto() for i in self.inputs], + outputs=[o.to_proto() for o in self.outputs], + ) + + @classmethod + def unpack_any(cls, any_pb: Any_pb) -> MsgMultiSend: + return cls.from_proto(MsgMultiSend_pb().parse(any_pb)) diff --git a/secret_sdk/core/strings.py b/secret_sdk/core/bech32.py old mode 100644 new mode 100755 similarity index 63% rename from secret_sdk/core/strings.py rename to secret_sdk/core/bech32.py index 3b7d801..d3e3793 --- a/secret_sdk/core/strings.py +++ b/secret_sdk/core/bech32.py @@ -4,14 +4,13 @@ from typing import NewType -from bech32 import bech32_decode, bech32_encode +from bech32 import bech32_decode, bech32_encode, convertbits __all__ = [ "AccAddress", "ValAddress", "AccPubKey", "ValPubKey", - "ValConsPubKey", "is_acc_address", "is_acc_pubkey", "is_val_address", @@ -21,36 +20,42 @@ "to_acc_pubkey", "to_val_address", "to_val_pubkey", + "get_bech", ] +def get_bech(prefix: str, payload: str) -> str: + data = convertbits(bytes.fromhex(payload), 8, 5) + if data is None: + raise ValueError(f"could not parse data: prefix {prefix}, payload {payload}") + return bech32_encode(prefix, data) # base64 -> base32 + + def check_prefix_and_length(prefix: str, data: str, length: int): vals = bech32_decode(data) return vals[0] == prefix and len(data) == length AccAddress = NewType("AccAddress", str) -AccAddress.__doc__ = """Secret Bech32 Account Address -- type alias of str.""" +AccAddress.__doc__ = """Terra Bech32 Account Address -- type alias of str.""" ValAddress = NewType("ValAddress", str) -ValAddress.__doc__ = ( - """Secret Bech32 Validator Operator Address -- type alias of str.""" -) +ValAddress.__doc__ = """Terra Bech32 Validator Operator Address -- type alias of str.""" AccPubKey = NewType("AccPubKey", str) -AccPubKey.__doc__ = """Secret Bech32 Account Address -- type alias of str.""" +AccPubKey.__doc__ = """Terra Bech32 Account Address -- type alias of str.""" ValPubKey = NewType("ValPubKey", str) -ValPubKey.__doc__ = """Secret Bech32 Validator PubKey -- type alias of str.""" +ValPubKey.__doc__ = """Terra Bech32 Validator PubKey -- type alias of str.""" -ValConsPubKey = NewType("ValConsPubKey", str) -ValConsPubKey.__doc__ = ( - """Secret Bech32 Validator Conensus PubKey -- type alias of str.""" -) +# ValConsPubKey = NewType("ValConsPubKey", str) +# ValConsPubKey.__doc__ = ( +# """Terra Bech32 Validator Conensus PubKey -- type alias of str.""" +# ) def is_acc_address(data: str) -> bool: - """Checks whether the given string is a properly formatted Secret account address. + """Checks whether the given string is a properly formatted Terra account address. Args: data (str): string to check @@ -58,7 +63,7 @@ def is_acc_address(data: str) -> bool: Returns: bool: whether the string is a proper account address """ - return check_prefix_and_length("secret", data, 45) + return check_prefix_and_length("terra", data, 44) def to_acc_address(data: ValAddress) -> AccAddress: @@ -76,11 +81,11 @@ def to_acc_address(data: ValAddress) -> AccAddress: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return AccAddress(bech32_encode("secret", vals[1])) + return AccAddress(bech32_encode("terra", vals[1])) def is_val_address(data: str) -> bool: - """Checks whether the given string is a properly formatted Secret validator operator + """Checks whether the given string is a properly formatted Terra validator operator address. Args: @@ -89,7 +94,7 @@ def is_val_address(data: str) -> bool: Returns: bool: whether the string is a proper validator address """ - return check_prefix_and_length("secretvaloper", data, 52) + return check_prefix_and_length("terravaloper", data, 51) def to_val_address(data: AccAddress) -> ValAddress: @@ -107,11 +112,11 @@ def to_val_address(data: AccAddress) -> ValAddress: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return ValAddress(bech32_encode("secretvaloper", vals[1])) + return ValAddress(bech32_encode("terravaloper", vals[1])) def is_acc_pubkey(data: str) -> bool: - """Checks whether the provided string is a properly formatted Secret account pubkey. + """Checks whether the provided string is a properly formatted Terra account pubkey. Args: data (str): string to check @@ -119,7 +124,7 @@ def is_acc_pubkey(data: str) -> bool: Returns: bool: whether string is account pubkey """ - return check_prefix_and_length("secretpub", data, 77) + return check_prefix_and_length("terrapub", data, 76) def to_acc_pubkey(data: ValPubKey) -> AccPubKey: @@ -137,11 +142,11 @@ def to_acc_pubkey(data: ValPubKey) -> AccPubKey: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return AccPubKey(bech32_encode("secretpub", vals[1])) + return AccPubKey(bech32_encode("terrapub", vals[1])) def is_val_pubkey(data: str) -> bool: - """Checks whether provided string is a properly formatted Secret validator pubkey. + """Checks whether provided string is a properly formatted Terra validator pubkey. Args: data (str): string to check @@ -149,7 +154,7 @@ def is_val_pubkey(data: str) -> bool: Returns: bool: whether string is validator pubkey """ - return check_prefix_and_length("secretvaloperpub", data, 84) + return check_prefix_and_length("terravaloperpub", data, 83) def to_val_pubkey(data: AccPubKey) -> ValPubKey: @@ -167,17 +172,17 @@ def to_val_pubkey(data: AccPubKey) -> ValPubKey: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return ValPubKey(bech32_encode("secretvaloperpub", vals[1])) + return ValPubKey(bech32_encode("terravaloperpub", vals[1])) -def is_valcons_pubkey(data: str) -> ValConsPubKey: - """Checks whether provided string is a properly formatted Secret validator consensus +def is_valcons_pubkey(data: str) -> bool: # -> ValConsPubKey: + """Checks whether provided string is a properly formatted Terra validator consensus pubkey. Args: data (str): string to check Returns: - ValConsPubKey: validator consensus pubkey + bool: whether string is validator consensus pubkey """ - return check_prefix_and_length("secretvalconspub", data, 83) + return check_prefix_and_length("terravalconspub", data, 83) diff --git a/secret_sdk/core/block.py b/secret_sdk/core/block.py new file mode 100755 index 0000000..5957abf --- /dev/null +++ b/secret_sdk/core/block.py @@ -0,0 +1,86 @@ +from typing import List + +import attr + +__all__ = [ + "BlockInfo", + "Block", + "Header", + "Evidence", + "BlockID", + "Parts", + "Version", + "LastCommit", + "Signature", +] + + +@attr.s +class Evidence: + evidence: List[str] = attr.ib(converter=list) + + +@attr.s +class Version: + block: str = attr.ib() + app: str = attr.ib() + + +@attr.s +class Parts: + total: str = attr.ib() + hash: str = attr.ib() + + +@attr.s +class BlockID: + hash: str = attr.ib() + part_set_header: Parts = attr.ib() + + +@attr.s +class Header: + version: Version = attr.ib() + chain_id: str = attr.ib() + height: str = attr.ib() + time: str = attr.ib() + last_block_id: BlockID = attr.ib() + last_commit_hash: str = attr.ib() + data_hash: str = attr.ib() + validators_hash: str = attr.ib() + next_validators_hash: str = attr.ib() + consensus_hash: str = attr.ib() + app_hash: str = attr.ib() + last_results_hash: str = attr.ib() + evidence_hash: str = attr.ib() + proposer_address: str = attr.ib() + + +@attr.s +class Signature: + block_id_flag: int = attr.ib(converter=int) + validator_address: str = attr.ib() + timestamp: str = attr.ib() + signature: str = attr.ib() + + +@attr.s +class LastCommit: + height: str = attr.ib() + round: int = attr.ib(converter=int) + block_id: BlockID = attr.ib() + signatures: List[Signature] = attr.ib() + + +@attr.s +class Block: + header: Header = attr.ib() + data: List[str] = attr.ib() + evidence: Evidence = attr.ib() + last_commit: LastCommit = attr.ib() + + +@attr.s +class BlockInfo: + block_id: BlockID = attr.ib() + block: Block = attr.ib() diff --git a/secret_sdk/core/broadcast.py b/secret_sdk/core/broadcast.py old mode 100644 new mode 100755 index 8728603..11dc9b9 --- a/secret_sdk/core/broadcast.py +++ b/secret_sdk/core/broadcast.py @@ -6,7 +6,7 @@ import attr -from secret_sdk.core.auth import TxLog, parse_tx_logs +from secret_sdk.core.tx import TxLog, parse_tx_logs from secret_sdk.util.json import JSONSerializable __all__ = [ @@ -38,6 +38,12 @@ class BlockTxBroadcastResult(JSONSerializable): """If this is present, the transaction failed.""" codespace: Optional[str] = attr.ib(default=None) """Error subspace name: used alongside ``code``.""" + info: Optional[str] = attr.ib(default=None) + """""" + data: Optional[str] = attr.ib(default=None) + """""" + timestamp: Optional[str] = attr.ib(default=None) + """timestamp""" def is_tx_error(self) -> bool: """Returns whether the transaction failed.""" @@ -46,7 +52,7 @@ def is_tx_error(self) -> bool: @attr.s class SyncTxBroadcastResult(JSONSerializable): - """Data object that contains the response result from node after transaction + """Data object that contains the response result from node after transactionco has been broadcasted with the ``sync`` broadcast mode.""" txhash: str = attr.ib() @@ -74,4 +80,4 @@ class AsyncTxBroadcastResult(JSONSerializable): def is_tx_error(result: Union[BlockTxBroadcastResult, SyncTxBroadcastResult]): """Returns whether the transaction failed.""" - return result.code is not None + return result.code != 0 diff --git a/secret_sdk/core/coin.py b/secret_sdk/core/coin.py old mode 100644 new mode 100755 index 7078e2b..69d89ca --- a/secret_sdk/core/coin.py +++ b/secret_sdk/core/coin.py @@ -1,9 +1,11 @@ from __future__ import annotations +import math import re from typing import Union import attr +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin as Coin_pb from secret_sdk.util.json import JSONSerializable @@ -17,7 +19,7 @@ class Coin(JSONSerializable): """ denom: str = attr.ib() - """Coin's denomination, ex ``uusd``, ``uscrt``, etc.""" + """Coin's denomination, only ``uscrt``.""" amount: Numeric.Output = attr.ib(converter=Numeric.parse) # type: ignore """Coin's amount -- can be a ``int`` or :class:`Dec`""" @@ -48,6 +50,10 @@ def to_int_coin(self) -> Coin: """Creates a new :class:`Coin` with an ``int`` amount.""" return Coin(self.denom, int(self.amount)) + def to_int_ceil_coin(self) -> Coin: + """Turns the :class:`coin` into an ``int`` coin with ceiling the amount.""" + return Coin(self.denom, int(math.ceil(self.amount))) + def to_dec_coin(self) -> Coin: """Creates a new :class:`Coin` with a :class:`Dec` amount.""" return Coin(self.denom, Dec(self.amount)) @@ -60,17 +66,30 @@ def __str__(self) -> str: return f"{amount_str}{self.denom}" return f"{self.amount}{self.denom}" + def to_amino(self) -> dict: + return {"denom": self.denom, "amount": str(self.amount)} + def to_data(self) -> dict: return {"denom": self.denom, "amount": str(self.amount)} + @classmethod + def from_proto(cls, proto: Coin_pb) -> Coin: + return cls(proto.denom, proto.amount) + + def to_proto(self) -> Coin_pb: + coin = Coin_pb() + coin.denom = self.denom + coin.amount = str(self.amount) + return coin + @classmethod def from_str(cls, string: str) -> Coin: """Creates a new :class:`Coin` from a coin-format string. Must match the format: - ``283923uusd`` (``int``-Coin) or ``23920.23020uusd`` (:class:`Dec`-Coin). + ``283923uscrt`` (``int``-Coin) or ``23920.23020uscrt`` (:class:`Dec`-Coin). - >>> int_coin = Coin.from_str("230920uusd") + >>> int_coin = Coin.from_str("230920uscrt") >>> int_coin.denom - 'uusd' + 'uscrt' >>> int_coin.amount 230920 >>> dec_coin = Coin.from_str("203922.223uscrt") @@ -211,3 +230,12 @@ def from_data(cls, data: dict) -> Coin: data (dict): data object """ return cls(data["denom"], data["amount"]) + + @classmethod + def from_amino(cls, data: dict) -> Coin: + """Deserializes a :class:`Coin` object from its amino-codec representation. + + Args: + data (dict): data object + """ + return cls(data["denom"], data["amount"]) diff --git a/secret_sdk/core/coins.py b/secret_sdk/core/coins.py old mode 100644 new mode 100755 index cfb3a05..69c8c23 --- a/secret_sdk/core/coins.py +++ b/secret_sdk/core/coins.py @@ -3,13 +3,15 @@ import copy from typing import Any, Callable, Dict, Iterable, Iterator, List, Optional, Union +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin as Coin_pb + from secret_sdk.util.json import JSONSerializable from .coin import Coin from .numeric import Numeric -class Coins(JSONSerializable): +class Coins(JSONSerializable, List[Coin_pb]): """Represents an unordered collection of :class:`Coin` objects -- analagous to ``sdk.Coins`` and ``sdk.DecCoins`` in Cosmos SDK. If one of the input coins would be ``Dec``-amount type coin, the resultant Coins is converted to @@ -110,12 +112,41 @@ def from_data(cls, data: list) -> Coins: Args: data (list): list of Coin-data objects """ - coins = map(Coin.from_data, data or []) + coins = map(Coin.from_data, data) + return cls(coins) + + @classmethod + def from_amino(cls, amino: list) -> Coins: + """Converts list of Coin-amino objects to :class:`Coins`. + + Args: + amino (list): list of Coin-data objects + """ + coins = map(Coin.from_amino, amino) return cls(coins) + def to_amino(self) -> List[dict]: + return [coin.to_amino() for coin in self] + def to_data(self) -> List[dict]: return [coin.to_data() for coin in self] + @classmethod + def from_proto(cls, proto: List[Coin_pb]) -> Coins: + """Converts list of Coin-data objects to :class:`Coins`. + + Args: + data (list): list of Coin-data objects + """ + coins = map(Coin.from_proto, proto) + return cls(coins) + + def to_proto(self) -> List[Coin_pb]: + return [coin.to_proto() for coin in self] + + def to_dict(self) -> List[dict]: + return [coin.to_dict for coin in self] + def denoms(self) -> List[str]: """Get the list of denoms for all Coin objects contained.""" return [c.denom for c in self] @@ -128,6 +159,10 @@ def to_int_coins(self) -> Coins: """Creates new set of :class:`Coins` that have ``int`` amounts.""" return Coins(c.to_int_coin() for c in self) + def to_int_ceil_coins(self) -> Coins: + """Creates a new :class:`Coins` object with all ``int`` coins with ceiling the amount""" + return Coins(c.to_int_ceil_coin() for c in self) + def add(self, addend: Union[Coin, Coins]) -> Coins: """Performs addition, which combines the sets of Coin objects. Coins of similar denoms will be merged into one Coin representing the denom. @@ -156,7 +191,7 @@ def __sub__(self, subtrahend: Union[Coin, Coins]) -> Coins: return self.sub(subtrahend) def mul(self, multiplier: Numeric.Input) -> Coins: - """Performs multiplication, which multiplies all the Coin objects in the set by a + """Performs multiplicaiton, which multiplies all the Coin objects in the set by a multiplier. Args: diff --git a/secret_sdk/core/compact_bit_array.py b/secret_sdk/core/compact_bit_array.py new file mode 100755 index 0000000..748ed21 --- /dev/null +++ b/secret_sdk/core/compact_bit_array.py @@ -0,0 +1,88 @@ +"""CompactBitArray types related to multisig.""" +from __future__ import annotations + +import base64 +import math + +import attr +from secret_sdk.protobuf.cosmos.crypto.multisig.v1beta1 import ( + CompactBitArray as CompactBitArray_pb, +) + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["CompactBitArray"] + + +@attr.s +class CompactBitArray(JSONSerializable): + extra_bits_stored: int = attr.ib(converter=int) + elems: bytearray = attr.ib(converter=bytearray) + + @classmethod + def from_data(cls, data: dict) -> CompactBitArray: + return cls( + data["extra_bits_stored"], bytearray(base64.b64decode(data["elems"])) + ) + + def to_data(self) -> dict: + return { + "extra_bits_stored": self.extra_bits_stored, + "elems": base64.b64encode(self.elems), + } + + @classmethod + def from_proto(cls, proto: CompactBitArray_pb) -> CompactBitArray: + return cls(proto.extra_bits_stored, bytearray(proto.elems)) + + def to_proto(self) -> CompactBitArray_pb: + return CompactBitArray_pb( + extra_bits_stored=self.extra_bits_stored, elems=bytes(self.elems) + ) + + @classmethod + def from_bits(cls, bits: int) -> CompactBitArray: + if bits <= 0: + raise ValueError("CompactBitArray bits must be bigger than 0") + + num_elems = (bits + 7) // 8 + if num_elems <= 0 or num_elems > (math.pow(2, 32) - 1): + raise ValueError("CompactBitArray overflow") + + return CompactBitArray(bits % 8, bytearray(num_elems)) + + def count(self) -> int: + if self.extra_bits_stored == 0: + return len(self.elems) * 8 + return (len(self.elems) - 1) * 8 + self.extra_bits_stored + + def get_index(self, i: int) -> bool: + if i < 0 or i >= self.count(): + return False + return (self.elems[(i >> 3)] & (1 << (7 - (i % 8)))) > 0 + + def set_index(self, i: int, v: bool) -> bool: + if i < 0 or i >= self.count(): + return False + if v: # True + self.elems[i >> 3] |= 1 << (7 - (i % 8)) + else: # False + self.elems[i >> 3] &= ~(1 << (7 - (i % 8))) + return True + + def num_true_bits_before(self, index: int) -> int: + def count_one_bits(n: int): + return len("".join("{0:b}".format(n).split("0"))) + + ones_count = 0 + _max = self.count() + if index > _max: + index = _max + + elem = 0 + while True: + if (elem * 8 + 7) >= index: + ones_count += count_one_bits(self.elems[elem] >> (7 - (index % 8) + 1)) + return ones_count + ones_count += count_one_bits(self.elems[elem]) + elem += 1 diff --git a/secret_sdk/core/crisis/__init__.py b/secret_sdk/core/crisis/__init__.py new file mode 100755 index 0000000..9c3a3a2 --- /dev/null +++ b/secret_sdk/core/crisis/__init__.py @@ -0,0 +1,3 @@ +from .msgs import MsgVerifyInvariant + +__all__ = ["MsgVerifyInvariant"] diff --git a/secret_sdk/core/crisis/msgs.py b/secret_sdk/core/crisis/msgs.py new file mode 100755 index 0000000..8af8def --- /dev/null +++ b/secret_sdk/core/crisis/msgs.py @@ -0,0 +1,71 @@ +"""Crisis module message types.""" + +from __future__ import annotations + +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.crisis.v1beta1 import ( + MsgVerifyInvariant as MsgVerifyInvariant_pb, +) + +from secret_sdk.core import AccAddress +from secret_sdk.core.msg import Msg + +__all__ = ["MsgVerifyInvariant"] + +import attr + + +@attr.s +class MsgVerifyInvariant(Msg): + """MsgVerifyInvariant represents a message to verify a particular invariance. + + Args: + sender: address of the sender + invariant_module_name: module name to verify invariant + invariant_route: route to veriryf + """ + + type_amino = "cosmos-sdk/MsgVerifyInvariant" + """""" + type_url = "/cosmos.crisis.v1beta1.MsgVerifyInvariant" + """""" + prototype = MsgVerifyInvariant_pb + """""" + + sender: AccAddress = attr.ib() + invariant_module_name: str = attr.ib() + invariant_route: str = attr.ib() + + def to_amino(self) -> dict: + raise Exception("MsgVerifyInvarant is not allowed to send") + + @classmethod + def from_data(cls, data: dict) -> MsgVerifyInvariant: + return cls( + sender=data["sender"], + invariant_module_name=data["invariant_module_name"], + invariant_route=data["invariant_route"], + ) + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "sender": self.sender, + "invariant_module_name": self.invariant_module_name, + "invariant_route": self.invariant_route, + } + + @classmethod + def from_proto(cls, proto: MsgVerifyInvariant_pb) -> MsgVerifyInvariant: + return cls( + sender=proto.sender, + invariant_module_name=proto.invariant_module_name, + invariant_route=proto.invariant_route, + ) + + def to_proto(self) -> MsgVerifyInvariant_pb: + raise Exception("MsgVerifyInvarant is not allowed to send") + + @classmethod + def unpack_any(cls, any_pb: Any_pb) -> MsgVerifyInvariant: + return MsgVerifyInvariant.from_proto(any_pb) diff --git a/secret_sdk/core/deposit.py b/secret_sdk/core/deposit.py new file mode 100755 index 0000000..59588cf --- /dev/null +++ b/secret_sdk/core/deposit.py @@ -0,0 +1,39 @@ +from __future__ import annotations + +import attr +from secret_sdk.protobuf.cosmos.gov.v1beta1 import Deposit as Deposit_pb + +from secret_sdk.core import AccAddress +from secret_sdk.util.json import JSONSerializable + +from .coins import Coins + + +@attr.s +class Deposit(JSONSerializable): + proposal_id: int = attr.ib(converter=int) + depositor: AccAddress = attr.ib() + amount: Coins = attr.ib(converter=Coins) + + @classmethod + def from_data(cls, data: dict) -> Deposit: + return cls( + proposal_id=data.get("proposal_id"), + depositor=data.get("depositor"), + amount=Coins.from_data(data.get("amount")), + ) + + @classmethod + def from_proto(cls, proto: Deposit_pb) -> Deposit: + return cls( + proposal_id=proto.proposal_id, + depositor=proto.depositor, + amount=Coins.from_proto(proto.amount), + ) + + def to_proto(self) -> Deposit_pb: + return Deposit_pb( + proposal_id=self.proposal_id, + depositor=self.depositor, + amount=self.amount.to_proto(), + ) diff --git a/secret_sdk/core/distribution/__init__.py b/secret_sdk/core/distribution/__init__.py old mode 100644 new mode 100755 index 9b1532b..f13e6e5 --- a/secret_sdk/core/distribution/__init__.py +++ b/secret_sdk/core/distribution/__init__.py @@ -1,13 +1,15 @@ from .msgs import ( MsgFundCommunityPool, - MsgModifyWithdrawAddress, - MsgWithdrawDelegationReward, + MsgSetWithdrawAddress, + MsgWithdrawDelegatorReward, MsgWithdrawValidatorCommission, ) +from .proposals import CommunityPoolSpendProposal __all__ = [ "MsgFundCommunityPool", - "MsgModifyWithdrawAddress", - "MsgWithdrawDelegationReward", + "MsgSetWithdrawAddress", + "MsgWithdrawDelegatorReward", "MsgWithdrawValidatorCommission", + "CommunityPoolSpendProposal", ] diff --git a/secret_sdk/core/distribution/msgs.py b/secret_sdk/core/distribution/msgs.py old mode 100644 new mode 100755 index ed34dda..86a5229 --- a/secret_sdk/core/distribution/msgs.py +++ b/secret_sdk/core/distribution/msgs.py @@ -3,38 +3,82 @@ from __future__ import annotations import attr +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + MsgFundCommunityPool as MsgFundCommunityPool_pb, +) +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + MsgSetWithdrawAddress as MsgSetWithdrawAddress_pb, +) +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + MsgWithdrawDelegatorReward as MsgWithdrawDelegatorReward_pb, +) +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + MsgWithdrawValidatorCommission as MsgWithdrawValidatorCommission_pb, +) from secret_sdk.core import AccAddress, Coins, ValAddress from secret_sdk.core.msg import Msg __all__ = [ - "MsgModifyWithdrawAddress", - "MsgWithdrawDelegationReward", + "MsgSetWithdrawAddress", + "MsgWithdrawDelegatorReward", "MsgWithdrawValidatorCommission", "MsgFundCommunityPool", ] @attr.s -class MsgModifyWithdrawAddress(Msg): - """Modify the Withdraw Address of a delegator. +class MsgSetWithdrawAddress(Msg): + """Modify Withdraw Address of a delegator. Args: delegator_address: delegator withdraw_address: new withdraw address """ - type = "distribution/MsgModifyWithdrawAddress" + type_amino = "cosmos-sdk/MsgModifyWithdrawAddress" + """""" + type_url = "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress" """""" action = "set_withdraw_address" """""" + prototype = MsgSetWithdrawAddress_pb + """""" delegator_address: AccAddress = attr.ib() withdraw_address: AccAddress = attr.ib() + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "delegator_address": self.delegator_address, + "withdraw_address": self.withdraw_address, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "delegator_address": self.delegator_address, + "withdraw_address": self.withdraw_address, + } + @classmethod - def from_data(cls, data: dict) -> MsgModifyWithdrawAddress: - data = data["value"] + def from_data(cls, data: dict) -> MsgSetWithdrawAddress: + return cls( + delegator_address=data["delegator_address"], + withdraw_address=data["withdraw_address"], + ) + + def to_proto(self) -> MsgSetWithdrawAddress_pb: + return MsgSetWithdrawAddress_pb( + delegator_address=self.delegator_address, + withdraw_address=self.withdraw_address, + ) + + @classmethod + def from_proto(cls, data: MsgSetWithdrawAddress_pb) -> MsgSetWithdrawAddress: return cls( delegator_address=data["delegator_address"], withdraw_address=data["withdraw_address"], @@ -42,7 +86,7 @@ def from_data(cls, data: dict) -> MsgModifyWithdrawAddress: @attr.s -class MsgWithdrawDelegationReward(Msg): +class MsgWithdrawDelegatorReward(Msg): """Withdraw rewards for a delegation specified by a (delegator, validator) pair. Args: @@ -50,22 +94,56 @@ class MsgWithdrawDelegationReward(Msg): validator_address: validator """ - type = "distribution/MsgWithdrawDelegationReward" + type_amino = "cosmos-sdk/MsgWithdrawDelegationReward" + """""" + type_url = "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" """""" action = "withdraw_delegation_reward" """""" + prototype = MsgWithdrawDelegatorReward_pb + """""" delegator_address: AccAddress = attr.ib() validator_address: ValAddress = attr.ib() + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "delegator_address": self.delegator_address, + "validator_address": self.validator_address, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "delegator_address": self.delegator_address, + "validator_address": self.validator_address, + } + @classmethod - def from_data(cls, data: dict) -> MsgWithdrawDelegationReward: - data = data["value"] + def from_data(cls, data: dict) -> MsgWithdrawDelegatorReward: return cls( delegator_address=data["delegator_address"], validator_address=data["validator_address"], ) + def to_proto(self) -> MsgWithdrawDelegatorReward_pb: + return MsgWithdrawDelegatorReward_pb( + delegator_address=self.delegator_address, + validator_address=self.validator_address, + ) + + @classmethod + def from_proto( + cls, proto: MsgWithdrawDelegatorReward_pb + ) -> MsgWithdrawDelegatorReward: + return cls( + delegator_address=proto.delegator_address, + validator_address=proto.validator_address, + ) + @attr.s class MsgWithdrawValidatorCommission(Msg): @@ -75,16 +153,39 @@ class MsgWithdrawValidatorCommission(Msg): validator_address: validator operator address """ - type = "distribution/MsgWithdrawValidatorCommission" + type_amino = "cosmos-sdk/MsgWithdrawValidatorCommission" + """""" + type_url = "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" """""" action = "withdraw_validator_commission" """""" + prototype = MsgWithdrawValidatorCommission_pb + """""" validator_address: ValAddress = attr.ib() + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": {"validator_address": self.validator_address}, + } + + def to_data(self) -> dict: + return {"@type": self.type_url, "validator_address": self.validator_address} + @classmethod def from_data(cls, data: dict) -> MsgWithdrawValidatorCommission: - data = data["value"] + return cls(validator_address=data["validator_address"]) + + def to_proto(self) -> MsgWithdrawValidatorCommission_pb: + return MsgWithdrawValidatorCommission_pb( + validator_address=self.validator_address + ) + + @classmethod + def from_proto( + cls, data: MsgWithdrawValidatorCommission_pb + ) -> MsgWithdrawValidatorCommission: return cls(validator_address=data["validator_address"]) @@ -97,13 +198,38 @@ class MsgFundCommunityPool(Msg): amount (Coins): amount to fund community pool with """ - type = "distribution/MsgFundCommunityPool" + type_amino = "cosmos-sdk/MsgFundCommunityPool" + """""" + type_url = "/cosmos.distribution.v1beta1.MsgFundCommunityPool" + """""" + prototype = MsgFundCommunityPool_pb """""" depositor: AccAddress = attr.ib() amount: Coins = attr.ib(converter=Coins) + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": {"depositor": self.depositor, "amount": self.amount.to_amino()}, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "depositor": self.depositor, + "amount": self.amount.to_data(), + } + @classmethod def from_data(cls, data: dict) -> MsgFundCommunityPool: - data = data["value"] return cls(depositor=data["depositor"], amount=Coins.from_data(data["amount"])) + + def to_proto(self) -> MsgFundCommunityPool_pb: + return MsgFundCommunityPool_pb( + depositor=self.depositor, amount=self.amount.to_proto() + ) + + @classmethod + def from_proto(cls, data: MsgFundCommunityPool_pb) -> MsgFundCommunityPool: + return cls(depositor=data["depositor"], amount=Coins.from_proto(data["amount"])) diff --git a/secret_sdk/core/distribution/proposals.py b/secret_sdk/core/distribution/proposals.py new file mode 100755 index 0000000..7c980c3 --- /dev/null +++ b/secret_sdk/core/distribution/proposals.py @@ -0,0 +1,89 @@ +"""Distribution module governance proposal types.""" + +from __future__ import annotations + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + CommunityPoolSpendProposal as CommunityPoolSpendProposal_pb, +) + +from secret_sdk.core import AccAddress, Coins +from secret_sdk.util.json import JSONSerializable + +__all__ = ["CommunityPoolSpendProposal"] + + +@attr.s +class CommunityPoolSpendProposal(JSONSerializable): + """Proposal for allocating funds from the community pool to an address. + + Args: + title: proposal title + description: proposal description + recipient: designated recipient of funds if proposal passes + amount (Coins): amount to spend from community pool + """ + + type_amino = "cosmos-sdk/CommunityPoolSpendProposal" + """""" + type_url = "/cosmos.distribution.v1beta1.CommunityPoolSpendProposal" + """""" + prototype = CommunityPoolSpendProposal_pb + """""" + + title: str = attr.ib() + description: str = attr.ib() + recipient: AccAddress = attr.ib() + amount: Coins = attr.ib(converter=Coins) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "title": self.title, + "description": self.description, + "recipient": self.recipient, + "amount": self.amount.to_amino(), + }, + } + + @classmethod + def from_data(cls, data: dict) -> CommunityPoolSpendProposal: + return cls( + title=data["title"], + description=data["description"], + recipient=data["recipient"], + amount=Coins.from_data(data["amount"]), + ) + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "title": self.title, + "description": self.description, + "recipient": self.recipient, + "amount": self.amount.to_data(), + } + + def to_proto(self) -> CommunityPoolSpendProposal_pb: + return CommunityPoolSpendProposal_pb( + title=self.title, + description=self.description, + recipient=self.recipient, + amount=self.amount.to_proto(), + ) + + @classmethod + def from_proto( + cls, proto: CommunityPoolSpendProposal_pb + ) -> CommunityPoolSpendProposal: + return cls( + title=proto.title, + description=proto.description, + recipient=proto.recipient, + amount=Coins.from_proto(proto.amount), + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) diff --git a/secret_sdk/core/fee.py b/secret_sdk/core/fee.py new file mode 100755 index 0000000..be27cb8 --- /dev/null +++ b/secret_sdk/core/fee.py @@ -0,0 +1,72 @@ +"""Data objects about Fee.""" + +from __future__ import annotations + +from typing import Optional + +import attr +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee as Fee_pb + +from secret_sdk.core.bech32 import AccAddress +from secret_sdk.core.coins import Coins +from secret_sdk.util.json import JSONSerializable + +__all__ = ["Fee"] + + +@attr.s +class Fee(JSONSerializable): + """Data structure holding information for a transaction fee. + + Args: + gas (int): gas to use ("gas requested") + amount (Coins.Input): fee amount + payer (AccAddress, optional): address of fee payer + granter (AccAddress, optional): address of fee granter + """ + + gas_limit: int = attr.ib(converter=int) + amount: Coins = attr.ib(converter=Coins) + payer: Optional[AccAddress] = attr.ib(default=None) + granter: Optional[AccAddress] = attr.ib(default=None) + + def to_amino(self) -> dict: + return {"gas": str(self.gas_limit), "amount": self.amount.to_amino()} + + @classmethod + def from_data(cls, data: dict) -> Fee: + return cls( + int(data["gas_limit"]), + Coins.from_data(data["amount"]), + data["payer"], + data["granter"], + ) + + def to_data(self) -> dict: + return { + "gas_limit": str(self.gas_limit), + "amount": self.amount.to_data(), + "payer": str(self.payer), + "granter": str(self.granter), + } + + def to_proto(self) -> Fee_pb: + return Fee_pb( + amount=self.amount.to_proto(), + gas_limit=self.gas_limit, + payer=self.payer, + granter=self.granter, + ) + + @classmethod + def from_proto(cls, proto: Fee_pb) -> Fee: + return cls( + gas_limit=proto.gas_limit, + amount=Coins.from_proto(proto.amount), + payer=proto.payer, + granter=proto.granter, + ) + + @property + def gas_prices(self) -> Coins: + return self.amount.to_dec_coins().div(self.gas_limit) diff --git a/secret_sdk/core/feegrant/__init__.py b/secret_sdk/core/feegrant/__init__.py new file mode 100755 index 0000000..aca1515 --- /dev/null +++ b/secret_sdk/core/feegrant/__init__.py @@ -0,0 +1,11 @@ +from .data import Allowance, AllowedMsgAllowance, BasicAllowance, PeriodicAllowance +from .msgs import MsgGrantAllowance, MsgRevokeAllowance + +__all__ = [ + "BasicAllowance", + "PeriodicAllowance", + "Allowance", + "AllowedMsgAllowance", + "MsgGrantAllowance", + "MsgRevokeAllowance", +] diff --git a/secret_sdk/core/feegrant/data.py b/secret_sdk/core/feegrant/data.py new file mode 100755 index 0000000..d53e21d --- /dev/null +++ b/secret_sdk/core/feegrant/data.py @@ -0,0 +1,282 @@ +"""feegrant module data objects.""" +from __future__ import annotations + +from abc import ABC, abstractmethod +from datetime import datetime, timedelta +from typing import List, Optional, Union + +import attr +from attr import converters +from betterproto.lib.google.protobuf import Any as Any_pb +from dateutil import parser +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import ( + AllowedMsgAllowance as AllowedMsgAllowance_pb, +) +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import BasicAllowance as BasicAllowance_pb +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import ( + PeriodicAllowance as PeriodicAllowance_pb, +) + +from secret_sdk.core import Coins +from secret_sdk.util.base import create_demux_unpack_any +from secret_sdk.util.converter import to_isoformat +from secret_sdk.util.json import JSONSerializable + +__all__ = ["BasicAllowance", "PeriodicAllowance", "AllowedMsgAllowance", "Allowance"] + + +@attr.s +class BasicAllowance(JSONSerializable): + """ + BasicAllowance implements Allowance with a one-time grant of tokens + that optionally expires. The grantee can use up to SpendLimit to cover fees. + """ + + spend_limit: Optional[Coins] = attr.ib(converter=converters.optional(Coins)) + expiration: Optional[datetime] = attr.ib(converter=converters.optional(parser.parse)) + + type_amino = "cosmos-sdk/BasicAllowance" + """""" + type_url = "/cosmos.feegrant.v1beta1.BasicAllowance" + """""" + prototype = BasicAllowance_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "spend_limit": self.spend_limit.to_amino() + if self.spend_limit + else None, + "expiration": to_isoformat(self.expiration) + if self.expiration + else None, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "spend_limit": self.spend_limit.to_data() if self.spend_limit else None, + "expiration": to_isoformat(self.expiration) if self.expiration else None, + } + + @classmethod + def from_amino(cls, amino: dict) -> BasicAllowance: + data = amino.get("value") + sl = data.get("spend_limit") or None + exp = data.get("expiration") or None + return cls( + spend_limit=Coins.from_amino(sl) if sl else None, + expiration=exp, + ) + + @classmethod + def from_data(cls, data: dict) -> BasicAllowance: + sl = data.get("spend_limit") + return cls( + spend_limit=Coins.from_data(sl) if sl else None, + expiration=data["expiration"], + ) + + def to_proto(self) -> BasicAllowance_pb: + return BasicAllowance_pb( + spend_limit=self.spend_limit.to_proto() + if (self.spend_limit and len(self.spend_limit) > 0) + else None, + expiration=self.expiration, + ) + + @classmethod + def from_proto(cls, proto: BasicAllowance_pb) -> BasicAllowance: + sl = proto.spend_limit + return cls( + spend_limit=Coins.from_proto(sl) if sl else None, + expiration=to_isoformat(proto.expiration), + ) + + +@attr.s +class PeriodicAllowance(JSONSerializable): + """ + PeriodicAllowance extends Allowance to allow for both a maximum cap, + as well as a limit per time period. + """ + + basic: BasicAllowance = attr.ib() + period: int = attr.ib(converter=int) + period_spend_limit: Coins = attr.ib(converter=Coins) + period_can_spend: Coins = attr.ib(converter=Coins) + period_reset: datetime = attr.ib(converter=parser.parse) + + type_amino = "cosmos-sdk/PeriodicAllowance" + """""" + type_url = "/cosmos.feegrant.v1beta1.PeriodicAllowance" + """""" + prototype = PeriodicAllowance_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "basic": self.basic.to_amino(), + "period": str(self.period), + "period_spend_limit": self.period_spend_limit.to_amino(), + "period_can_spend": self.period_can_spend.to_amino(), + "period_reset": to_isoformat(self.period_reset), + }, + } + + @classmethod + def from_amino(cls, amino: dict) -> PeriodicAllowance: + data = amino.get("value") + return cls( + basic=BasicAllowance.from_amino(data.get("basic")), + period=int(data.get("period")), + period_spend_limit=Coins.from_amino(data.get("period_spend_limit")), + period_can_spend=Coins.from_amino(data.get("period_can_spend")), + period_reset=data.get("period_reset"), + ) + + @classmethod + def from_data(cls, data: dict) -> PeriodicAllowance: + return cls( + basic=BasicAllowance.from_data(data["basic"]), + period=data["period"], + period_spend_limit=Coins.from_data(data["period_spend_limit"]), + period_can_spend=Coins.from_data(data["period_can_spend"]), + period_reset=data["period_reset"], + ) + + def to_proto(self) -> PeriodicAllowance_pb: + return PeriodicAllowance_pb( + basic=self.basic.to_proto(), + period=timedelta(seconds=self.period), + period_spend_limit=self.period_spend_limit.to_proto(), + period_can_spend=self.period_can_spend.to_proto(), + period_reset=self.period_reset, + ) + + @classmethod + def from_proto(cls, proto: PeriodicAllowance_pb) -> PeriodicAllowance: + return cls( + basic=BasicAllowance.from_proto(proto.basic), + period=proto.period.seconds(), + period_spend_limit=proto.period_spend_limit, + period_can_spend=proto.period_can_spend, + period_reset=to_isoformat(proto.period_reset), + ) + + +@attr.s +class AllowedMsgAllowance(JSONSerializable): + """ + AllowedMsgAllowance creates allowance only for specified message types. + """ + + allowance: Allowance = attr.ib() + allowed_messages: List[str] = attr.ib(converter=list) + + type_amino = "cosmos-sdk/AllowedMsgAllowance" + """""" + type_url = "/cosmos.feegrant.v1beta1.AllowedMsgAllowance" + """""" + + prototype = AllowedMsgAllowance_pb + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "allowance": self.allowance.to_amino(), + "allowed_messages": self.allowed_messages, + }, + } + + @classmethod + def from_amino(cls, data: dict) -> AllowedMsgAllowance: + allowance = data["allowance"] + return cls( + allowance=Allowance.from_amino(allowance), + allowed_messages=data["allowed_messages"], + ) + + @classmethod + def from_data(cls, data: dict) -> AllowedMsgAllowance: + allowance = data["allowance"] + return cls( + allowance=Allowance.from_data(allowance), + allowed_messages=data["allowed_messages"], + ) + + def to_proto(self) -> AllowedMsgAllowance_pb: + return AllowedMsgAllowance_pb( + allowance=Allowance.pack_any(self.allowance), + allowed_messages=self.allowed_messages, + ) + + @classmethod + def from_proto(cls, proto: AllowedMsgAllowance_pb) -> AllowedMsgAllowance: + return cls( + allowance=Allowance.unpack_any(proto.allowance), + allowed_messages=proto.allowed_messages, + ) + + +class Allowance(JSONSerializable, ABC): # (BasicAllowance, PeriodicAllowance): + @property + @abstractmethod + def type_url(self): + pass + + @property + @abstractmethod + def type_amino(self): + pass + + @abstractmethod + def to_amino(self) -> dict: + pass + + @abstractmethod + def to_data(self) -> dict: + pass + + @abstractmethod + def to_proto(self) -> dict: + pass + + @classmethod + def from_data(cls, data: dict): + if data.get("@type") == BasicAllowance.type_url: + return BasicAllowance.from_data(data) + elif data.get("@type") == PeriodicAllowance.type_url: + return PeriodicAllowance.from_data(data) + elif data.get("@type") == AllowedMsgAllowance.type_url: + return AllowedMsgAllowance.from_data(data) + + @classmethod + def from_amino(cls, data: dict): + if data.get("type") == BasicAllowance.type_amino: + return BasicAllowance.from_amino(data) + elif data.get("type") == PeriodicAllowance.type_amino: + return PeriodicAllowance.from_amino(data) + elif data.get("type") == AllowedMsgAllowance.type_amino: + return AllowedMsgAllowance.from_amino(data) + + @classmethod + def pack_any( + cls, proto: Union[BasicAllowance, PeriodicAllowance, AllowedMsgAllowance] + ) -> Any_pb: + return Any_pb(type_url=proto.type_url, value=bytes(proto.to_proto())) + + @classmethod + def unpack_any(cls, proto: Any_pb): + return parse_allowance_unpack_any(proto) + + +parse_allowance_unpack_any = create_demux_unpack_any( + [BasicAllowance, PeriodicAllowance, AllowedMsgAllowance] +) diff --git a/secret_sdk/core/feegrant/msgs.py b/secret_sdk/core/feegrant/msgs.py new file mode 100755 index 0000000..cef4c39 --- /dev/null +++ b/secret_sdk/core/feegrant/msgs.py @@ -0,0 +1,111 @@ +"""feegrant module message types.""" + +from __future__ import annotations + +import attr + +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import ( + MsgGrantAllowance as MsgGrantAllowance_pb, +) +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import ( + MsgRevokeAllowance as MsgRevokeAllowance_pb, +) + +from secret_sdk.core import AccAddress +from secret_sdk.core.msg import Msg + +from .data import Allowance + +__all__ = ["MsgGrantAllowance", "MsgRevokeAllowance"] + + +@attr.s +class MsgGrantAllowance(Msg): + """ + MsgGrantAllowance adds permission for Grantee to spend up to Allowance + of fees from the account of Granter. + """ + + granter: AccAddress = attr.ib() + grantee: AccAddress = attr.ib() + allowance: Allowance = attr.ib() + + type_amino = "cosmos-sdk/MsgGrantAllowance" + """""" + type_url = "/cosmos.feegrant.v1beta1.MsgGrantAllowance" + """""" + prototype = MsgGrantAllowance_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "granter": self.granter, + "grantee": self.grantee, + "allowance": self.allowance.to_amino(), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "granter": self.granter, + "grantee": self.grantee, + "allowance": self.allowance.to_data(), + } + + @classmethod + def from_data(cls, data: dict) -> MsgGrantAllowance: + return cls( + granter=data["granter"], + grantee=data["grantee"], + allowance=Allowance.from_data(data["allowance"]), + ) + + def to_proto(self) -> MsgGrantAllowance_pb: + return MsgGrantAllowance_pb( + granter=self.granter, + grantee=self.grantee, + allowance=Allowance.pack_any(self.allowance), + ) + + @classmethod + def from_proto(cls, proto: MsgGrantAllowance_pb) -> MsgGrantAllowance: + return cls( + granter=proto.granter, + grantee=proto.grantee, + allowance=Allowance.unpack_any(proto.allowance), + ) + + +@attr.s +class MsgRevokeAllowance(Msg): + """MsgRevokeAllowance remove permission any existing Allowance from Granter to Grantee.""" + + granter: AccAddress = attr.ib() + grantee: AccAddress = attr.ib() + + type_amino = "cosmos-sdk/MsgRevokeAllowance" + """""" + type_url = "/cosmos.feegrant.v1beta1.MsgRevokeAllowance" + """""" + prototype = MsgRevokeAllowance_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": {"granter": self.granter, "grantee": self.grantee}, + } + + @classmethod + def from_data(cls, data: dict) -> MsgRevokeAllowance: + return cls(granter=data["granter"], grantee=data["grantee"]) + + def to_proto(self) -> MsgRevokeAllowance_pb: + return MsgRevokeAllowance_pb(granter=self.granter, grantee=self.grantee) + + @classmethod + def from_proto(cls, proto: MsgRevokeAllowance_pb) -> MsgRevokeAllowance: + return cls(granter=proto.granter, grantee=proto.grantee) diff --git a/secret_sdk/core/gov/__init__.py b/secret_sdk/core/gov/__init__.py new file mode 100755 index 0000000..3ae15ce --- /dev/null +++ b/secret_sdk/core/gov/__init__.py @@ -0,0 +1,17 @@ +from secret_sdk.protobuf.cosmos.gov.v1beta1 import ProposalStatus + +from .data import Content, Proposal, VoteOption, WeightedVoteOption +from .msgs import MsgDeposit, MsgSubmitProposal, MsgVote +from .proposals import TextProposal + +__all__ = [ + "Content", + "MsgDeposit", + "MsgSubmitProposal", + "MsgVote", + "Proposal", + "TextProposal", + "ProposalStatus", + "VoteOption", + "WeightedVoteOption", +] diff --git a/secret_sdk/core/gov/data.py b/secret_sdk/core/gov/data.py new file mode 100755 index 0000000..e808d90 --- /dev/null +++ b/secret_sdk/core/gov/data.py @@ -0,0 +1,188 @@ +"""Gov module data types.""" + +from __future__ import annotations + +from datetime import datetime +from typing import List + +import attr +from dateutil import parser +from secret_sdk.protobuf.cosmos.gov.v1beta1 import Proposal as Proposal_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import ProposalStatus +from secret_sdk.protobuf.cosmos.gov.v1beta1 import TallyResult as TallyResult_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import Vote as Vote_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import VoteOption +from secret_sdk.protobuf.cosmos.gov.v1beta1 import WeightedVoteOption as WeightedVoteOption_pb + +from secret_sdk.core import AccAddress, Coins +from secret_sdk.util.converter import to_isoformat +from secret_sdk.util.json import JSONSerializable +from secret_sdk.util.parse_content import Content, parse_content + +__all__ = ["Proposal", "Content", "VoteOption", "WeightedVoteOption", "ProposalStatus"] + + +@attr.s +class TallyResult(JSONSerializable): + yes: str = attr.ib() + abstain: str = attr.ib() + no: str = attr.ib() + no_with_veto: str = attr.ib() + + def to_amino(self) -> dict: + return { + "yes": self.yes, + "abstain": self.abstain, + "no": self.no, + "no_with_veto": self.no_with_veto, + } + + def to_data(self) -> dict: + return { + "yes": self.yes, + "abstain": self.abstain, + "no": self.no, + "no_with_veto": self.no_with_veto, + } + + @classmethod + def from_data(cls, data: dict) -> TallyResult: + return cls( + yes=data["yes"], + abstain=data["abstain"], + no=data["no"], + no_with_veto=data["no_with_veto"], + ) + + def to_proto(self) -> TallyResult_pb: + return TallyResult_pb( + yes=self.yes, + abstain=self.abstain, + no=self.no, + no_with_veto=self.no_with_veto, + ) + + +@attr.s +class Proposal(JSONSerializable): + """Contains information about a submitted proposal on the blockchain.""" + + proposal_id: int = attr.ib(converter=int) + """Proposal's ID.""" + + content: Content = attr.ib() + """Proposal contents.""" + + status: str = attr.ib() + """Status of proposal.""" + + final_tally_result: TallyResult = attr.ib() + """Final tallied result of the proposal (after vote).""" + + submit_time: datetime = attr.ib(converter=parser.parse) + """Timestamp at which proposal was submitted.""" + + deposit_end_time: datetime = attr.ib(converter=parser.parse) + """Time at which the deposit period ended, or will end.""" + + total_deposit: Coins = attr.ib(converter=Coins) + """Total amount deposited for proposal""" + + voting_start_time: datetime = attr.ib(converter=parser.parse) + """Time at which voting period started, or will start.""" + + voting_end_time: datetime = attr.ib(converter=parser.parse) + """Time at which voting period ended, or will end.""" + + def to_amino(self) -> dict: + return { + "proposal_id": str(self.proposal_id), + "content": self.content.to_amino(), + "status": self.status, + "final_tally_result": self.final_tally_result.to_amino(), + "submit_time": to_isoformat(self.submit_time), + "deposit_end_time": to_isoformat(self.deposit_end_time), + "total_deposit": self.total_deposit.to_amino(), + "voting_start_time": to_isoformat(self.voting_start_time), + "voting_end_time": to_isoformat(self.voting_end_time), + } + + @classmethod + def from_data(cls, data: dict) -> Proposal: + return cls( + proposal_id=data["proposal_id"], + content=parse_content(data["content"]), + status=data["status"], + final_tally_result=data["final_tally_result"], + submit_time=data["submit_time"], + deposit_end_time=data["deposit_end_time"], + total_deposit=Coins.from_data(data["total_deposit"]), + voting_start_time=data["voting_start_time"], + voting_end_time=data["voting_end_time"], + ) + + def to_proto(self) -> Proposal_pb: + return Proposal_pb( + proposal_id=self.proposal_id, + content=self.content.pack_any(), + status=ProposalStatus.from_str(self.status), + final_tally_result=self.final_tally_result.to_proto(), + submit_time=self.submit_time, + deposit_end_time=self.deposit_end_time, + total_deposit=self.total_deposit.to_proto(), + voting_start_time=self.voting_start_time, + voting_end_time=self.voting_end_time, + ) + + +@attr.s +class WeightedVoteOption(JSONSerializable): + weight: str = attr.ib() + option: VoteOption = attr.ib(converter=int) + + def to_amino(self) -> dict: + return {"weight": self.weight, "option": self.option.name} + + def to_data(self) -> dict: + return {"weight": self.weight, "option": self.option.name} + + @classmethod + def from_data(cls, data: dict) -> WeightedVoteOption: + return cls(option=data["option"], weight=data["weight"]) + + def to_proto(self) -> WeightedVoteOption_pb: + return WeightedVoteOption_pb(option=self.option, weight=self.weight) + + +@attr.s +class Vote(JSONSerializable): + proposal_id: int = attr.ib(converter=int) + voter: AccAddress = attr.ib() + options: List[WeightedVoteOption] = attr.ib(converter=list) + + def to_amino(self) -> dict: + return { + "proposal_id": str(self.proposal_id), + "voter": self.voter, + "options": [opt.to_amino() for opt in self.options], + } + + def to_data(self) -> dict: + return { + "proposal_id": str(self.proposal_id), + "voter": self.voter, + "options": [opt.to_data() for opt in self.options], + } + + @classmethod + def from_data(cls, data: dict) -> Vote: + return cls( + proposal_id=data["proposal_id"], + voter=data["voter"], + options=data["options"], + ) + + def to_proto(self) -> Vote_pb: + return Vote_pb( + proposal_id=self.proposal_id, voter=self.voter, options=self.options + ) diff --git a/secret_sdk/core/gov/msgs.py b/secret_sdk/core/gov/msgs.py new file mode 100755 index 0000000..20d1448 --- /dev/null +++ b/secret_sdk/core/gov/msgs.py @@ -0,0 +1,232 @@ +"""Gov module message types.""" + +from __future__ import annotations + +import attr +from secret_sdk.protobuf.cosmos.gov.v1beta1 import MsgDeposit as MsgDeposit_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import MsgSubmitProposal as MsgSubmitProposal_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import MsgVote as MsgVote_pb + +from secret_sdk.core import AccAddress, Coins +from secret_sdk.core.msg import Msg + +from .data import Content, VoteOption + +__all__ = ["MsgSubmitProposal", "MsgDeposit", "MsgVote"] + + +@attr.s +class MsgSubmitProposal(Msg): + """Submit the attached proposal with an initial deposit. + + Args: + content (Content): type of proposal + initial_deposit (Coins): initial deposit for proposal made by proposer + proposer (AccAddress): proposal submitter + """ + + type_amino = "cosmos-sdk/MsgSubmitProposal" + """""" + type_url = "/cosmos.gov.v1beta1.MsgSubmitProposal" + """""" + action = "submit_proposal" + """""" + prototype = MsgSubmitProposal_pb + """""" + + content: Content = attr.ib() + initial_deposit: Coins = attr.ib(converter=Coins) + proposer: AccAddress = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "content": self.content.to_amino(), + "initial_deposit": self.initial_deposit.to_amino(), + "proposer": self.proposer, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "content": self.content.to_data(), + "initial_deposit": self.initial_deposit.to_data(), + "proposer": self.proposer, + } + + @classmethod + def from_data(cls, data: dict) -> MsgSubmitProposal: + from secret_sdk.util.parse_content import parse_content + + content = parse_content(data["content"]) + return cls( + content=content, + initial_deposit=Coins.from_data(data["initial_deposit"]), + proposer=data["proposer"], + ) + + def to_proto(self) -> MsgSubmitProposal_pb: + return MsgSubmitProposal_pb( + content=self.content.to_proto(), + initial_deposit=self.initial_deposit.to_proto(), + proposer=self.proposer, + ) + + @classmethod + def from_proto(cls, proto: MsgSubmitProposal_pb) -> MsgSubmitProposal: + from secret_sdk.util.parse_content import parse_content_unpack_any + + content = parse_content_unpack_any(proto.content) + return cls( + content=content, + initial_deposit=Coins.from_proto(proto.initial_deposit), + proposer=proto.proposer, + ) + + +@attr.s +class MsgDeposit(Msg): + """Deposit funds for an active deposit-stage proposal. + + Args: + proposal_id (int): proposal number to deposit for + depositor (AccAddress): account making deposit + amount (Coins): amount to deposit + """ + + type_amino = "cosmos-sdk/MsgDeposit" + """""" + type_url = "/cosmos.gov.v1beta1.MsgDeposit" + """""" + action = "deposit" + """""" + prototype = MsgDeposit_pb + """""" + + proposal_id: int = attr.ib(converter=int) + depositor: AccAddress = attr.ib() + amount: Coins = attr.ib(converter=Coins) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "proposal_id": str(self.proposal_id), + "depositor": self.depositor, + "amount": self.amount.to_amino(), + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "proposal_id": str(self.proposal_id), + "depositor": self.depositor, + "amount": self.amount.to_data(), + } + + @classmethod + def from_data(cls, data: dict) -> MsgDeposit: + return cls( + proposal_id=data["proposal_id"], + depositor=data["depositor"], + amount=Coins.from_data(data["amount"]), + ) + + def to_proto(self) -> MsgDeposit_pb: + return MsgDeposit_pb( + proposal_id=self.proposal_id, + depositor=self.depositor, + amount=self.amount.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgDeposit_pb) -> MsgDeposit: + return cls( + proposal_id=proto.proposal_id, + depositor=proto.depositor, + amount=Coins.from_proto(proto.amount), + ) + + +@attr.s +class MsgVote(Msg): + """Vote for an active voting-stage proposal. + + Args: + proposal_id (int): proposal to vote for + voter (AccAddress): account casting vote + option (VoteOption): vote option (must be one of: :data:`MsgVote.ABSTAIN`, :data:`MsgVote.YES`, :data:`MsgVote.NO`, or :data:`MsgVote.NO_WITH_VETO`), + """ + + type_amino = "cosmos-sdk/MsgVote" + """""" + type_url = "/cosmos.gov.v1beta1.MsgVote" + """""" + action = "vote" + """""" + prototype = MsgVote_pb + """""" + + EMPTY = "Empty" + """Encodes an empty vote option.""" + + YES = "Yes" + """""" + ABSTAIN = "Abstain" + """""" + NO = "No" + """""" + NO_WITH_VETO = "NoWithVeto" + """""" + + proposal_id: int = attr.ib(converter=int) + voter: AccAddress = attr.ib() + option: VoteOption = attr.ib() + + """ + @option.validator + def _check_option(self, attribute, value): + possible_options = [ + self.EMPTY, + self.YES, + self.ABSTAIN, + self.NO, + self.NO_WITH_VETO, + ] + if value not in possible_options: + raise TypeError( + f"incorrect value for option: {value}, must be one of: {possible_options}" + ) + """ + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "proposal_id": str(self.proposal_id), + "voter": self.voter, + "option": self.option.name, + }, + } + + @classmethod + def from_data(cls, data: dict) -> MsgVote: + return cls( + proposal_id=data["proposal_id"], + voter=data["voter"], + option=data["option"], + ) + + def to_proto(self) -> MsgVote_pb: + return MsgVote_pb( + proposal_id=self.proposal_id, voter=self.voter, options=self.option + ) + + @classmethod + def from_proto(cls, proto: MsgVote_pb) -> MsgVote: + return cls( + proposal_id=proto.proposal_id, voter=proto.voter, option=proto.option + ) diff --git a/secret_sdk/core/gov/proposals.py b/secret_sdk/core/gov/proposals.py new file mode 100755 index 0000000..2ee4624 --- /dev/null +++ b/secret_sdk/core/gov/proposals.py @@ -0,0 +1,59 @@ +"""Gov module governance proposal types.""" + +from __future__ import annotations + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.gov.v1beta1 import TextProposal as TextProposal_pb + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["TextProposal"] + + +@attr.s +class TextProposal(JSONSerializable): + """Generic proposal type with only title and description that does nothing if + passed. Primarily used for assessing the community sentiment around the proposal. + + Args: + title: proposal title + description: proposal description + """ + + type_amino = "cosmos-sdk/TextProposal" + """""" + type_url = "/cosmos.gov.v1beta1.TextProposal" + """""" + prototype = TextProposal_pb + """""" + + title: str = attr.ib() + description: str = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": {"title": self.title, "description": self.description}, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "title": self.title, + "description": self.description, + } + + @classmethod + def from_data(cls, data: dict) -> TextProposal: + return cls(title=data["title"], description=data["description"]) + + def to_proto(self) -> TextProposal_pb: + return TextProposal_pb(title=self.title, description=self.description) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + @classmethod + def from_proto(cls, proto: TextProposal_pb): + return cls(title=proto.title, description=proto.description) diff --git a/secret_sdk/core/ibc/__init__.py b/secret_sdk/core/ibc/__init__.py new file mode 100755 index 0000000..735431b --- /dev/null +++ b/secret_sdk/core/ibc/__init__.py @@ -0,0 +1,3 @@ +from .data import Height + +__all__ = ["Height"] diff --git a/secret_sdk/core/ibc/data/__init__.py b/secret_sdk/core/ibc/data/__init__.py new file mode 100755 index 0000000..caa85f6 --- /dev/null +++ b/secret_sdk/core/ibc/data/__init__.py @@ -0,0 +1,24 @@ +from .channel import Channel, Counterparty, Order, Packet, State +from .client import ( + ClientConsensusStates, + ConsensusStateWithHeight, + Height, + IdentifiedClientState, + Params, +) +from .commitment import MerklePrefix, MerkleRoot + +__all__ = [ + "Height", + "IdentifiedClientState", + "ConsensusStateWithHeight", + "ClientConsensusStates", + "Params", + "MerkleRoot", + "MerklePrefix", + "Counterparty", + "Channel", + "Order", + "State", + "Packet", +] diff --git a/secret_sdk/core/ibc/data/channel.py b/secret_sdk/core/ibc/data/channel.py new file mode 100755 index 0000000..30127c8 --- /dev/null +++ b/secret_sdk/core/ibc/data/channel.py @@ -0,0 +1,150 @@ +"""ibc channel module data objects.""" +from __future__ import annotations + +from typing import List + +import attr +from secret_sdk.protobuf.ibc.core.channel.v1 import Channel as Channel_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import Counterparty as Counterparty_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import Order +from secret_sdk.protobuf.ibc.core.channel.v1 import Packet as Packet_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import State + +from secret_sdk.core.ibc.data.client import Height +from secret_sdk.util.json import JSONSerializable + +__all__ = ["Counterparty", "Channel", "Order", "State", "Packet"] + + +@attr.s +class Counterparty(JSONSerializable): + """ + Counterparty defines a channel end counterparty + """ + + port_id: str = attr.ib() + channel_id: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Counterparty: + return cls( + port_id=data["port_id"], + channel_id=data["channel_id"], + ) + + def to_proto(self) -> Counterparty_pb: + return Counterparty_pb(port_id=self.port_id, channel_id=self.channel_id) + + @classmethod + def from_proto(cls, proto: Counterparty_pb) -> Counterparty: + return cls( + port_id=proto.port_id, + channel_id=proto.channel_id, + ) + + +@attr.s +class Channel(JSONSerializable): + """ + Channel defines pipeline for exactly-once packet delivery between specific + modules on separate blockchains, which has at least one end capable of + sending packets and one end capable of receiving packets. + """ + + state: State = attr.ib(converter=int) + ordering: Order = attr.ib(converter=int) + counterparty: Counterparty = attr.ib() + connection_hops: List[str] = attr.ib(converter=list) + version: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Channel: + return cls( + state=data["state"], + ordering=data["ordering"], + counterparty=Counterparty.from_data(data["counterparty"]), + connection_hops=data["connection_hops"], + version=data["version"], + ) + + def to_proto(self) -> Channel_pb: + return Channel_pb( + state=self.state, + ordering=self.ordering, + counterparty=self.counterparty.to_proto(), + connection_hops=self.connection_hops, + version=self.version, + ) + + @classmethod + def from_proto(cls, proto: Channel_pb) -> Channel: + return cls( + state=proto.state, + ordering=proto.ordering, + counterparty=Counterparty.from_proto(proto.counterparty), + connection_hops=proto.connection_hops, + version=proto.version, + ) + + +@attr.s +class Packet(JSONSerializable): + """ + Packet defines a type that carries data across different chains through IBC + """ + + sequence: int = attr.ib(converter=int) + source_port: str = attr.ib() + source_channel: str = attr.ib() + destination_port: str = attr.ib() + destination_channel: str = attr.ib() + data: bytes = attr.ib() + timeout_height: Height = attr.ib() + timeout_timestamp: int = attr.ib(converter=int) + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Packet: + return cls( + sequence=data["sequence"], + source_port=data["source_port"], + source_channel=data["source_channel"], + destination_port=data["destination_port"], + destination_channel=data["destination_channel"], + data=data["data"], + timeout_height=Height.from_data(data["timeout_height"]), + timeout_timestamp=data["timeout_timestamp"], + ) + + def to_proto(self) -> Packet_pb: + return Packet_pb( + sequence=self.sequence, + source_port=self.source_port, + source_channel=self.source_channel, + destination_port=self.destination_port, + destination_channel=self.destination_channel, + data=self.data, + timeout_height=self.timeout_height.to_proto(), + timeout_timestamp=self.timeout_timestamp, + ) + + @classmethod + def from_proto(cls, proto: Packet_pb) -> Packet: + return cls( + sequence=proto.sequence, + source_port=proto.source_port, + source_channel=proto.source_channel, + destination_port=proto.destination_port, + destination_channel=proto.destination_channel, + data=proto.data, + timeout_height=Height.from_proto(proto.timeout_height), + timeout_timestamp=proto.timeout_timestamp, + ) diff --git a/secret_sdk/core/ibc/data/client.py b/secret_sdk/core/ibc/data/client.py new file mode 100755 index 0000000..4552bc0 --- /dev/null +++ b/secret_sdk/core/ibc/data/client.py @@ -0,0 +1,183 @@ +"""ibc client module data objects.""" +from __future__ import annotations + +from typing import List + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.ibc.core.client.v1 import ( + ClientConsensusStates as ClientConsensusStates_pb, +) +from secret_sdk.protobuf.ibc.core.client.v1 import ( + ConsensusStateWithHeight as ConsensusStateWithHeight_pb, +) +from secret_sdk.protobuf.ibc.core.client.v1 import Height as Height_pb +from secret_sdk.protobuf.ibc.core.client.v1 import ( + IdentifiedClientState as IdentifiedClientState_pb, +) +from secret_sdk.protobuf.ibc.core.client.v1 import Params as Params_pb + +from secret_sdk.util.json import JSONSerializable + +__all__ = [ + "Height", + "IdentifiedClientState", + "ConsensusStateWithHeight", + "ClientConsensusStates", + "Params", +] + + +@attr.s +class Height(JSONSerializable): + revision_number: int = attr.ib(converter=int) + revision_height: int = attr.ib(converter=int) + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Height: + return cls( + revision_number=data["revision_number"], + revision_height=data["revision_height"], + ) + + def to_proto(self) -> Height_pb: + return Height_pb( + revision_number=self.revision_number, revision_height=self.revision_height + ) + + @classmethod + def from_proto(cls, proto: Height_pb) -> Height: + return cls( + revision_number=proto.revision_number, + revision_height=proto.revision_height, + ) + + +@attr.s +class IdentifiedClientState(JSONSerializable): + """ + IdentifiedClientState defines a client state with an additional client identifier field. + """ + + client_id: str = attr.ib() + client_state: dict = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> IdentifiedClientState: + return cls( + client_id=data["client_id"], + client_state=Any_pb().from_dict(data["client_state"]), + ) + + def to_proto(self) -> IdentifiedClientState_pb: + return IdentifiedClientState_pb( + client_id=self.client_id, + client_state=Any_pb().from_dict(self.client_state), + ) + + @classmethod + def from_proto(cls, proto: IdentifiedClientState_pb) -> IdentifiedClientState: + return cls( + client_id=proto.client_id, client_state=proto.client_state.to_dict() + ) + + +@attr.s +class ConsensusStateWithHeight(JSONSerializable): + """ + ConsensusStateWithHeight defines a consensus state with an additional height field. + """ + + height: Height = attr.ib() + consensus_state: dict = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> ConsensusStateWithHeight: + return cls( + height=data["height"], + consensus_state=Any_pb().from_dict(data["consensus_state"]), + ) + + def to_proto(self) -> ConsensusStateWithHeight_pb: + return ConsensusStateWithHeight_pb( + height=self.height.to_proto(), + consensus_state=Any_pb().from_dict(self.consensus_state), + ) + + @classmethod + def from_proto(cls, proto: ConsensusStateWithHeight_pb) -> ConsensusStateWithHeight: + return cls( + height=Height.from_proto(proto.height), + consensus_state=proto.consensus_state.to_dict(), + ) + + +@attr.s +class ClientConsensusStates(JSONSerializable): + """ + ClientConsensusStates defines all the stored consensus states for a given client. + """ + + client_id: str = attr.ib() + consensus_states: List[ConsensusStateWithHeight] = attr.ib(converter=list) + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> ClientConsensusStates: + return cls( + client_id=data["client_id"], + consensus_states=[ + ConsensusStateWithHeight.from_data(state) + for state in data["consensus_states"] + ], + ) + + def to_proto(self) -> ClientConsensusStates_pb: + return ClientConsensusStates_pb( + client_id=self.client_id, + consensus_states=[state.to_proto() for state in self.consensus_states], + ) + + @classmethod + def from_proto(cls, proto: ClientConsensusStates_pb) -> ClientConsensusStates: + return cls( + client_id=proto.client_id, + consensus_states=[ + ConsensusStateWithHeight.from_proto(state) + for state in proto.consensus_states + ], + ) + + +@attr.s +class Params(JSONSerializable): + """ + Params defines the set of IBC light client parameters. + """ + + allowed_clients: List[str] = attr.ib(converter=list) + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Params: + return cls(allowed_clients=data["allowed_clients"]) + + def to_proto(self) -> Params_pb: + return Params_pb(allowed_clients=self.allowed_clients) + + @classmethod + def from_proto(cls, proto: Params_pb) -> Params: + return cls(allowed_clients=proto.allowed_clients) diff --git a/secret_sdk/core/ibc/data/commitment.py b/secret_sdk/core/ibc/data/commitment.py new file mode 100755 index 0000000..e2cbd2b --- /dev/null +++ b/secret_sdk/core/ibc/data/commitment.py @@ -0,0 +1,50 @@ +"""ibc commitment module data objects.""" +from __future__ import annotations + +import base64 + +import attr +from secret_sdk.protobuf.ibc.core.commitment.v1 import MerklePrefix as MerklePrefix_pb +from secret_sdk.protobuf.ibc.core.commitment.v1 import MerkleRoot as MerkleRoot_pb + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["MerkleRoot", "MerklePrefix"] + + +@attr.s +class MerkleRoot(JSONSerializable): + hash: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MerkleRoot: + return cls(hash=(data["hash"])) + + def to_proto(self) -> MerkleRoot_pb: + return MerkleRoot_pb(hash=base64.b64decode(self.hash)) + + @classmethod + def from_proto(cls, proto: MerkleRoot_pb) -> MerkleRoot: + return cls(hash=base64.b64encode(proto.hash).decode()) + + +@attr.s +class MerklePrefix(JSONSerializable): + key_prefix: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MerklePrefix: + return cls(key_prefix=data["key_prefix"]) + + def to_proto(self) -> MerklePrefix_pb: + return MerklePrefix_pb(key_prefix=base64.b64decode(self.key_prefix)) + + @classmethod + def from_proto(cls, proto: MerklePrefix_pb) -> MerklePrefix: + return cls(key_prefix=base64.b64encode(proto.key_prefix).decode()) diff --git a/secret_sdk/core/ibc/data/connection.py b/secret_sdk/core/ibc/data/connection.py new file mode 100755 index 0000000..19b7621 --- /dev/null +++ b/secret_sdk/core/ibc/data/connection.py @@ -0,0 +1,70 @@ +"""ibc connection module data objects.""" +from __future__ import annotations + +from typing import List + +import attr +from secret_sdk.protobuf.ibc.core.connection.v1 import Counterparty as Counterparty_pb +from secret_sdk.protobuf.ibc.core.connection.v1 import Version as Version_pb + +from secret_sdk.util.json import JSONSerializable + +from .commitment import MerklePrefix + +__all__ = ["Version", "Counterparty"] + + +@attr.s +class Version(JSONSerializable): + identifier: str = attr.ib() + features: List[str] = attr.ib(converter=list) + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Version: + return cls( + identifier=data["identifier"], + features=data["features"], + ) + + def to_proto(self) -> Version_pb: + return Version_pb(identifier=self.identifier, features=self.features) + + @classmethod + def from_proto(cls, proto: Version_pb) -> Version: + return cls(identifier=proto.identifier, features=proto.features) + + +@attr.s +class Counterparty(JSONSerializable): + client_id: str = attr.ib() + connection_id: str = attr.ib() + prefix: MerklePrefix = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> Counterparty: + return cls( + client_id=data["client_id"], + connection_id=data["client_id"], + prefix=data["prefix"], + ) + + def to_proto(self) -> Counterparty_pb: + return Counterparty_pb( + client_id=self.client_id, + connection_id=self.connection_id, + prefix=self.prefix.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: Counterparty_pb) -> Counterparty: + return cls( + client_id=proto.client_id, + connection_id=proto.connection_id, + prefix=MerklePrefix.from_proto(proto.prefix), + ) diff --git a/secret_sdk/core/ibc/msgs/__init__.py b/secret_sdk/core/ibc/msgs/__init__.py new file mode 100755 index 0000000..a4e1d37 --- /dev/null +++ b/secret_sdk/core/ibc/msgs/__init__.py @@ -0,0 +1,43 @@ +from .channel import ( + MsgAcknowledgement, + MsgChannelCloseConfirm, + MsgChannelCloseInit, + MsgChannelOpenAck, + MsgChannelOpenConfirm, + MsgChannelOpenInit, + MsgChannelOpenTry, + MsgRecvPacket, + MsgTimeout, +) +from .client import ( + MsgCreateClient, + MsgSubmitMisbehaviour, + MsgUpdateClient, + MsgUpgradeClient, +) +from .connection import ( + MsgConnectionOpenAck, + MsgConnectionOpenConfirm, + MsgConnectionOpenInit, + MsgConnectionOpenTry, +) + +__all__ = [ + "MsgCreateClient", + "MsgUpdateClient", + "MsgUpgradeClient", + "MsgSubmitMisbehaviour", + "MsgConnectionOpenInit", + "MsgConnectionOpenTry", + "MsgConnectionOpenAck", + "MsgConnectionOpenConfirm", + "MsgChannelOpenInit", + "MsgChannelOpenTry", + "MsgChannelOpenAck", + "MsgChannelOpenConfirm", + "MsgChannelCloseInit", + "MsgChannelCloseConfirm", + "MsgRecvPacket", + "MsgTimeout", + "MsgAcknowledgement", +] diff --git a/secret_sdk/core/ibc/msgs/channel.py b/secret_sdk/core/ibc/msgs/channel.py new file mode 100755 index 0000000..d8c7ed2 --- /dev/null +++ b/secret_sdk/core/ibc/msgs/channel.py @@ -0,0 +1,479 @@ +"""ibc connection module message types.""" + +from __future__ import annotations + +import attr +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgAcknowledgement as MsgAcknowledgement_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import ( + MsgChannelCloseConfirm as MsgChannelCloseConfirm_pb, +) +from secret_sdk.protobuf.ibc.core.channel.v1 import ( + MsgChannelCloseInit as MsgChannelCloseInit_pb, +) +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgChannelOpenAck as MsgChannelOpenAck_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import ( + MsgChannelOpenConfirm as MsgChannelOpenConfirm_pb, +) +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgChannelOpenInit as MsgChannelOpenInit_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgChannelOpenTry as MsgChannelOpenTry_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgRecvPacket as MsgRecvPacket_pb +from secret_sdk.protobuf.ibc.core.channel.v1 import MsgTimeout as MsgTimeout_pb + +from secret_sdk.core.ibc.data.channel import Channel, Packet +from secret_sdk.core.ibc.data.client import Height +from secret_sdk.core.msg import Msg + +# TODO: support MsgTimeoutClose +__all__ = [ + "MsgChannelOpenInit", + "MsgChannelOpenTry", + "MsgChannelOpenAck", + "MsgChannelOpenConfirm", + "MsgChannelCloseInit", + "MsgChannelCloseConfirm", + "MsgRecvPacket", + "MsgTimeout", + "MsgAcknowledgement", +] + + +@attr.s +class MsgChannelOpenInit(Msg): + """ + MsgChannelOpenInit defines an sdk.Msg to initialize a channel handshake. It + is called by a relayer on Chain A. + """ + + type_url = "/ibc.core.channel.v1.MsgChannelOpenInit" + """""" + prototype = MsgChannelOpenInit_pb + """""" + + port_id: str = attr.ib() + channel: Channel = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelOpenInit: + return cls( + port_id=data["port_id"], + channel=Channel.from_data(data["port_id"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelOpenInit_pb: + return MsgChannelOpenInit_pb( + port_id=self.port_id, channel=self.channel.to_proto(), signer=self.signer + ) + + @classmethod + def from_proto(cls, proto: MsgChannelOpenInit_pb) -> MsgChannelOpenInit: + return cls( + port_id=proto.port_id, + channel=Channel.from_proto(proto.channel), + signer=proto.signer, + ) + + +@attr.s +class MsgChannelOpenTry(Msg): + """ + MsgChannelOpenInit defines a msg sent by a Relayer to try to open a channel + on Chain B. + """ + + type_url = "/ibc.core.channel.v1.MsgChannelOpenTry" + """""" + prototype = MsgChannelOpenTry_pb + """""" + + port_id: str = attr.ib() + previous_channel_id: str = attr.ib() + channel: Channel = attr.ib() + counterparty_version: str = attr.ib() + proof_init: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelOpenTry: + return cls( + port_id=data["port_id"], + previous_channel_id=data["previous_channel_id"], + channel=Channel.from_data(data["channel"]), + counterparty_version=data["counterparty_version"], + proof_init=data["proof_init"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelOpenTry_pb: + return MsgChannelOpenTry_pb( + port_id=self.port_id, + previous_channel_id=self.previous_channel_id, + channel=self.channel.to_proto(), + counterparty_version=self.counterparty_version, + proof_init=self.proof_init, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgChannelOpenTry_pb) -> MsgChannelOpenTry: + return cls( + port_id=proto.port_id, + previous_channel_id=proto.previous_channel_id, + channel=Channel.from_proto(proto.channel), + counterparty_version=proto.counterparty_version, + proof_init=proto.proof_init, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) + + +class MsgChannelOpenAck(Msg): + """ + MsgChannelOpenAck defines a msg sent by a Relayer to Chain A to acknowledge + the change of channel state to TRYOPEN on Chain B. + """ + + type_url = "/ibc.core.channel.v1.MsgChannelOpenAck" + """""" + prototype = MsgChannelOpenAck_pb + """""" + + port_id: str = attr.ib() + channel_id: str = attr.ib() + counterparty_channel_id: str = attr.ib() + counterparty_version: str = attr.ib() + proof_try: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelOpenAck: + return cls( + port_id=data["port_id"], + channel_id=data["channel_id"], + counterparty_channel_id=data["counterparty_channel_id"], + counterparty_version=data["counterparty_version"], + proof_try=data["proof_try"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelOpenAck_pb: + return MsgChannelOpenAck_pb( + port_id=self.port_id, + channel_id=self.channel_id, + counterparty_channel_id=self.counterparty_channel_id, + counterparty_version=self.counterparty_version, + proof_try=self.proof_try, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgChannelOpenAck) -> MsgChannelOpenAck: + return cls( + port_id=proto.port_id, + channel_id=proto.channel_id, + counterparty_channel_id=proto.counterparty_channel_id, + counterparty_version=proto.counterparty_version, + proof_try=proto.proof_try, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) + + +@attr.s +class MsgChannelOpenConfirm(Msg): + """ + MsgChannelOpenConfirm defines a msg sent by a Relayer to Chain B to + acknowledge the change of channel state to OPEN on Chain A. + """ + + type_url = "/ibc.core.channel.v1.MsgChannelOpenConfirm" + """""" + prototype = MsgChannelOpenConfirm_pb + """""" + + port_id: str = attr.ib() + channel_id: str = attr.ib() + proof_ack: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelOpenConfirm: + return cls( + port_id=data["port_id"], + channel_id=data["channel_id"], + proof_ack=data["proof_ack"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelOpenConfirm_pb: + return MsgChannelOpenConfirm_pb( + port_id=self.port_id, + channel_id=self.channel_id, + proof_ack=self.proof_ack, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgChannelOpenConfirm_pb) -> MsgChannelOpenConfirm: + return cls( + port_id=proto.port_id, + channel_id=proto.channel_id, + proof_ack=proto.proof_ack, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) + + +@attr.s +class MsgChannelCloseInit(Msg): + """ """ + + type_url = "/ibc.core.channel.v1.MsgChannelCloseInit" + """""" + prototype = MsgChannelCloseInit_pb + """""" + + port_id: str = attr.ib() + channel_id: str = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelCloseInit: + return cls( + port_id=data["port_id"], + channel_id=data["channel_id"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelCloseInit_pb: + return MsgChannelCloseInit_pb( + port_id=self.port_id, channel_id=self.channel_id, signer=self.signer + ) + + @classmethod + def from_proto(cls, proto: MsgChannelOpenInit_pb) -> MsgChannelCloseInit: + return cls( + port_id=proto.port_id, channel_id=proto.channel_id, signer=proto.signer + ) + + +@attr.s +class MsgChannelCloseConfirm(Msg): + """ + MsgChannelCloseConfirm defines a msg sent by a Relayer to Chain B to + acknowledge the change of channel state to CLOSED on Chain A. + """ + + type_url = "/ibc.core.channel.v1.MsgChannelCloseConfirm" + """""" + prototype = MsgChannelCloseConfirm_pb + """""" + + port_id: str = attr.ib() + channel_id: str = attr.ib() + proof_init: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgChannelCloseConfirm: + return cls( + port_id=data["port_id"], + channel_id=data["channel_id"], + proof_init=data["proof_init"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgChannelCloseConfirm_pb: + return MsgChannelCloseConfirm_pb( + port_id=self.port_id, + channel_id=self.channel_id, + proof_init=self.proof_init, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgChannelCloseConfirm_pb) -> MsgChannelCloseConfirm: + return cls( + port_id=proto.port_id, + channel_id=proto.channel_id, + proof_init=proto.proof_init, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) + + +@attr.s +class MsgRecvPacket(Msg): + """ + MsgRecvPacket receives incoming IBC packet + """ + + type_url = "/ibc.core.channel.v1.MsgRecvPacket" + """""" + prototype = MsgRecvPacket_pb + """""" + + packet: Packet = attr.ib() + proof_commitment: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgRecvPacket: + return cls( + packet=Packet.from_data(data["packet"]), + proof_commitment=data["proof_commitment"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgRecvPacket_pb: + return MsgRecvPacket_pb( + packet=self.packet.to_proto(), + proof_commitment=self.proof_commitment, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgRecvPacket_pb) -> MsgRecvPacket: + return cls( + packet=Packet.from_proto(proto.packet), + proof_commitment=proto.proof_commitment, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) + + +@attr.s +class MsgTimeout(Msg): + """ + MsgTimeout receives timed-out packet + """ + + type_url = "/ibc.core.channel.v1.MsgTimeout" + """""" + prototype = MsgTimeout_pb + """""" + + packet: Packet = attr.ib() + proof_unreceived: bytes = attr.ib() + proof_height: Height = attr.ib() + next_sequence_recv: int = attr.ib(converter=int) + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgTimeout: + return cls( + packet=Packet.from_data(data["packet"]), + proof_unreceived=data["proof_unreceived"], + proof_height=Height.from_data(data["proof_height"]), + next_sequence_recv=data["next_sequence_recv"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgTimeout_pb: + return MsgTimeout_pb( + packet=self.packet.to_proto(), + proof_unreceived=self.proof_unreceived, + proof_height=self.proof_height.to_proto(), + next_sequence_recv=self.next_sequence_recv, + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgTimeout_pb) -> MsgTimeout: + return cls( + packet=Packet.from_proto(proto.packet), + proof_unreceived=proto.proof_unreceived, + proof_height=Height.from_proto(proto.proof_height), + next_sequence_recv=proto.next_sequence_recv, + signer=proto.signer, + ) + + +@attr.s +class MsgAcknowledgement(Msg): + """ + MsgAcknowledgement receives incoming IBC acknowledgement + """ + + type_url = "/ibc.core.channel.v1.MsgAcknowledgement" + """""" + prototype = MsgAcknowledgement_pb + """""" + + packet: Packet = attr.ib() + acknowledgement: bytes = attr.ib() + proof_acked: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgAcknowledgement: + return cls( + packet=Packet.from_data(data["packet"]), + acknowledgement=data["acknowledgement"], + proof_acked=data["proof_acked"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgAcknowledgement_pb: + return MsgAcknowledgement_pb( + packet=self.packet.to_proto(), + acknowledgement=self.acknowledgement, + proof_acked=self.proof_acked, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgAcknowledgement_pb) -> MsgAcknowledgement: + return cls( + packet=Packet.from_proto(proto.packet), + acknowledgement=proto.acknowledgement, + proof_acked=proto.proof_acked, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) diff --git a/secret_sdk/core/ibc/msgs/client.py b/secret_sdk/core/ibc/msgs/client.py new file mode 100755 index 0000000..7897e1e --- /dev/null +++ b/secret_sdk/core/ibc/msgs/client.py @@ -0,0 +1,199 @@ +"""ibc connection module message types.""" + +from __future__ import annotations + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.ibc.core.client.v1 import MsgCreateClient as MsgCreateClient_pb +from secret_sdk.protobuf.ibc.core.client.v1 import ( + MsgSubmitMisbehaviour as MsgSubmitMisbehaviour_pb, +) +from secret_sdk.protobuf.ibc.core.client.v1 import MsgUpdateClient as MsgUpdateClient_pb +from secret_sdk.protobuf.ibc.core.client.v1 import MsgUpgradeClient as MsgUpgradeClient_pb + +from secret_sdk.core.msg import Msg + +__all__ = [ + "MsgCreateClient", + "MsgUpdateClient", + "MsgUpgradeClient", + "MsgSubmitMisbehaviour", +] + + +@attr.s +class MsgCreateClient(Msg): + """ + MsgCreateClientResponse defines the Msg/CreateClient response type. + """ + + type_url = "/ibc.core.client.v1.MsgCreateClient" + """""" + prototype = MsgCreateClient_pb + """""" + + client_state: dict = attr.ib() + consensus_state: dict = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgCreateClient: + return cls( + client_state=data["client_state"], + consensus_state=data["consensus_state"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgCreateClient_pb: + return MsgCreateClient_pb( + client_state=Any_pb().from_dict(self.client_state), + consensus_state=Any_pb().from_dict(self.consensus_state), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgCreateClient_pb) -> MsgCreateClient: + return cls( + client_state=proto.client_state.to_dict(), + consensus_state=proto.consensus_state.to_dict(), + signer=proto.signer, + ) + + +@attr.s +class MsgUpdateClient(Msg): + """ + MsgUpdateClient defines a sdk.Msg to update an IBC client state using the given header. + """ + + type_url = "/ibc.core.client.v1.MsgUpdateClient" + """""" + prototype = MsgUpdateClient_pb + """""" + + client_id: str = attr.ib() + header: dict = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgUpdateClient: + return cls( + client_id=data["client_id"], header=data["header"], signer=data["signer"] + ) + + def to_proto(self) -> MsgUpdateClient_pb: + return MsgUpdateClient_pb( + client_id=self.client_id, + header=Any_pb().from_dict(self.header), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgUpdateClient_pb) -> MsgUpdateClient: + return cls( + client_id=proto.client_id, + header=proto.header.to_dict(), + signer=proto.signer, + ) + + +@attr.s +class MsgUpgradeClient(Msg): + """ + MsgUpgradeClient defines an sdk.Msg to upgrade an IBC client to a new client state + """ + + type_url = "/ibc.core.client.v1.MsgUpgradeClient" + """""" + prototype = MsgUpgradeClient_pb + """""" + + client_id: str = attr.ib() + client_state: dict = attr.ib() + consensus_state: dict = attr.ib() + proof_upgrade_client: bytes = attr.ib() + proof_upgrade_consensus_state: bytes = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgUpgradeClient: + return cls( + client_id=data["client_id"], + client_state=data["client_state"], + consensus_state=data["consensus_state"], + proof_upgrade_client=data["proof_upgrade_client"], + proof_upgrade_consensus_state=data["proof_upgrade_consensus_state"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgUpgradeClient_pb: + return MsgUpgradeClient_pb( + client_id=self.client_id, + client_state=Any_pb().from_dict(self.client_state), + consensus_state=Any_pb().from_dict(self.consensus_state), + proof_upgrade_client=self.proof_upgrade_client, + proof_upgrade_consensus_state=self.proof_upgrade_consensus_state, + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgUpgradeClient_pb) -> MsgUpgradeClient: + return cls( + client_id=proto.client_id, + client_state=proto.client_state.to_dict(), + consensus_state=proto.consensus_state.to_dict(), + proof_upgrade_client=proto.proof_upgrade_client, + proof_upgrade_consensus_state=proto.proof_upgrade_consensus_state, + signer=proto.signer, + ) + + +@attr.s +class MsgSubmitMisbehaviour(Msg): + """ + MsgSubmitMisbehaviour defines a sdk.Msg type that submits Evidence for light client misbehaviour. + """ + + type_url = "/ibc.core.client.v1.MsgSubmitMisbehaviour" + """""" + prototype = MsgSubmitMisbehaviour_pb + """""" + + client_id: str = attr.ib() + misbehaviour: any = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgSubmitMisbehaviour: + return cls( + client_id=data["client_id"], + misbehaviour=data["misbehaviour"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgSubmitMisbehaviour_pb: + return MsgSubmitMisbehaviour_pb( + client_id=self.client_id, + misbehaviour=Any_pb().from_dict(self.misbehaviour), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgSubmitMisbehaviour_pb) -> MsgSubmitMisbehaviour: + return cls( + client_id=proto.client_id, + misbehaviour=Any_pb().from_dict(proto.misbehaviour), + signer=proto.signer, + ) diff --git a/secret_sdk/core/ibc/msgs/connection.py b/secret_sdk/core/ibc/msgs/connection.py new file mode 100755 index 0000000..c14bee4 --- /dev/null +++ b/secret_sdk/core/ibc/msgs/connection.py @@ -0,0 +1,282 @@ +"""ibc connection module message types.""" + +from __future__ import annotations + +from typing import List + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.ibc.core.connection.v1 import ( + MsgConnectionOpenAck as MsgConnectionOpenAck_pb, +) +from secret_sdk.protobuf.ibc.core.connection.v1 import ( + MsgConnectionOpenConfirm as MsgConnectionOpenConfirm_pb, +) +from secret_sdk.protobuf.ibc.core.connection.v1 import ( + MsgConnectionOpenInit as MsgConnectionOpenInit_pb, +) +from secret_sdk.protobuf.ibc.core.connection.v1 import ( + MsgConnectionOpenTry as MsgConnectionOpenTry_pb, +) + +from secret_sdk.core import AccAddress +from secret_sdk.core.ibc.data import Height +from secret_sdk.core.ibc.data.connection import Counterparty, Version +from secret_sdk.core.msg import Msg + +__all__ = [ + "MsgConnectionOpenInit", + "MsgConnectionOpenTry", + "MsgConnectionOpenAck", + "MsgConnectionOpenConfirm", +] + + +@attr.s +class MsgConnectionOpenInit(Msg): + """ + MsgConnectionOpenInit defines the msg sent by an account on Chain A to initialize a connection with Chain B. + """ + + type_url = "/ibc.core.connection.v1.MsgConnectionOpenInit" + """""" + prototype = MsgConnectionOpenInit_pb + """""" + + client_id: str = attr.ib() + counterparty: Counterparty = attr.ib() + version: Version = attr.ib() + delay_period: int = attr.ib(converter=int) + signer: AccAddress = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgConnectionOpenInit: + return cls( + client_id=data["client_id"], + counterparty=Counterparty.from_data(data["counterparty"]), + version=Version.from_data(data["version"]), + delay_period=data["delay_period"], + signer=data["signer"], + ) + + def to_proto(self) -> MsgConnectionOpenInit_pb: + return MsgConnectionOpenInit_pb( + client_id=self.client_id, + counterparty=self.counterparty.to_proto(), + version=self.version.to_proto(), + delay_period=self.delay_period, + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgConnectionOpenInit_pb) -> MsgConnectionOpenInit: + return cls( + client_id=proto.client_id, + counterparty=Counterparty.from_proto(proto.counterparty), + version=Version.from_proto(proto.version), + delay_period=proto.delay_period, + signer=proto.signer, + ) + + +@attr.s +class MsgConnectionOpenTry(Msg): + """ + MsgConnectionOpenTry defines a msg sent by a Relayer to try to open a connection on Chain B. + """ + + type_url = "/ibc.core.connection.v1.MsgConnectionOpenTry" + """""" + prototype = MsgConnectionOpenTry_pb + """""" + + client_id: str = attr.ib() + previous_connection_id: str = attr.ib() + client_state: dict = attr.ib() + counterparty: Counterparty = attr.ib() + delay_period: int = attr.ib(converter=int) + counterparty_versions: List[Version] = attr.ib(converter=list) + proof_height: Height = attr.ib() + proof_init: bytes = attr.ib() + proof_client: bytes = attr.ib() + proof_consensus: bytes = attr.ib() + consensus_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgConnectionOpenTry: + return cls( + client_id=data["client_id"], + previous_connection_id=data["previous_connection_id"], + client_state=data["client_state"], + counterparty=Counterparty.from_data(data["counterparty"]), + delay_period=data["delay_period"], + counterparty_versions=[ + Version.from_data(ver) for ver in data["counterparty_versions"] + ], + proof_height=Height.from_data(data["proof_height"]), + proof_init=data["proof_init"], + proof_client=data["proof_client"], + proof_consensus=data["proof_consensus"], + consensus_height=Height.from_data(data["consensus_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgConnectionOpenTry_pb: + return MsgConnectionOpenTry_pb( + client_id=self.client_id, + previous_connection_id=self.previous_connection_id, + client_state=Any_pb().from_dict(self.client_state), + counterparty=self.counterparty.to_proto(), + delay_period=self.delay_period, + counterparty_versions=[ + ver.to_proto() for ver in self.counterparty_versions + ], + proof_height=self.proof_height.to_proto(), + proof_init=self.proof_init, + proof_client=self.proof_client, + proof_consensus=self.proof_consensus, + consensus_height=self.consensus_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgConnectionOpenTry_pb) -> MsgConnectionOpenTry: + return cls( + client_id=proto.client_id, + previous_connection_id=proto.previous_connection_id, + client_state=proto.client_state, + counterparty=Counterparty.from_proto(proto.counterparty), + delay_period=proto.delay_period, + counterparty_versions=[ + Version.from_proto(ver) for ver in proto.counterparty_versions + ], + proof_height=Height.from_proto(proto.proof_height), + proof_init=proto.proof_init, + proof_client=proto.proof_client, + proof_consensus=proto.proof_consensus, + consensus_height=Height.from_proto(proto.consensus_height), + signer=proto.signer, + ) + + +@attr.s +class MsgConnectionOpenAck(Msg): + """ + MsgConnectionOpenAck defines a msg sent by a Relayer to Chain A to acknowledge the change of connection state to TRYOPEN on Chain B. + """ + + type_url = "/ibc.core.connection.v1.MsgConnectionOpenAck" + """""" + prototype = MsgConnectionOpenAck_pb + """""" + + connection_id: str = attr.ib() + counterparty_connection_id: str = attr.ib() + version: Version = attr.ib() + client_state: any = attr.ib() + proof_height: Height = attr.ib() + proof_try: bytes = attr.ib() + proof_client: bytes = attr.ib() + proof_consensus: bytes = attr.ib() + consensus_height: Height = attr.ib() + signer: str = attr.ib() + + def to_amino(self): + raise Exception("Amino not supported") + + @classmethod + def from_data(cls, data: dict) -> MsgConnectionOpenAck: + return cls( + connection_id=data["connection_id"], + counterparty_connection_id=data["counterparty_connection_id"], + version=Version.from_data(data["version"]), + client_state=data["client_state"], + proof_height=Height.from_data(data["proof_height"]), + proof_try=data["proof_try"], + proof_client=data["proof_client"], + proof_consensus=data["proof_consensus"], + consensus_height=Height.from_data(data["consensus_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgConnectionOpenAck_pb: + return MsgConnectionOpenAck_pb( + connection_id=self.connection_id, + counterparty_connection_id=self.counterparty_connection_id, + version=self.version.to_proto(), + client_state=Any_pb().from_dict(self.client_state), + proof_height=self.proof_height.to_proto(), + proof_try=self.proof_try, + proof_client=self.proof_client, + proof_consensus=self.proof_consensus, + consensus_height=self.consensus_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgConnectionOpenAck_pb) -> MsgConnectionOpenAck: + return cls( + connection_id=proto.connection_id, + counterparty_connection_id=proto.counterparty_connection_id, + version=Version.from_proto(proto.version), + client_state=Any_pb().parse(proto.client_state), + proof_height=Height.from_proto(proto.proof_height), + proof_try=proto.proof_try, + proof_client=proto.proof_client, + proof_consensus=proto.proof_consensus, + consensus_height=Height.from_proto(proto.consensus_height), + signer=proto.signer, + ) + + +@attr.s +class MsgConnectionOpenConfirm(Msg): + """ + MsgConnectionOpenConfirm defines a msg sent by a Relayer to Chain B to acknowledge the change of connection state to OPEN on Chain A. + """ + + type_url = "/ibc.core.connection.v1.MsgConnectionOpenConfirm" + """""" + prototype = MsgConnectionOpenConfirm_pb + """""" + + def to_amino(self): + raise Exception("Amino not supported") + + connection_id: str = attr.ib() + proof_ack: bytes = attr.ib() + proof_height: Height = attr.ib() + signer: str = attr.ib() + + @classmethod + def from_data(cls, data: dict) -> MsgConnectionOpenConfirm: + return cls( + connection_id=data["connection_id"], + proof_ack=data["proof_ack"], + proof_height=Height.from_data(data["proof_height"]), + signer=data["signer"], + ) + + def to_proto(self) -> MsgConnectionOpenConfirm_pb: + return MsgConnectionOpenConfirm_pb( + connection_id=self.connection_id, + proof_ack=self.proof_ack, + proof_height=self.proof_height.to_proto(), + signer=self.signer, + ) + + @classmethod + def from_proto(cls, proto: MsgConnectionOpenConfirm_pb) -> MsgConnectionOpenConfirm: + return cls( + connection_id=proto.connection_id, + proof_ack=proto.proof_ack, + proof_height=Height.from_proto(proto.proof_height), + signer=proto.signer, + ) diff --git a/secret_sdk/core/ibc/proposals/__init__.py b/secret_sdk/core/ibc/proposals/__init__.py new file mode 100755 index 0000000..edc3568 --- /dev/null +++ b/secret_sdk/core/ibc/proposals/__init__.py @@ -0,0 +1,3 @@ +from .proposals import ClientUpdateProposal + +__all__ = ["ClientUpdateProposal"] diff --git a/secret_sdk/core/ibc/proposals/proposals.py b/secret_sdk/core/ibc/proposals/proposals.py new file mode 100755 index 0000000..a8898da --- /dev/null +++ b/secret_sdk/core/ibc/proposals/proposals.py @@ -0,0 +1,71 @@ +from __future__ import annotations + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.ibc.core.client.v1 import ( + ClientUpdateProposal as ClientUpdateProposal_pb, +) + +__all__ = ["ClientUpdateProposal"] + +from secret_sdk.util.json import JSONSerializable + + +@attr.s +class ClientUpdateProposal(JSONSerializable): + """Proposal that allows updating IBC clients. If it passes, the substitute + client's latest consensus state is copied over to the subject client. + + """ + + type_amino = "ibc/ClientUpdateProposal" + """""" + type_url = "/ibc.core.client.v1.ClientUpdateProposal" + """""" + prototype = ClientUpdateProposal_pb + """""" + + title: str = attr.ib() + description: str = attr.ib() + subject_client_id: str = attr.ib() + substitute_client_id: str = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "title": self.title, + "description": self.description, + "subject_client_id": self.subject_client_id, + "substitute_client_id": self.substitute_client_id, + }, + } + + @classmethod + def from_data(cls, data: dict) -> ClientUpdateProposal: + return cls( + title=data["title"], + description=data["description"], + subject_client_id=data["subject_client_id"], + substitute_client_id=data["substitute_client_id"], + ) + + def to_proto(self) -> ClientUpdateProposal_pb: + return ClientUpdateProposal_pb( + title=self.title, + description=self.description, + subject_client_id=self.subject_client_id, + substitute_client_id=self.substitute_client_id, + ) + + @classmethod + def from_proto(cls, proto: ClientUpdateProposal_pb) -> ClientUpdateProposal: + return cls( + title=proto.title, + description=proto.description, + subject_client_id=proto.subject_client_id, + substitute_client_id=proto.substitute_client_id, + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) diff --git a/secret_sdk/core/ibc_transfer/__init__.py b/secret_sdk/core/ibc_transfer/__init__.py new file mode 100755 index 0000000..f47ea45 --- /dev/null +++ b/secret_sdk/core/ibc_transfer/__init__.py @@ -0,0 +1,4 @@ +from .data import DenomTrace +from .msgs import MsgTransfer + +__all__ = ["DenomTrace", "MsgTransfer"] diff --git a/secret_sdk/core/ibc_transfer/data.py b/secret_sdk/core/ibc_transfer/data.py new file mode 100755 index 0000000..77892f9 --- /dev/null +++ b/secret_sdk/core/ibc_transfer/data.py @@ -0,0 +1,25 @@ +"""ibc-trasfer module data objects.""" +from __future__ import annotations + +import attr +from secret_sdk.protobuf.ibc.applications.transfer.v1 import DenomTrace as DenomTrace_pb + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["DenomTrace"] + + +@attr.s +class DenomTrace(JSONSerializable): + path: str = attr.ib() + base_denom: str = attr.ib() + + def to_amino(self) -> dict: + return {"path": self.path, "base_denom": self.base_denom} + + @classmethod + def from_data(cls, data: dict) -> DenomTrace: + return cls(path=data["path"], base_denom=data["base_denom"]) + + def to_proto(self) -> DenomTrace_pb: + return DenomTrace_pb(path=self.path, base_denom=self.base_denom) diff --git a/secret_sdk/core/ibc_transfer/msgs.py b/secret_sdk/core/ibc_transfer/msgs.py new file mode 100755 index 0000000..db84e5f --- /dev/null +++ b/secret_sdk/core/ibc_transfer/msgs.py @@ -0,0 +1,94 @@ +"""ibc-transfer module message types.""" + +from __future__ import annotations + +import attr +from secret_sdk.protobuf.ibc.applications.transfer.v1 import MsgTransfer as MsgTransfer_pb + +from secret_sdk.core import AccAddress, Coin +from secret_sdk.core.ibc.data import Height +from secret_sdk.core.msg import Msg + +__all__ = ["MsgTransfer"] + + +@attr.s +class MsgTransfer(Msg): + """ + MsgTransfer defines a msg to transfer fungible tokens (i.e Coins) between ICS20 enabled chains. + + Args: + source_port (str): the port on which the packet will be sent + source_channel (str): the channel by which the packet will be sent + token (Coin): the tokens to be transferred + sender (AccAddress): the sender address + receiver (str): the recipient address on the destination chain + timeout_height (Height): Timeout height relative to the current block height. + The timeout is disabled when set to 0. + timeout_timestamp (int): Timeout timestamp (in nanoseconds) relative to the current block timestamp. + The timeout is disabled when set to 0. + """ + + type = "cosmos-sdk/MsgTransfer" + """""" + type_url = "/ibc.applications.transfer.v1.MsgTransfer" + """""" + prototype = MsgTransfer_pb + """""" + + source_port: str = attr.ib() + source_channel: str = attr.ib() + token: Coin = attr.ib(converter=Coin.parse) + sender: AccAddress = attr.ib() + receiver: str = attr.ib() # stay str-typed because it may not be our address + timeout_height: Height = attr.ib() + timeout_timestamp: int = attr.ib(converter=int) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "source_port": self.source_port, + "source_channel": self.source_channel, + "token": self.token.to_amino(), + "sender": self.sender, + "receiver": self.receiver, + "timeout_height": self.timeout_height.to_amino(), + "timeout_timestamp": self.timeout_timestamp, + }, + } + + @classmethod + def from_data(cls, data: dict) -> MsgTransfer: + return cls( + source_port=data["source_port"], + source_channel=data["source_channel"], + token=Coin.from_data(data["token"]), + sender=data["sender"], + receiver=data["receiver"], + timeout_height=Height.from_data(data["timeout_height"]), + timeout_timestamp=data["timeout_timestamp"], + ) + + def to_proto(self) -> MsgTransfer_pb: + return MsgTransfer_pb( + source_port=self.source_port, + source_channel=self.source_channel, + token=self.token.to_proto(), + sender=self.sender, + receiver=self.receiver, + timeout_height=self.timeout_height.to_proto(), + timeout_timestamp=self.timeout_timestamp, + ) + + @classmethod + def from_proto(cls, proto: MsgTransfer_pb) -> MsgTransfer: + return cls( + source_port=proto.source_port, + source_channel=proto.source_channel, + token=Coin.from_proto(proto.token), + sender=proto.sender, + receiver=proto.receiver, + timeout_height=Height.from_proto(proto.timeout_height), + timeout_timestamp=proto.timeout_timestamp, + ) diff --git a/secret_sdk/core/mode_info.py b/secret_sdk/core/mode_info.py new file mode 100755 index 0000000..0fe88ac --- /dev/null +++ b/secret_sdk/core/mode_info.py @@ -0,0 +1,109 @@ +"""Data objects about Signing Mode Info.""" + +from __future__ import annotations + +from typing import List, Optional + +import attr +from secret_sdk.protobuf.cosmos.tx.v1beta1 import ModeInfo as ModeInfo_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import ModeInfoMulti as ModeInfoMulti_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import ModeInfoSingle as ModeInfoSingle_pb + +from secret_sdk.util.json import JSONSerializable + +from .compact_bit_array import CompactBitArray + +__all__ = [ + "ModeInfo", + "ModeInfoSingle", + "ModeInfoMulti", +] + +from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode + + +@attr.s +class ModeInfo(JSONSerializable): + + single: Optional[ModeInfoSingle] = attr.ib(default=None) + multi: Optional[ModeInfoMulti] = attr.ib(default=None) + + def to_data(self) -> dict: + if self.single: + return {"single": self.single.to_data()} + if self.multi: + return {"multi": self.multi.to_data()} + raise ValueError("ModeInfo should have one of single or multi") + + @classmethod + def from_data(cls, data: dict) -> ModeInfo: + if data.get("single"): + return cls(single=ModeInfoSingle.from_data(data.get("single"))) + if data.get("multi"): + return cls(multi=ModeInfoMulti.from_data(data.get("multi"))) + raise ValueError("ModeInfo should have one of single or multi") + + def to_proto(self) -> ModeInfo_pb: + if self.single: + return ModeInfo_pb(single=self.single.to_proto()) + else: + return ModeInfo_pb(multi=(self.multi.to_proto() if self.multi else None)) + + @classmethod + def from_proto(cls, proto: ModeInfo_pb) -> ModeInfo: + if proto.single is not None: + return ModeInfo(single=ModeInfoSingle.from_proto(proto.single)) + else: + return ModeInfo(multi=ModeInfoMulti.from_proto(proto.multi)) + + +@attr.s +class ModeInfoSingle(JSONSerializable): + mode: SignMode = attr.ib() + + def to_data(self) -> dict: + return {"mode": self.mode.name} + + @classmethod + def from_data(cls, data: dict) -> ModeInfoSingle: + return cls(SignMode[data["mode"]]) + + def to_proto(self) -> ModeInfoSingle_pb: + return ModeInfoSingle_pb(mode=self.mode) + + @classmethod + def from_proto(cls, proto: ModeInfoSingle_pb) -> ModeInfoSingle: + mode = SignMode(proto.mode) + return cls(mode=mode) + + +@attr.s +class ModeInfoMulti(JSONSerializable): + bitarray: CompactBitArray = attr.ib() + mode_infos: List[ModeInfo] = attr.ib() + + @classmethod + def from_data(cls, data: dict) -> ModeInfoMulti: + return cls( + CompactBitArray.from_data(data["bitarray"]), + [ModeInfo.from_data(d) for d in data["mode_infos"]], + ) + + def to_data(self) -> dict: + return { + "bitarray": self.bitarray.to_data(), + "mode_infos": [mi.to_data() for mi in self.mode_infos], + } + + def to_proto(self) -> ModeInfoMulti_pb: + return ModeInfoMulti_pb( + bitarray=self.bitarray.to_proto(), + mode_infos=[mi.to_proto() for mi in self.mode_infos], + ) + + @classmethod + def from_proto(cls, proto: ModeInfoMulti_pb) -> ModeInfoMulti: + return cls( + CompactBitArray.from_proto(proto.bitarray), + ModeInfo_pb.from_proto(proto.mode_infos), + ) diff --git a/secret_sdk/core/msg.py b/secret_sdk/core/msg.py old mode 100644 new mode 100755 index 07d492c..1a1ca9b --- a/secret_sdk/core/msg.py +++ b/secret_sdk/core/msg.py @@ -1,33 +1,31 @@ from __future__ import annotations -import attr +from betterproto.lib.google.protobuf import Any as Any_pb from secret_sdk.util.base import BaseSecretData class Msg(BaseSecretData): + def to_proto(self): + raise NotImplementedError + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + @staticmethod def from_data(data: dict) -> Msg: from secret_sdk.util.parse_msg import parse_msg return parse_msg(data) + @staticmethod + def from_proto(proto: any) -> Msg: + from secret_sdk.util.parse_msg import parse_proto -@attr.s -class MsgData(Msg): - """Data structure holding MsgData. - - Args: - type (str): message type - value (string): data - """ - - type: str = attr.ib(converter=str) - value: dict = attr.ib(converter=dict) + return parse_proto(proto) - def to_data(self) -> dict: - return {"type": self.type, "value": self.value} + @staticmethod + def unpack_any(any_pb: Any_pb) -> Msg: + from secret_sdk.util.parse_msg import parse_unpack_any - @classmethod - def from_data(cls, data: dict) -> MsgData: - return cls(type=data["type"], value=data["value"]) + return parse_unpack_any(any_pb) diff --git a/secret_sdk/core/multisig.py b/secret_sdk/core/multisig.py new file mode 100755 index 0000000..4ddaa8e --- /dev/null +++ b/secret_sdk/core/multisig.py @@ -0,0 +1,67 @@ +"""Data objects about Multi-Signature.""" + +from __future__ import annotations + +from typing import List + +import attr + +from secret_sdk.core.compact_bit_array import CompactBitArray +from secret_sdk.core.public_key import LegacyAminoMultisigPublicKey, SimplePublicKey +from secret_sdk.core.signature_v2 import Descriptor +from secret_sdk.core.signature_v2 import Multi as MultiDescriptor +from secret_sdk.core.signature_v2 import SignatureV2 +from secret_sdk.util.json import JSONSerializable + +__all__ = ["MultiSignature"] + + +@attr.s +class MultiSignature(JSONSerializable): + bitarray: CompactBitArray = attr.ib(init=False) + signatures: List[Descriptor] = attr.ib(init=False) + multisig_pubkey: LegacyAminoMultisigPublicKey = attr.ib() + + def __attrs_post_init__(self): + n = len(self.multisig_pubkey.public_keys) + self.bitarray = CompactBitArray.from_bits(n) + self.signatures = [] + + def append_signature(self, signature_data: Descriptor, index: int): + new_idx = self.bitarray.num_true_bits_before(index) + + # in case of signature already exists, just replace + if self.bitarray.get_index(index): + self.signatures[new_idx] = signature_data + return + + self.bitarray.set_index(index, True) + # optimization + if new_idx == len(self.signatures): + self.signatures.append(signature_data) + return + + self.signatures.insert(new_idx, signature_data) + + def append_signature_from_pubkey( + self, signature_data: Descriptor, public_key: SimplePublicKey + ): + index = 0 + for i, v in enumerate(self.multisig_pubkey.public_keys): + if v.key == public_key.key: + index = i + break + if index < 0: + raise ValueError("provided key doesn't exist in public_keys") + self.append_signature(signature_data, index) + + def append_signature_v2s(self, signatures: List[SignatureV2]): + for sig in signatures: + if not isinstance(sig.public_key, SimplePublicKey): + raise ValueError("non-SimplePublicKey cannot be used to sign multisig") + self.append_signature_from_pubkey(sig.data, sig.public_key) + + def to_signature_descriptor(self) -> Descriptor: + return Descriptor( + multi=MultiDescriptor(bitarray=self.bitarray, signatures=self.signatures) + ) diff --git a/secret_sdk/core/numeric.py b/secret_sdk/core/numeric.py old mode 100644 new mode 100755 index 04c289d..c87b21b --- a/secret_sdk/core/numeric.py +++ b/secret_sdk/core/numeric.py @@ -11,15 +11,15 @@ DEC_NUM_DIGITS = 18 """Number of digits for Decimal.""" -DEC_ONE = 10 ** DEC_NUM_DIGITS +DEC_ONE = 10**DEC_NUM_DIGITS DEC_PATTERN = re.compile(r"^(\-)?(\d+)(\.(\d+))?\Z") __all__ = ["DEC_NUM_DIGITS", "Dec", "Numeric"] def convert_to_dec_bignum(arg: Union[str, int, float, Decimal]): - if isinstance(arg, int): - return arg * DEC_ONE + if isinstance(arg, int) or isinstance(arg, Decimal): + return int(arg * DEC_ONE) if isinstance(arg, float): arg = str("%f" % arg) if isinstance(arg, str): @@ -33,10 +33,6 @@ def convert_to_dec_bignum(arg: Union[str, int, float, Decimal]): if parts.group(1): result *= -1 return result - elif isinstance(arg, Decimal): - whole = int(arg) - fraction = int(arg % 1) - return int((whole * DEC_ONE) + (fraction * DEC_ONE)) else: raise TypeError( f"Unable to parse Dec integer representation from given argument {arg}" @@ -291,6 +287,7 @@ def __rmul__(self, multiplicand: Union[str, int, float, Decimal, Dec]): def div(self, divisor: Union[str, int, float, Decimal, Dec]) -> Dec: """Performs division. ``divisor`` is first converted into Dec. + It works like truediv('/') Args: divisor (Union[str, int, float, Decimal, Dec]): divisor @@ -314,7 +311,10 @@ def __rtruediv__(self, divisor) -> Dec: return Dec(divisor).div(self) def __floordiv__(self, divisor): - return self.div(int(divisor)) + return Dec(chop_precision_and_round(self.div(divisor).sub(0.5)._i)) + + def __rfloordiv__(self, divisor): + return Dec(chop_precision_and_round(divisor / self.sub(0.5)._i)) def mod(self, modulo: Union[str, int, float, Decimal, Dec]) -> Dec: """Performs modulus. ``modulo`` is first converted into Dec. @@ -325,7 +325,7 @@ def mod(self, modulo: Union[str, int, float, Decimal, Dec]) -> Dec: Returns: Dec: modulus """ - return self.sub(self.div(modulo).mul(self)) + return self.sub(self.__floordiv__(modulo).mul(modulo)) def __mod__(self, modulo) -> Dec: return self.mod(modulo) @@ -341,7 +341,8 @@ def __abs__(self) -> Dec: return x def __pos__(self) -> Dec: - return abs(self) + # __pos__ implies a copy + return Dec(self) @classmethod def from_data(cls, data: str) -> Dec: diff --git a/secret_sdk/core/params/__init__.py b/secret_sdk/core/params/__init__.py new file mode 100755 index 0000000..fb5bf1e --- /dev/null +++ b/secret_sdk/core/params/__init__.py @@ -0,0 +1,3 @@ +from .proposals import ParamChange, ParameterChangeProposal + +__all__ = ["ParameterChangeProposal", "ParamChange"] diff --git a/secret_sdk/core/params/proposals.py b/secret_sdk/core/params/proposals.py new file mode 100755 index 0000000..bff4560 --- /dev/null +++ b/secret_sdk/core/params/proposals.py @@ -0,0 +1,106 @@ +"""Params module governance proposal types.""" + +from __future__ import annotations + +from typing import List + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.params.v1beta1 import ParamChange as ParamChange_pb +from secret_sdk.protobuf.cosmos.params.v1beta1 import ( + ParameterChangeProposal as ParameterChangeProposal_pb, +) + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["ParameterChangeProposal", "ParamChange"] + + +@attr.s +class ParamChange(JSONSerializable): + subspace: str = attr.ib() + key: str = attr.ib() + value: str = attr.ib() + + def to_amino(self) -> dict: + return {"subspace": self.subspace, "key": self.key, "value": self.value} + + @classmethod + def from_data(cls, data: dict) -> ParamChange: + return cls(subspace=data["subspace"], key=data["key"], value=data["value"]) + + def to_proto(self) -> ParamChange_pb: + return ParamChange_pb(subspace=self.subspace, key=self.key, value=self.value) + + def to_data(self) -> dict: + return {"subspace": self.subspace, "key": self.key, "value": self.value} + + @classmethod + def from_proto(cls, proto: ParamChange_pb) -> ParamChange: + return cls(subspace=proto.subspace, key=proto.key, value=proto.value) + + +@attr.s +class ParameterChangeProposal(JSONSerializable): + """Proposal to alter the blockchain parameters. Changes would be effective + as soon as the proposal is passed. + + Args: + title: proposal title + description: proposal description + change (List[ParamChange]): list of parameter changes + """ + + type_amino = "cosmos-sdk/ParameterChangeProposal" + """""" + type_url = "/cosmos.params.v1beta1.ParameterChangeProposal" + """""" + prototype = ParameterChangeProposal_pb + """""" + + title: str = attr.ib() + description: str = attr.ib() + changes: List[ParamChange] = attr.ib() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "title": self.title, + "description": self.description, + "changes": [change.to_amino() for change in self.changes], + }, + } + + @classmethod + def from_data(cls, data: dict) -> ParameterChangeProposal: + return cls( + title=data["title"], + description=data["description"], + changes=[ParamChange.from_data(change) for change in data["changes"]], + ) + + def to_proto(self) -> ParameterChangeProposal_pb: + return ParameterChangeProposal_pb( + title=self.title, + description=self.description, + changes=[change.to_proto() for change in self.changes], + ) + + def to_data(self) -> dict: + return { + "title": self.title, + "description": self.description, + "changes": [change.to_data() for change in self.changes], + } + + @classmethod + def from_proto(cls, proto: ParameterChangeProposal_pb) -> ParameterChangeProposal: + return cls( + title=proto.title, + description=proto.description, + changes=[ParamChange.from_proto(change) for change in proto.changes], + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) diff --git a/secret_sdk/core/public_key.py b/secret_sdk/core/public_key.py new file mode 100755 index 0000000..90da2a8 --- /dev/null +++ b/secret_sdk/core/public_key.py @@ -0,0 +1,340 @@ +from __future__ import annotations + +import base64 +import hashlib +from abc import ABC, abstractmethod +from typing import List, Union + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.crypto.ed25519 import PubKey as ValConsPubKey_pb +from secret_sdk.protobuf.cosmos.crypto.multisig import LegacyAminoPubKey as LegacyAminoPubKey_pb +from secret_sdk.protobuf.cosmos.crypto.secp256k1 import PubKey as SimplePubKey_pb + +from secret_sdk.util.json import JSONSerializable + +from ..util.base import create_demux_unpack_any +from .bech32 import get_bech + +BECH32_AMINO_PUBKEY_DATA_PREFIX_SECP256K1 = "eb5ae987" + "21" # with fixed length 21 +BECH32_AMINO_PUBKEY_DATA_PREFIX_ED25519 = "1624de64" + "20" # with fixed length 20 +BECH32_AMINO_PUBKEY_DATA_PREFIX_MULTISIG_THRESHOLD = "22c1f7e2" # without length + + +__all__ = [ + "PublicKey", + "SimplePublicKey", + "ValConsPubKey", + "LegacyAminoMultisigPublicKey", + "address_from_public_key", + "amino_pubkey_from_public_key", +] + + +def encode_uvarint(value: Union[int, str]) -> List[int]: + val = int(str(value)) + if val > 127: + raise ValueError( + "Encoding numbers > 127 is not supported here. Please tell those lazy CosmJS maintainers to " + "port the binary.PutUvarint implementation from the Go standard library and write some " + "tests." + ) + return [val] + + +def address_from_public_key(public_key: PublicKey) -> bytes: + sha = hashlib.sha256() + rip = hashlib.new("ripemd160") + sha.update(public_key.key) + rip.update(sha.digest()) + return rip.digest() + + +def amino_pubkey_from_public_key(public_key: PublicKey) -> bytes: + arr = bytes.fromhex(BECH32_AMINO_PUBKEY_DATA_PREFIX_SECP256K1) + arr += bytes(public_key.key) + return bytes(arr) + + +class PublicKey(JSONSerializable, ABC): + """Data object holding the public key component of an account or signature.""" + + @property + @abstractmethod + def type_url(self): + pass + + @property + @abstractmethod + def type_amino(self): + pass + + @abstractmethod + def get_type(self) -> str: + return self.type_url + + @classmethod + def from_proto(cls, proto: Any_pb): + type_url = proto.type_url + value = proto.value + if type_url == SimplePublicKey.type_url: + return SimplePublicKey.from_proto(SimplePubKey_pb().parse(value)) + elif type_url == ValConsPubKey.type_url: + return ValConsPubKey.from_proto(ValConsPubKey_pb().parse(value)) + elif type_url == LegacyAminoMultisigPublicKey.type_url: + return LegacyAminoMultisigPublicKey.from_proto( + LegacyAminoPubKey_pb().parse(value) + ) + raise TypeError("could not marshal PublicKey: type is incorrect") + + @classmethod + def from_amino(cls, amino: dict): + type_amino = amino.get("type") + if type_amino == SimplePublicKey.type_amino: + return SimplePublicKey.from_amino(amino) + elif type_amino == ValConsPubKey.type_amino: + return ValConsPubKey.from_amino(amino) + elif type_amino == LegacyAminoMultisigPublicKey.type_amino: + return LegacyAminoMultisigPublicKey.from_amino(amino) + raise TypeError("could not marshal PublicKey: type is incorrect") + + @classmethod + def from_data(cls, data: dict): + type_url = data["@type"] + if type_url == SimplePublicKey.type_url: + return SimplePublicKey.from_data(data) + elif type_url == ValConsPubKey.type_url: + return ValConsPubKey.from_data(data) + elif type_url == LegacyAminoMultisigPublicKey.type_url: + return LegacyAminoMultisigPublicKey.from_data(data) + raise TypeError("could not unmarshal PublicKey: type is incorrect") + + @classmethod + def unpack_any(cls, any_pb: Any_pb): + unpack = create_demux_unpack_any( + [SimplePublicKey, ValConsPubKey, LegacyAminoMultisigPublicKey] + ) + return unpack(any_pb) + + @abstractmethod + def pack_any(self) -> Any_pb: + raise NotImplementedError + + @abstractmethod + def address(self) -> str: + pass + + @abstractmethod + def raw_address(self) -> str: + pass + + @abstractmethod + def encode_amino_pubkey(self) -> bytes: + pass + + @abstractmethod + def to_amino(self) -> dict: + pass + + @abstractmethod + def to_data(self) -> dict: + pass + + @abstractmethod + def to_proto(self): + pass + + +@attr.s +class SimplePublicKey(PublicKey): + """Data object holding the SIMPLE public key component of an account or signature.""" + + type_amino = "tendermint/PubKeySecp256k1" + """""" + type_url = "/cosmos.crypto.secp256k1.PubKey" + """Normal signature public key type.""" + prototype = SimplePubKey_pb + """""" + + key: bytes = attr.ib() + + def to_amino(self) -> dict: + return {"type": self.type_amino, "value": base64.b64encode(self.key)} + + def to_data(self) -> dict: + return {"@type": self.type_url, "key": base64.b64encode(self.key)} + + @classmethod + def from_data(cls, data: dict) -> SimplePublicKey: + return cls(key=base64.b64decode(data["key"])) + + @classmethod + def from_proto(cls, proto: SimplePubKey_pb) -> SimplePublicKey: + return cls(key=proto.key) + + @classmethod + def from_amino(cls, amino: dict) -> SimplePublicKey: + return cls(key=base64.b64decode(amino["value"])) + + def to_proto(self) -> SimplePubKey_pb: + return SimplePubKey_pb(key=self.key) + + def get_type(self) -> str: + return self.type_url + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + def encode_amino_pubkey(self) -> bytearray: + out = bytearray.fromhex(BECH32_AMINO_PUBKEY_DATA_PREFIX_SECP256K1) + bytearray( + self.key + ) + return out + + def raw_address(self) -> bytes: + return address_from_public_key(self) + + def address(self) -> str: + return get_bech("terra", self.raw_address().hex()) + + +@attr.s +class ValConsPubKey(PublicKey): + """Data object holding the public key component of a validator's account or signature.""" + + type_amino = "tendermint/PubKeyEd25519" + """""" + type_url = "/cosmos.crypto.ed25519.PubKey" + """an ed25519 tendermint public key type.""" + prototype = ValConsPubKey_pb + """""" + + key: bytes = attr.ib() + + def to_amino(self) -> dict: + return {"type": self.type_amino, "value": base64.b64encode(self.key)} + + def to_data(self) -> dict: + return {"@type": self.type_url, "key": base64.b64encode(self.key)} + + @classmethod + def from_data(cls, data: dict) -> ValConsPubKey: + return cls(key=base64.b64decode(data["key"])) + + @classmethod + def from_amino(cls, amino: dict) -> ValConsPubKey: + return cls(key=base64.b64decode(amino["value"])) + + @classmethod + def from_proto(cls, proto: ValConsPubKey_pb) -> ValConsPubKey: + return cls(key=proto.key) + + def get_type(self) -> str: + return self.type_url + + def to_proto(self) -> ValConsPubKey_pb: + return ValConsPubKey_pb(key=base64.b64encode(self.key)) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + def encode_amino_pubkey(self) -> bytes: + return bytes.fromhex(BECH32_AMINO_PUBKEY_DATA_PREFIX_ED25519) + bytes(self.key) + + def raw_address(self) -> bytes: + return address_from_public_key(self) + + def address(self) -> str: + return get_bech("terravalcons", self.raw_address().hex()) + + +@attr.s +class LegacyAminoMultisigPublicKey(PublicKey): + """Data object holding the Legacy Amino-typed public key component of an account or signature.""" + + type_amino = "tendermint/PubKeyMultisigThreshold" + """""" + type_url = "/cosmos.crypto.multisig.LegacyAminoPubKey" + """Multisig public key type.""" + prototype = LegacyAminoPubKey_pb + """""" + + threshold: int = attr.ib(converter=int) + public_keys: List[SimplePublicKey] = attr.ib(factory=list) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "threshold": str(self.threshold), + "pubkeys": [pubkey.to_amino() for pubkey in self.public_keys], + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "threshold": self.threshold, + "public_keys": self.public_keys, + } + + @classmethod + def from_data(cls, data: dict) -> LegacyAminoMultisigPublicKey: + return cls( + threshold=data["threshold"], + public_keys=[PublicKey.from_data(pubkey) for pubkey in data["public_keys"]], + ) + + @classmethod + def from_proto(cls, proto: LegacyAminoPubKey_pb) -> LegacyAminoMultisigPublicKey: + return cls( + threshold=proto.threshold, + public_keys=[PublicKey.unpack_any(pk) for pk in proto.public_keys], + ) + + @classmethod + def from_amino(cls, amino: dict) -> LegacyAminoMultisigPublicKey: + return cls( + threshold=amino["value"]["threshold"], + public_keys=[ + SimplePublicKey.from_amino(pubkey) + for pubkey in amino["value"]["public_keys"] + ], + ) + + def get_type(self) -> str: + return self.type_url + + def to_proto(self) -> LegacyAminoPubKey_pb: + return LegacyAminoPubKey_pb( + threshold=self.threshold, + public_keys=[pk.pack_any() for pk in self.public_keys], + ) + + def encode_amino_pubkey(self) -> bytearray: + if self.threshold > 127: + raise ValueError("threshold over 127 is now supported here") + out = bytearray.fromhex(BECH32_AMINO_PUBKEY_DATA_PREFIX_MULTISIG_THRESHOLD) + out.append(0x08) + out += bytearray(encode_uvarint(self.threshold)) + for pkData in [pubkey.encode_amino_pubkey() for pubkey in self.public_keys]: + out.append(0x12) + out += bytearray(encode_uvarint(len(pkData))) + out += pkData + return out + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + def raw_address(self) -> str: + pubkey_data = bytes(self.encode_amino_pubkey()) + hasher = hashlib.sha256() + hasher.update(pubkey_data) + return hasher.digest()[0:20].hex() + + def address(self) -> str: + address = get_bech("terra", self.raw_address()) + return address + + def pubkey_address(self) -> str: + return get_bech("terrapub", str(self.encode_amino_pubkey())) diff --git a/secret_sdk/core/sign_doc.py b/secret_sdk/core/sign_doc.py new file mode 100755 index 0000000..1363d6d --- /dev/null +++ b/secret_sdk/core/sign_doc.py @@ -0,0 +1,85 @@ +"""Data objects about SignDoc.""" + +from __future__ import annotations + +import json + +import attr +from secret_sdk.protobuf.cosmos.tx.v1beta1 import SignDoc as SignDoc_pb + +from secret_sdk.core.tx import AuthInfo, TxBody +from secret_sdk.util.json import JSONSerializable + +__all__ = ["SignDoc"] + +from secret_sdk.util.remove_none import remove_none + + +@attr.s +class SignDoc(JSONSerializable): + chain_id: str = attr.ib() + account_number: int = attr.ib(converter=int) + sequence: int = attr.ib(converter=int) + auth_info: AuthInfo = attr.ib() + tx_body: TxBody = attr.ib() + + def to_amino(self) -> dict: + tx = self.tx_body + auth = self.auth_info + return { + "chain_id": self.chain_id, + "account_number": str(self.account_number), + "sequence": str(self.sequence), + "timeout_height": str(tx.timeout_height) + if (tx.timeout_height is not None and tx.timeout_height != 0) + else None, + "fee": auth.fee.to_amino(), + "msgs": [msg.to_amino() for msg in tx.messages], + "memo": tx.memo if tx.memo else "", + } + + @classmethod + def from_data(cls, data: dict) -> SignDoc: + return cls( + chain_id=data["chain_id"], + account_number=data["account_number"], + sequence=data["sequence"], + auth_info=AuthInfo.from_data(data["auth_info"]), + tx_body=TxBody.from_data(data["tx_body"]), + ) + + def to_data(self) -> dict: + return { + "chain_id": self.chain_id, + "account_nubmer": self.account_number, + "sequence": self.sequence, + "auth_info": self.auth_info.to_data(), + "tx_body": self.tx_body.to_data(), + } + + @classmethod + def from_proto(cls, proto: SignDoc_pb) -> SignDoc: + return cls( + chain_id=proto.chain_id, + account_number=proto.account_number, + auth_info=AuthInfo.from_proto(proto.auth_info_bytes), + tx_body=TxBody.from_proto(proto.body_bytes), + ) + + def to_proto(self) -> SignDoc_pb: + return SignDoc_pb( + body_bytes=bytes(self.tx_body.to_proto()), + auth_info_bytes=bytes(self.auth_info.to_proto()), + chain_id=self.chain_id, + account_number=self.account_number, + ) + + def to_bytes(self) -> bytes: + return bytes(self.to_proto()) + + def to_amino_json(self) -> bytes: + amino = self.to_amino() + return bytes( + json.dumps(remove_none(amino), sort_keys=True, separators=(",", ":")), + "utf-8", + ) diff --git a/secret_sdk/core/signature_v2.py b/secret_sdk/core/signature_v2.py new file mode 100755 index 0000000..85ff91e --- /dev/null +++ b/secret_sdk/core/signature_v2.py @@ -0,0 +1,117 @@ +"""Data objects about Signature V2.""" + +from __future__ import annotations + +from typing import List, Optional, Tuple + +import attr +from secret_sdk.protobuf.cosmos.crypto.multisig.v1beta1 import ( + MultiSignature as MultiSignature_pb, +) +from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode + +from .compact_bit_array import CompactBitArray +from .mode_info import ModeInfo, ModeInfoMulti, ModeInfoSingle +from .public_key import PublicKey + +__all__ = ["SignatureV2", "Descriptor", "Single", "Multi", "SignMode"] + + +@attr.s +class SignatureV2: + public_key: PublicKey = attr.ib() + data: Descriptor = attr.ib() + sequence: int = attr.ib(converter=int) + + @classmethod + def from_data(cls, data: dict) -> SignatureV2: + return cls( + public_key=PublicKey.from_data(data["public_key"]), + data=Descriptor.from_data(data["data"]), + sequence=data["sequence"], + ) + + def to_data(self) -> dict: + return { + "public_key": self.public_key.to_data(), + "data": self.data.to_data(), + "sequence": self.sequence, + } + + +@attr.s +class Descriptor: + single: Optional[Single] = attr.ib(default=None) + multi: Optional[Multi] = attr.ib(default=None) + + @classmethod + def from_data(cls, data: dict) -> Descriptor: + s = None + m = None + if data["single"] is not None: + s = Single.from_data(data["single"]) + if data["multi"] is not None: + m = Multi.from_data(data["multi"]) + return cls(single=s, multi=m) + + def to_data(self) -> dict: + typ = "single" if self.single else "multi" + dat = self.single.to_data() if self.single else self.multi.to_data() + return {typ: dat} + + def to_mode_info_and_signature(self) -> Tuple[ModeInfo, bytes]: + if self.single is not None: + sig_data = self.single + return [ModeInfo(single=ModeInfoSingle(sig_data.mode)), sig_data.signature] + + if self.multi: + sig_data = self.multi + mode_infos: List[ModeInfo] = [] + signatures: List[bytes] = [] + for sig in sig_data.signatures: + mode_info, sig_bytes = sig.to_mode_info_and_signature() + mode_infos.append(mode_info) + signatures.append(sig_bytes) + pb = MultiSignature_pb(signatures=signatures) + return [ + ModeInfo( + multi=ModeInfoMulti( + bitarray=sig_data.bitarray, mode_infos=mode_infos + ) + ), + bytes(pb), # base64.b64encode(bytes(pb)), + ] + + raise ValueError("invalid signature descriptor") + + +@attr.s +class Single: # FIXME: SignModeTo/FromJSON + mode: SignMode = attr.ib() + signature: bytes = attr.ib() + + @classmethod + def from_data(cls, data: dict) -> Single: + return cls(mode=data["mode"], signature=data["signature"]) + + def to_data(self) -> dict: + return {"mode": self.mode, "signature": self.signature} + + +@attr.s +class Multi: + bitarray: CompactBitArray = attr.ib() + signatures: List[Descriptor] = attr.ib() + + @classmethod + def from_data(cls, data: dict) -> Multi: + return cls( + CompactBitArray.from_data(data["bitarray"]), + [Descriptor.from_data(d) for d in data["signatures"]], + ) + + def to_data(self) -> dict: + return { + "bitarray": self.bitarray.to_data(), + "signatures": [sig.to_data() for sig in self.signatures], + } diff --git a/secret_sdk/core/slashing/__init__.py b/secret_sdk/core/slashing/__init__.py new file mode 100755 index 0000000..1231b32 --- /dev/null +++ b/secret_sdk/core/slashing/__init__.py @@ -0,0 +1,3 @@ +from .msgs import MsgUnjail + +__all__ = ["MsgUnjail"] diff --git a/secret_sdk/core/slashing/msgs.py b/secret_sdk/core/slashing/msgs.py new file mode 100755 index 0000000..01ae218 --- /dev/null +++ b/secret_sdk/core/slashing/msgs.py @@ -0,0 +1,44 @@ +"""Slashing module messages types.""" + +from __future__ import annotations + +import attr +from secret_sdk.protobuf.cosmos.slashing.v1beta1 import MsgUnjail as MsgUnjail_pb + +from secret_sdk.core import ValAddress +from secret_sdk.core.msg import Msg + +__all__ = ["MsgUnjail"] + + +@attr.s +class MsgUnjail(Msg): + """Attempt to unjail a jailed validator (must be submitted by same validator). + + Args: + address: validator address to unjail""" + + type_amino = "cosmos-sdk/MsgUnjail" + """""" + type_url = "/cosmos.slashing.v1beta1.MsgUnjail" + """""" + action = "unjail" + """""" + prototype = MsgUnjail_pb + """""" + + address: ValAddress = attr.ib() + + def to_amino(self) -> dict: + return {"type": self.type_amino, "value": {"address": self.address}} + + @classmethod + def from_data(cls, data: dict) -> MsgUnjail: + return cls(address=data["address"]) + + def to_proto(self) -> MsgUnjail_pb: + return MsgUnjail_pb(validator_addr=self.address) + + @classmethod + def from_proto(cls, proto: MsgUnjail_pb) -> MsgUnjail: + return cls(address=proto.address) diff --git a/secret_sdk/core/staking/__init__.py b/secret_sdk/core/staking/__init__.py old mode 100644 new mode 100755 index 24a05f8..6dd3a22 --- a/secret_sdk/core/staking/__init__.py +++ b/secret_sdk/core/staking/__init__.py @@ -6,7 +6,7 @@ Redelegation, RedelegationEntry, UnbondingDelegation, - UnbondingEntry, + UnbondingDelegationEntry, Validator, ) from .msgs import ( @@ -30,6 +30,6 @@ "Redelegation", "RedelegationEntry", "UnbondingDelegation", - "UnbondingEntry", + "UnbondingDelegationEntry", "Validator", ] diff --git a/secret_sdk/core/staking/data/__init__.py b/secret_sdk/core/staking/data/__init__.py old mode 100644 new mode 100755 index e4eeddf..1524a5e --- a/secret_sdk/core/staking/data/__init__.py +++ b/secret_sdk/core/staking/data/__init__.py @@ -3,14 +3,14 @@ Redelegation, RedelegationEntry, UnbondingDelegation, - UnbondingEntry, + UnbondingDelegationEntry, ) from .validator import Commission, CommissionRates, Description, Validator __all__ = [ "Delegation", "UnbondingDelegation", - "UnbondingEntry", + "UnbondingDelegationEntry", "Redelegation", "RedelegationEntry", "CommissionRates", diff --git a/secret_sdk/core/staking/data/delegation.py b/secret_sdk/core/staking/data/delegation.py old mode 100644 new mode 100755 index d1555d6..36a71fb --- a/secret_sdk/core/staking/data/delegation.py +++ b/secret_sdk/core/staking/data/delegation.py @@ -1,16 +1,34 @@ from __future__ import annotations +from datetime import datetime from typing import List import attr +from dateutil import parser +from secret_sdk.protobuf.cosmos.staking.v1beta1 import Delegation as Delegation_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + DelegationResponse as DelegationResponse_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import Redelegation as Redelegation_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import RedelegationEntry as RedelegationEntry_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + RedelegationEntryResponse as RedelegationEntryResponse_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + UnbondingDelegation as UnbondingDelegation_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + UnbondingDelegationEntry as UnbondingDelegationEntry_pb, +) from secret_sdk.core import AccAddress, Coin, Dec, ValAddress +from secret_sdk.util.converter import to_isoformat from secret_sdk.util.json import JSONSerializable __all__ = [ "Delegation", "UnbondingDelegation", - "UnbondingEntry", + "UnbondingDelegationEntry", "Redelegation", "RedelegationEntry", ] @@ -30,6 +48,16 @@ class Delegation(JSONSerializable): delegation: DelegationInfo = attr.ib() balance: Coin = attr.ib(converter=Coin.parse) # type: ignore + def to_amino(self) -> dict: + return { + "delegation": { + "delegator_address": self.delegation.delegator_address, + "validator_address": self.delegation.validator_address, + "shares": str(self.delegation.shares), + }, + "balance": self.balance.to_amino(), + } + @classmethod def from_data(cls, data: dict) -> Delegation: return cls( @@ -41,10 +69,20 @@ def from_data(cls, data: dict) -> Delegation: balance=Coin.from_data(data["balance"]), ) + def to_proto(self) -> DelegationResponse_pb: + return DelegationResponse_pb( + delegation=Delegation_pb( + delegator_address=self.delegation.delegator_address, + validator_address=self.delegation.validator_address, + shares=str(self.delegation.shares), + ), + balance=self.balance.to_proto(), + ) + @attr.s -class UnbondingEntry(JSONSerializable): - """Contains information about an active unbonding lot of SCRT.""" +class UnbondingDelegationEntry(JSONSerializable): + """Contains information about an active unbonding lot of Luna.""" initial_balance: int = attr.ib(converter=int) """""" @@ -52,19 +90,27 @@ class UnbondingEntry(JSONSerializable): """""" creation_height: int = attr.ib(converter=int) """""" - completion_time: str = attr.ib() + completion_time: datetime = attr.ib(converter=parser.parse) """""" + def to_amino(self) -> dict: + return { + "initial_balance": str(self.initial_balance), + "balance": str(self.balance), + "creation_height": str(self.creation_height), + "completion_time": to_isoformat(self.completion_time), + } + def to_data(self) -> dict: return { "initial_balance": str(self.initial_balance), "balance": str(self.balance), "creation_height": str(self.creation_height), - "completion_time": self.completion_time, + "completion_time": to_isoformat(self.completion_time), } @classmethod - def from_data(cls, data: dict) -> UnbondingEntry: + def from_data(cls, data: dict) -> UnbondingDelegationEntry: return cls( initial_balance=data["initial_balance"], balance=data["balance"], @@ -72,6 +118,14 @@ def from_data(cls, data: dict) -> UnbondingEntry: completion_time=data["completion_time"], ) + def to_proto(self) -> UnbondingDelegationEntry_pb: + return UnbondingDelegationEntry_pb( + initial_balance=str(self.initial_balance), + balance=str(self.balance), + creation_height=self.creation_height, + completion_time=self.completion_time, + ) + @attr.s class UnbondingDelegation(JSONSerializable): @@ -81,18 +135,34 @@ class UnbondingDelegation(JSONSerializable): """""" validator_address: ValAddress = attr.ib() """""" - entries: List[UnbondingEntry] = attr.ib() + entries: List[UnbondingDelegationEntry] = attr.ib() """""" + def to_amino(self) -> dict: + return { + "delegator_address": self.delegator_address, + "validator_address": self.validator_address, + "entries": [entry.to_amino() for entry in self.entries], + } + @classmethod - def from_data(cls, data) -> UnbondingDelegation: - entries = [UnbondingEntry.from_data(entry) for entry in data["entries"]] + def from_data(cls, data: dict) -> UnbondingDelegation: + entries = [ + UnbondingDelegationEntry.from_data(entry) for entry in data["entries"] + ] return cls( delegator_address=data["delegator_address"], validator_address=data["validator_address"], entries=entries, ) + def to_proto(self) -> UnbondingDelegation_pb: + return UnbondingDelegation_pb( + delegator_address=self.delegator_address, + validator_address=self.validator_address, + entries=[entry.to_proto() for entry in self.entries], + ) + @attr.s class RedelegationEntryInfo(JSONSerializable): @@ -102,19 +172,58 @@ class RedelegationEntryInfo(JSONSerializable): """""" creation_height: int = attr.ib(converter=int) """""" - completion_time: str = attr.ib() + completion_time: datetime = attr.ib(converter=parser.parse) """""" + def to_amino(self) -> dict: + return { + "initial_balance": str(self.initial_balance), + "shares_dst": str(self.shares_dst), + "creation_height": str(self.creation_height), + "completion_time": to_isoformat(self.completion_time), + } + + @classmethod + def from_data(cls, data: dict) -> RedelegationEntryInfo: + return cls( + initial_balance=data["initial_balance"], + shares_dst=Dec.from_data(data("shares_dst")), + creation_height=data["creation_height"], + completion_time=data["completion_time"], + ) + + def to_data(self) -> dict: + return { + "initial_balance": self.initial_balance, + "shares_dst": self.shares_dst.to_data(), + "creation_height": self.creation_height, + "completion_time": to_isoformat(self.completion_time), + } + + def to_proto(self) -> RedelegationEntry_pb: + return RedelegationEntry_pb( + initial_balance=str(self.initial_balance), + shares_dst=str(self.shares_dst), + creation_height=self.creation_height, + completion_time=self.completion_time, + ) + @attr.s class RedelegationEntry(JSONSerializable): - """Contains information about an active redelegated lot of SCRT.""" + """Contains information about an active redelegated lot of Luna.""" redelegation_entry: RedelegationEntryInfo = attr.ib() """""" balance: int = attr.ib(converter=int) """""" + def to_amino(self) -> dict: + return { + "redelegation_entry": self.redelegation_entry.to_amino(), + "balance": str(self.balance), + } + def to_data(self) -> dict: return { "redelegation_entry": { @@ -138,6 +247,12 @@ def from_data(cls, data: dict) -> RedelegationEntry: balance=data["balance"], ) + def to_proto(self) -> RedelegationEntryResponse_pb: + return RedelegationEntryResponse_pb( + redelegation_entry=self.redelegation_entry.to_proto(), + balance=str(self.balance), + ) + @attr.s class RedelegationInfo(JSONSerializable): @@ -147,7 +262,35 @@ class RedelegationInfo(JSONSerializable): """""" validator_dst_address: ValAddress = attr.ib() """""" - entries = attr.ib() # duplicated entries to remove + + def to_amino(self) -> dict: + return { + "delegator_address": self.delegator_address, + "validator_src_address": self.validator_src_address, + "validator_dst_address": self.validator_dst_address, + } + + def to_data(self) -> dict: + return { + "delegator_address": self.delegator_address, + "validator_src_address": self.validator_src_address, + "validator_dst_address": self.validator_dst_address, + } + + @classmethod + def from_data(cls, data: dict) -> RedelegationInfo: + return cls( + delegator_address=data["delegator_address"], + validator_src_address=data["validator_src_address"], + validator_dst_address=data["validator_dst_address"], + ) + + def to_proto(self) -> Redelegation_pb: + return Redelegation_pb( + delegator_address=self.delegator_address, + validator_src_address=self.validator_src_address, + validator_dst_address=self.validator_dst_address, + ) @attr.s @@ -159,6 +302,12 @@ class Redelegation(JSONSerializable): entries: List[RedelegationEntry] = attr.ib() """""" + def to_amino(self) -> dict: + return { + "redelegation": self.redelegation.to_amino(), + "entries": [entry.to_amino() for entry in self.entries], + } + @classmethod def from_data(cls, data: dict) -> Redelegation: entries = [RedelegationEntry.from_data(re) for re in data["entries"]] @@ -167,7 +316,14 @@ def from_data(cls, data: dict) -> Redelegation: delegator_address=data["redelegation"]["delegator_address"], validator_src_address=data["redelegation"]["validator_src_address"], validator_dst_address=data["redelegation"]["validator_dst_address"], - entries=data["redelegation"]["entries"], ), entries=entries, ) + + def to_proto(self) -> Redelegation_pb: + return Redelegation_pb( + delegator_address=self.redelegation.delegator_address, + validator_src_address=self.redelegation.validator_src_address, + validator_dst_address=self.redelegation.validator_dst_address, + entries=[entry.to_proto() for entry in self.entries], + ) diff --git a/secret_sdk/core/staking/data/validator.py b/secret_sdk/core/staking/data/validator.py old mode 100644 new mode 100755 index 781893a..2be288f --- a/secret_sdk/core/staking/data/validator.py +++ b/secret_sdk/core/staking/data/validator.py @@ -1,18 +1,44 @@ from __future__ import annotations import copy +from datetime import datetime +from typing import Union import attr +from dateutil import parser +from secret_sdk.protobuf.cosmos.staking.v1beta1 import BondStatus +from secret_sdk.protobuf.cosmos.staking.v1beta1 import Commission as Commission_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import CommissionRates as CommissionRates_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import Description as Description_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import Validator as Validator_pb from secret_sdk.core import Dec, ValAddress, ValConsPubKey -from secret_sdk.util.json import JSONSerializable, dict_to_data +from secret_sdk.util.converter import to_isoformat +from secret_sdk.util.json import JSONSerializable -__all__ = [ - "CommissionRates", - "Commission", - "Description", - "Validator", -] +__all__ = ["CommissionRates", "Commission", "Description", "Validator", "BondStatus"] + + +def convert_bond_status_to_json(status: BondStatus) -> str: + if status == BondStatus.BOND_STATUS_UNSPECIFIED: + return "BOND_STATUS_UNSPECIFIED" + elif status == BondStatus.BOND_STATUS_UNBONDED: + return "BOND_STATUS_UNBONDED" + elif status == BondStatus.BOND_STATUS_UNBONDING: + return "BOND_STATUS_UNBONDING" + elif status == BondStatus.BOND_STATUS_BONDED: + return "BOND_STATUS_BONDED" + + +def convert_bond_status_from_json(status: str) -> BondStatus: + if status == 0 or status == "BOND_STATUS_UNSPECIFIED": + return BondStatus.BOND_STATUS_UNSPECIFIED + elif status == 1 or status == "BOND_STATUS_UNBONDED": + return BondStatus.BOND_STATUS_UNBONDED + elif status == 2 or status == "BOND_STATUS_UNBONDING": + return BondStatus.BOND_STATUS_UNBONDING + elif status == 3 or status == "BOND_STATUS_BONDED": + return BondStatus.BOND_STATUS_BONDED @attr.s @@ -28,6 +54,20 @@ class CommissionRates(JSONSerializable): max_change_rate: Dec = attr.ib(converter=Dec) """Maximum % change of commission per day.""" + def to_amino(self) -> dict: + return { + "rate": str(self.rate), + "max_rate": str(self.max_rate), + "max_change_rate": str(self.max_change_rate), + } + + def to_data(self) -> dict: + return { + "rate": self.rate.to_data(), + "max_rate": self.max_rate.to_data(), + "max_change_rate": self.max_change_rate.to_data(), + } + @classmethod def from_data(cls, data: dict) -> CommissionRates: return cls( @@ -36,6 +76,21 @@ def from_data(cls, data: dict) -> CommissionRates: max_change_rate=data["max_change_rate"], ) + def to_proto(self) -> CommissionRates_pb: + return CommissionRates_pb( + rate=str(self.rate), + max_rate=str(self.max_rate), + max_change_rate=str(self.max_change_rate), + ) + + @classmethod + def from_proto(cls, proto: CommissionRates_pb) -> CommissionRates: + return cls( + rate=proto.rate, + max_rate=proto.max_rate, + max_change_rate=proto.max_change_rate, + ) + @attr.s class Commission(JSONSerializable): @@ -44,9 +99,21 @@ class Commission(JSONSerializable): commission_rates: CommissionRates = attr.ib() """Validator commission rates.""" - update_time: str = attr.ib() + update_time: datetime = attr.ib(converter=parser.parse) """Last time commission rates were updated.""" + def to_amino(self) -> dict: + return { + "commission_rates": self.commission_rates.to_amino(), + "update_time": to_isoformat(self.update_time), + } + + def to_amino(self) -> dict: + return { + "commission_rates": self.commission_rates.to_data(), + "update_time": to_isoformat(self.update_time), + } + @classmethod def from_data(cls, data: dict) -> Commission: return cls( @@ -54,8 +121,11 @@ def from_data(cls, data: dict) -> Commission: update_time=data["update_time"], ) - -# from cosmos + def to_proto(self) -> Commission_pb: + return Commission_pb( + commission_rates=self.commission_rates.to_proto(), + update_time=self.update_time, + ) @attr.s @@ -63,7 +133,7 @@ class Description(JSONSerializable): """Validator description entry. Args: - moniker: validator name, aka: \"SCRT LabRador\" + moniker: validator name, aka: \"Terran One\" identity: keybase.io identifier (used for setting logo) website: validator website details: longer description of validator @@ -79,6 +149,24 @@ class Description(JSONSerializable): details: str = attr.ib(default="") security_contact: str = attr.ib(default="") + def to_amino(self) -> dict: + return { + "moniker": self.moniker, + "identity": self.identity, + "website": self.website, + "details": self.details, + "security_contact": self.security_contact, + } + + def to_data(self) -> dict: + return { + "moniker": self.moniker, + "identity": self.identity, + "website": self.website, + "details": self.details, + "security_contact": self.security_contact, + } + @classmethod def from_data(cls, data) -> Description: return cls( @@ -89,6 +177,25 @@ def from_data(cls, data) -> Description: data.get("security_contact"), ) + def to_proto(self) -> Description_pb: + return Description_pb( + moniker=self.moniker, + identity=self.identity, + website=self.website, + details=self.details, + security_contact=self.security_contact, + ) + + @classmethod + def from_proto(cls, proto: Description_pb) -> Description: + return cls( + proto.moniker, + proto.identity, + proto.website, + proto.details, + proto.security_contact, + ) + @attr.s class Validator(JSONSerializable): @@ -103,7 +210,7 @@ class Validator(JSONSerializable): jailed: bool = attr.ib(converter=bool) """""" - status: int = attr.ib(converter=int) + status: BondStatus = attr.ib(converter=BondStatus) """""" tokens: int = attr.ib(converter=int) @@ -118,7 +225,7 @@ class Validator(JSONSerializable): unbonding_height: int = attr.ib(converter=int) """""" - unbonding_time: str = attr.ib() + unbonding_time: datetime = attr.ib(converter=parser.parse) """""" commission: Commission = attr.ib() @@ -127,12 +234,35 @@ class Validator(JSONSerializable): min_self_delegation: int = attr.ib(converter=int) """""" + def to_amino(self) -> dict: + return { + "operator_address": self.operator_address, + "consensus_pubkey": self.consensus_pubkey, + "jailed": self.jailed, + "status": self.status, + "tokens": str(self.tokens), + "delegator_shares": str(self.delegator_shares), + "description": self.description.to_amino(), + "unbonding_height": str(self.unbonding_height), + "unbonding_time": to_isoformat(self.unbonding_time), + "commission": self.commission.to_amino(), + "min_self_delegation": str(self.min_self_delegation), + } + def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - d["min_self_delegation"] = str(d["min_self_delegation"]) - d["tokens"] = str(d["tokens"]) - d["unbonding_height"] = str(d["unbonding_height"]) - return dict_to_data(d) + return { + "operator_address": self.operator_address, + "consensus_pubkey": self.consensus_pubkey, + "jailed": self.jailed, + "status": convert_bond_status_to_json(self.status), + "tokens": str(self.tokens), + "delegator_shares": str(self.delegator_shares), + "description": self.description.to_amino(), + "unbonding_height": str(self.unbonding_height), + "unbonding_time": to_isoformat(self.unbonding_time), + "commission": self.commission.to_amino(), + "min_self_delegation": str(self.min_self_delegation), + } @classmethod def from_data(cls, data: dict) -> Validator: @@ -140,7 +270,7 @@ def from_data(cls, data: dict) -> Validator: operator_address=data["operator_address"], consensus_pubkey=data["consensus_pubkey"], jailed=data.get("jailed"), - status=data["status"], + status=convert_bond_status_from_json(data["status"]), tokens=data["tokens"], delegator_shares=data["delegator_shares"], description=Description.from_data(data["description"]), @@ -149,3 +279,18 @@ def from_data(cls, data: dict) -> Validator: commission=Commission.from_data(data["commission"]), min_self_delegation=data["min_self_delegation"], ) + + def to_proto(self) -> Validator_pb: + return Validator_pb( + operator_address=self.operator_address, + consensus_pubkey=self.consensus_pubkey.to_proto(), + jailed=self.jailed, + status=self.status, + tokens=str(self.tokens), + delegator_shares=str(self.delegator_shares), + description=self.description.to_proto(), + unbonding_height=self.unbonding_height, + unbonding_time=self.unbonding_time, + commission=self.commission.to_proto(), + min_self_delegation=str(self.min_self_delegation), + ) diff --git a/secret_sdk/core/staking/msgs.py b/secret_sdk/core/staking/msgs.py old mode 100644 new mode 100755 index cfd1cf1..fcab2ab --- a/secret_sdk/core/staking/msgs.py +++ b/secret_sdk/core/staking/msgs.py @@ -5,8 +5,17 @@ from typing import Optional import attr - -from secret_sdk.core import AccAddress, Coin, Dec, ValAddress, ValConsPubKey +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + MsgBeginRedelegate as MsgBeginRedelegate_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + MsgCreateValidator as MsgCreateValidator_pb, +) +from secret_sdk.protobuf.cosmos.staking.v1beta1 import MsgDelegate as MsgDelegate_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import MsgEditValidator as MsgEditValidator_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import MsgUndelegate as MsgUndelegate_pb + +from secret_sdk.core import AccAddress, Coin, Dec, PublicKey, ValAddress, ValConsPubKey from secret_sdk.core.msg import Msg from .data import CommissionRates, Description @@ -22,28 +31,42 @@ @attr.s class MsgBeginRedelegate(Msg): - """Redelegate staked SCRT from ``validator_src_address`` to ``valdiator_dst_address``. + """Redelegate staked Luna from ``validator_src_address`` to ``valdiator_dst_address``. Args: delegator_address: delegator validator_src_address: validator to remove delegation FROM validator_dst_address: validator to transfer delegate TO - amount (Union[str, dict, Coin]): coin (SCRT) to redelegate + amount (Union[str, dict, Coin]): coin (LUNA) to redelegate """ - type = "staking/MsgBeginRedelegate" + type_amino = "cosmos-sdk/MsgBeginRedelegate" + """""" + type_url = "/cosmos.staking.v1beta1.MsgBeginRedelegate" """""" action = "begin_redelegate" """""" + prototype = MsgBeginRedelegate_pb + """""" delegator_address: AccAddress = attr.ib() validator_src_address: ValAddress = attr.ib() validator_dst_address: ValAddress = attr.ib() - amount: Coin = attr.ib(converter=Coin.parse) # type: ignore + amount: Coin = attr.ib(converter=Coin.parse) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "delegator_address": self.delegator_address, + "validator_src_address": self.validator_src_address, + "validator_dst_address": self.validator_dst_address, + "amount": self.amount.to_amino(), + }, + } @classmethod def from_data(cls, data: dict) -> MsgBeginRedelegate: - data = data["value"] return cls( delegator_address=data["delegator_address"], validator_src_address=data["validator_src_address"], @@ -51,64 +74,137 @@ def from_data(cls, data: dict) -> MsgBeginRedelegate: amount=Coin.from_data(data["amount"]), ) + def to_proto(self) -> MsgBeginRedelegate_pb: + return MsgBeginRedelegate_pb( + delegator_address=self.delegator_address, + validator_src_address=self.validator_src_address, + validator_dst_address=self.validator_dst_address, + amount=self.amount.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgBeginRedelegate_pb) -> MsgBeginRedelegate: + return cls( + delegator_address=proto.delegator_address, + validator_src_address=proto.validator_src_address, + validator_dst_address=proto.validator_dst_address, + amount=Coin.from_proto(proto.amount), + ) + @attr.s class MsgDelegate(Msg): - """Delegate SCRT to validator at ``validator_address``. + """Delegate Luna to validator at ``validator_address``. Args: delegator_address: delegator validator_address: validator to delegate to - amount (Union[str, dict, Coin]): coin (SCRT) to delegate + amount (Union[str, dict, Coin]): coin (LUNA) to delegate """ - type = "staking/MsgDelegate" + type_amino = "cosmos-sdk/MsgDelegate" + """""" + type_url = "/cosmos.staking.v1beta1.MsgDelegate" """""" action = "delegate" """""" + prototype = MsgDelegate_pb + """""" delegator_address: AccAddress = attr.ib() validator_address: ValAddress = attr.ib() - amount: Coin = attr.ib(converter=Coin.parse) # type: ignore + amount: Coin = attr.ib(converter=Coin.parse) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "delegator_address": self.delegator_address, + "validator_address": self.validator_address, + "amount": self.amount.to_amino(), + }, + } @classmethod def from_data(cls, data: dict) -> MsgDelegate: - data = data["value"] return cls( delegator_address=data["delegator_address"], validator_address=data["validator_address"], amount=Coin.from_data(data["amount"]), ) + def to_proto(self) -> MsgDelegate_pb: + return MsgDelegate_pb( + delegator_address=self.delegator_address, + validator_address=self.validator_address, + amount=self.amount.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgDelegate_pb) -> MsgDelegate: + return cls( + delegator_address=proto.delegator_address, + validator_address=proto.validator_address, + amount=Coin.from_proto(proto.amount), + ) + @attr.s class MsgUndelegate(Msg): - """Undelegate SCRT from staking position with ``validator_address``. + """Undelegate Luna from staking position with ``validator_address``. Args: delegator_address: delegator validator_address: validator to undelegate from - amount (Union[str, dict, Coin]): coin (SCRT) to undelegate + amount (Union[str, dict, Coin]): coin (LUNA) to undelegate """ - type = "staking/MsgUndelegate" + type_amino = "cosmos-sdk/MsgUndelegate" + """""" + type_url = "/cosmos.staking.v1beta1.MsgUndelegate" """""" action = "begin_unbonding" """""" + prototype = MsgUndelegate_pb + """""" delegator_address: AccAddress = attr.ib() validator_address: ValAddress = attr.ib() - amount: Coin = attr.ib(converter=Coin.parse) # type: ignore + amount: Coin = attr.ib(converter=Coin.parse) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "delegator_address": self.delegator_address, + "validator_address": self.validator_address, + "amount": self.amount.to_amino(), + }, + } @classmethod def from_data(cls, data: dict) -> MsgUndelegate: - data = data["value"] return cls( delegator_address=data["delegator_address"], validator_address=data["validator_address"], amount=Coin.from_data(data["amount"]), ) + def to_proto(self) -> MsgUndelegate_pb: + return MsgUndelegate_pb( + delegator_address=self.delegator_address, + validator_address=self.validator_address, + amount=self.amount.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgUndelegate_pb) -> MsgUndelegate: + return cls( + delegator_address=proto.delegator_address, + validator_address=proto.validator_address, + amount=Coin.from_proto(proto.amount), + ) + @attr.s class MsgEditValidator(Msg): @@ -121,10 +217,14 @@ class MsgEditValidator(Msg): min_self_delegation: new minimum self delegation, """ - type = "staking/MsgEditValidator" + type = "cosmos-sdk/MsgEditValidator" + """""" + type_url = "/cosmos.staking.v1beta1.MsgEditValidator" """""" action = "edit_validator" """""" + prototype = MsgEditValidator_pb + """""" description: Description = attr.ib() validator_address: ValAddress = attr.ib() @@ -133,7 +233,6 @@ class MsgEditValidator(Msg): @classmethod def from_data(cls, data: dict) -> MsgEditValidator: - data = data["value"] msd = int(data["min_self_delegation"]) if data["min_self_delegation"] else None cr = Dec(data["commission_rate"]) if data["commission_rate"] else None return cls( @@ -143,10 +242,31 @@ def from_data(cls, data: dict) -> MsgEditValidator: min_self_delegation=msd, ) + def to_proto(self) -> MsgEditValidator_pb: + return MsgEditValidator_pb( + description=self.description.to_proto(), + validator_address=self.validator_address, + commission_rate=str(self.commission_rate) if self.commission_rate else None, + min_self_delegation=str(self.min_self_delegation) + if self.min_self_delegation + else None, + ) + + @classmethod + def from_proto(cls, proto: MsgEditValidator_pb) -> MsgEditValidator: + msd = int(proto.min_self_delegation) if proto.min_self_delegation else "0" + cr = Dec(proto.commission_rate) if proto.commission_rate else Dec("0") + return cls( + description=proto.description, + validator_address=proto.validator_address, + commission_rate=cr, + min_self_delegation=msd, + ) + @attr.s class MsgCreateValidator(Msg): - """Register a new validator with the Secret protocol. + """Register a new validator with the Terra protocol. Args: description: validator description @@ -155,17 +275,21 @@ class MsgCreateValidator(Msg): delegator_address: validator's account address validator_address: validator's operator address pubkey: validator consensus (Tendermint) public key - value (Coin.Input): initial amount of SCRT toi self-delegate + value (Coin.Input): initial amount of Luna toi self-delegate """ - type = "staking/MsgCreateValidator" + type = "cosmos-sdk/MsgCreateValidator" + """""" + type_url = "/cosmos.staking.v1beta1.MsgCreateValidator" """""" action = "create_validator" """""" + prototype = MsgCreateValidator_pb + """""" description: Description = attr.ib() commission: CommissionRates = attr.ib() - min_self_delegation: int = attr.ib() + min_self_delegation: str = attr.ib() delegator_address: AccAddress = attr.ib() validator_address: ValAddress = attr.ib() pubkey: ValConsPubKey = attr.ib() @@ -173,7 +297,6 @@ class MsgCreateValidator(Msg): @classmethod def from_data(cls, data: dict) -> MsgCreateValidator: - data = data["value"] return cls( description=Description.from_data(data["description"]), commission=CommissionRates.from_data(data["commission"]), @@ -183,3 +306,26 @@ def from_data(cls, data: dict) -> MsgCreateValidator: pubkey=data["pubkey"], value=Coin.from_data(data["value"]), ) + + def to_proto(self) -> MsgCreateValidator_pb: + return MsgCreateValidator_pb( + description=self.description.to_proto(), + commission=self.commission.to_proto(), + min_self_delegation=self.min_self_delegation, + delegator_address=self.delegator_address, + validator_address=self.validator_address, + pubkey=self.pubkey.pack_any(), + value=self.value.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgCreateValidator_pb) -> MsgCreateValidator: + return cls( + description=Description.from_proto(proto.description), + commission=CommissionRates.from_proto(proto.commission), + min_self_delegation=proto.min_self_delegation, + delegator_address=proto.delegator_address, + validator_address=proto.validator_address, + pubkey=PublicKey.unpack_any(proto.pubkey), + value=Coin.from_proto(proto.value), + ) diff --git a/secret_sdk/core/tx.py b/secret_sdk/core/tx.py new file mode 100755 index 0000000..c79fc44 --- /dev/null +++ b/secret_sdk/core/tx.py @@ -0,0 +1,672 @@ +"""Data objects pertaining to building, signing, and parsing Transactions.""" + +from __future__ import annotations + +import base64 +import json +from typing import Dict, List, Optional + +import attr +from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import AbciMessageLog as AbciMessageLog_pb +from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import Attribute as Attribute_pb +from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import StringEvent as StringEvent_pb +from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import TxResponse as TxResponse_pb +from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode as SignMode_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import AuthInfo as AuthInfo_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import SignerInfo as SignerInfo_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx as Tx_pb +from secret_sdk.protobuf.cosmos.tx.v1beta1 import TxBody as TxBody_pb + +from secret_sdk.core.compact_bit_array import CompactBitArray +from secret_sdk.core.fee import Fee +from secret_sdk.core.mode_info import ModeInfo, ModeInfoMulti, ModeInfoSingle +from secret_sdk.core.msg import Msg +from secret_sdk.core.public_key import ( + LegacyAminoMultisigPublicKey, + PublicKey, + SimplePublicKey, +) +from secret_sdk.core.signature_v2 import SignatureV2 +from secret_sdk.util.json import JSONSerializable + +# TODO: below are deprecated +deprecated_all = [ + "StdSignature", + "StdFee", + "StdSignMsg", + "StdTx", + "SearchTxsResponse" +] +__all__ = [ + "SignMode", + "AuthInfo", + "Tx", + "TxBody", + "TxLog", + "TxInfo", + "parse_tx_logs", + "SignerInfo", + "SignerData", +] + deprecated_all + + +from secret_sdk.core.coins import Coins + + +@attr.s +class StdSignature(JSONSerializable): + """Data structure holding information for a transaction signature.""" + + signature: str = attr.ib() + """Actual signature contents.""" + + pub_key: Optional[PublicKey] = attr.ib() + """Signature's public key information.""" + + @classmethod + def from_data(cls, data: dict) -> StdSignature: + return cls( + signature=data["signature"], + pub_key=data.get("pub_key") and PublicKey.from_data(data["pub_key"]), + ) + + +@attr.s +class StdFee(JSONSerializable): + """Data structure holding information for a transaction fee. + Args: + gas (int): gas to use ("gas requested") + amount (Coins.Input): fee amount + """ + + gas: int = attr.ib(converter=int) + amount: Coins = attr.ib(converter=Coins) + + @classmethod + def from_data(cls, data: dict) -> StdFee: + return cls(int(data["gas"]), Coins.from_data(data["amount"])) + + def to_data(self) -> dict: + return {"gas": str(self.gas), "amount": self.amount.to_data()} + + @property + def gas_prices(self) -> Coins: + return self.amount.to_dec_coins().div(self.gas) + + +@attr.s +class StdSignMsg(JSONSerializable): + """Data structure holding information which can be signed to create a :class:`StdTx`. + .. note:: + This object can be considered an "unsigned transaction". + Args: + chain_id (str): chain ID + account_number (int): account number + sequence (int): sequence number + fee (StdFee): transaction fee + msgs (List[Msg]): list of messages to include + memo (str): transaction memo + """ + + chain_id: str = attr.ib() + account_number: int = attr.ib(converter=int) + sequence: int = attr.ib(converter=int) + fee: StdFee = attr.ib() + msgs: List[Msg] = attr.ib() + memo: str = attr.ib() + + def to_stdtx(self) -> StdTx: + return StdTx(self.msgs, self.fee, [], self.memo) + + def to_data(self) -> dict: + return { + "chain_id": self.chain_id, + "account_number": str(self.account_number), + "sequence": str(self.sequence), + "fee": self.fee.to_data(), + "msgs": [m.to_data() for m in self.msgs], + "memo": self.memo, + } + + @classmethod + def from_data(cls, data: dict) -> StdSignMsg: + return cls( + data["chain_id"], + int(data["account_number"]), + int(data["sequence"]), + StdFee.from_data(data["fee"]), + [Msg.from_data(m) for m in data["msgs"]], + data["memo"], + ) + + +@attr.s +class StdTx(JSONSerializable): + """Data structure for a transaction which can be broadcasted. + Args: + msg: list of messages to include in transaction + fee: fee to use for transaction + signatures: list of signatures + memo: transaction memo + timeout_height: + """ + + msg: List[Msg] = attr.ib() + fee: StdFee = attr.ib() + signatures: List[StdSignature] = attr.ib() + memo: str = attr.ib() + # timeout_height: Optional[int] = attr.ib(default=None) + + def to_data(self) -> dict: + return { + "type": "cosmos-sdk/StdTx", + "value": { + "msg": [m.to_data() for m in self.msg], + "fee": self.fee.to_data(), + "signatures": [s.to_data() for s in self.signatures], + "memo": self.memo, + # "timeout_height": self.timeout_height if self.timeout_height else 0, + }, + } + + @classmethod + def from_data(cls, data: dict) -> StdTx: + data = data["value"] + return cls( + [Msg.from_data(m) for m in data["msg"]], + StdFee.from_data(data["fee"]), + [StdSignature.from_data(s) for s in data["signatures"]], + data["memo"], + # data["timeout_height"], + ) + + +@attr.s +class SearchTxsResponse(JSONSerializable): + """Holds information of the result of a search tx query + .. note:: + Users are not expected to create this object directly. It is returned by + :meth:`TxAPI.search()` + """ + + total_count: int = attr.ib(converter=int) + """Total number of txs found""" + + count: int = attr.ib(converter=int) + """Number of txs in the page""" + + page_number: int = attr.ib(converter=int) + """Page number of the page""" + + page_total: int = attr.ib(converter=int) + """Total number of pages""" + + limit: int = attr.ib(converter=int) + """Maximum amount of transactions in the page""" + + txs: List[TxInfo] = attr.ib() + """Transaction list for the page""" + + def to_data(self) -> dict: + data = { + "total_count": str(self.total_count), + "count": str(self.count), + "page_number": str(self.page_number), + "page_total": str(self.page_total), + "limit": str(self.limit), + "txs": [tx.to_data() for tx in self.txs] if self.txs else None, + } + return data + + @classmethod + def from_data(cls, data: dict) -> SearchTxsResponse: + return cls( + data["total_count"], + data.get("count", 0), + data["page_number"], + data["page_total"], + data["limit"], + [TxInfo.from_data(m) for m in data.get("txs", [])], + ) + + + + +SignMode = SignMode_pb + + +@attr.s +class SignerData: + sequence: int = attr.ib(converter=int) + public_key: Optional[PublicKey] = attr.ib(default=None) + + +@attr.s +class Tx(JSONSerializable): + """Data structure for a transaction which can be broadcasted. + + Args: + body (TxBody): the processable content of the transaction + auth_info (AuthInfo): the authorization related content of the transaction + signatures (List[bytes]): signatures is a list of signatures that matches the length and order of body and auth_info + """ + + body: TxBody = attr.ib() + auth_info: AuthInfo = attr.ib() + signatures: List[bytes] = attr.ib(converter=list) + + def to_data(self) -> dict: + return { + "body": self.body.to_data(), + "auth_info": self.auth_info.to_data(), + "signatures": [ + base64.b64encode(sig).decode("ascii") for sig in self.signatures + ], + } + + def to_proto(self) -> Tx_pb: + return Tx_pb( + body=self.body.to_proto(), + auth_info=self.auth_info.to_proto(), + signatures=self.signatures, + ) + + @classmethod + def from_data(cls, data: dict) -> Tx: + return cls( + TxBody.from_data(data["body"]), + AuthInfo.from_data(data["auth_info"]), + [base64.b64decode(sig) for sig in data["signatures"]], + ) + + @classmethod + def from_proto(cls, proto: Tx_pb) -> Tx: + return cls( + TxBody.from_proto(proto.body), + AuthInfo.from_proto(proto.auth_info), + proto.signatures, + ) + + @classmethod + def from_bytes(cls, txb: bytes) -> Tx: + proto = Tx_pb().parse(txb) + c = cls.from_proto(proto) + return c + + def append_empty_signatures(self, signers: List[SignerData]): + for signer in signers: + if signer.public_key is not None: + if isinstance(signer.public_key, LegacyAminoMultisigPublicKey): + signer_info = SignerInfo( + public_key=signer.public_key, + sequence=signer.sequence, + mode_info=ModeInfo( + multi=ModeInfoMulti( + CompactBitArray.from_bits( + len(signer.public_key.public_keys) + ), + [], + ) + ), + ) + else: + signer_info = SignerInfo( + public_key=signer.public_key, + sequence=signer.sequence, + mode_info=ModeInfo( + ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) + ), + ) + else: + signer_info = SignerInfo( + public_key=SimplePublicKey(""), + sequence=signer.sequence, + mode_info=ModeInfo(ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT)), + ) + self.auth_info.signer_infos.append(signer_info) + self.signatures.append(b" ") + + def clear_signature(self): + self.signatures.clear() + self.auth_info.signer_infos.clear() + + def append_signatures(self, signatures: List[SignatureV2]): + for sig in signatures: + mode_info, sig_bytes = sig.data.to_mode_info_and_signature() + self.signatures.append(sig_bytes) + # self.signatures.append(base64.b64decode(sig_bytes)) + self.auth_info.signer_infos.append( + SignerInfo(sig.public_key, mode_info, sig.sequence) + ) + + +@attr.s +class TxBody(JSONSerializable): + """Body of a transaction. + + Args: + messages: list of messages to include in transaction + memo: transaction memo + timeout_height: + """ + + messages: List[Msg] = attr.ib() + memo: Optional[str] = attr.ib(default="") + timeout_height: int = attr.ib( + default=0, converter=int + ) # TxBody_pb.timeout_height is int + + def to_data(self) -> dict: + return { + "messages": [m.to_data() for m in self.messages], + "memo": self.memo, + "timeout_height": self.timeout_height, + } + + def to_proto(self) -> TxBody_pb: + return TxBody_pb( + messages=[m.pack_any() for m in self.messages], + memo=self.memo, + timeout_height=self.timeout_height, + ) + + @classmethod + def from_data(cls, data: dict) -> TxBody: + return cls( + [Msg.from_data(m) for m in data["messages"]], + data["memo"], + data["timeout_height"] if data["timeout_height"] else 0, + ) + + @classmethod + def from_proto(cls, proto: TxBody_pb) -> TxBody: + return cls( + [Msg.unpack_any(m) for m in proto.messages], + proto.memo, + proto.timeout_height, + ) + + +@attr.s +class AuthInfo(JSONSerializable): + """AuthInfo + + Args: + signer_infos: information of the signers + fee: Fee + """ + + signer_infos: List[SignerInfo] = attr.ib(converter=list) + fee: Fee = attr.ib() + + def to_dict(self, casing, include_default_values) -> dict: + return self.to_proto().to_dict(casing, include_default_values) + + def to_data(self) -> dict: + return { + "signer_infos": [si.to_data() for si in self.signer_infos], + "fee": self.fee.to_data(), + } + + def to_proto(self) -> AuthInfo_pb: + return AuthInfo_pb( + signer_infos=[signer.to_proto() for signer in self.signer_infos], + fee=self.fee.to_proto(), + ) + + @classmethod + def from_data(cls, data: dict) -> AuthInfo: + return cls( + [SignerInfo.from_data(m) for m in data["signer_infos"]], + Fee.from_data(data["fee"]), + ) + + @classmethod + def from_proto(cls, proto: AuthInfo_pb) -> AuthInfo: + return cls( + [SignerInfo.from_proto(m) for m in proto.signer_infos], + Fee.from_proto(proto.fee), + ) + + +@attr.s +class SignerInfo(JSONSerializable): + """SignerInfo + Args: + public_key (PublicKey) + mode_info (ModeInfo) + sequence (int) + """ + + public_key: PublicKey = attr.ib() + mode_info: ModeInfo = attr.ib() + sequence: int = attr.ib(converter=int) + + def to_data(self) -> dict: + return { + "public_key": self.public_key.to_data(), + "mode_info": self.mode_info.to_data(), + "sequence": self.sequence, + } + + def to_proto(self) -> SignerInfo_pb: + return SignerInfo_pb( + public_key=self.public_key.pack_any(), + mode_info=self.mode_info.to_proto(), + sequence=self.sequence, + ) + + @classmethod + def from_data(cls, data: dict) -> SignerInfo: + return cls( + public_key=PublicKey.from_data(data["public_key"]), + mode_info=ModeInfo.from_data(data["mode_info"]), + sequence=data["sequence"], + ) + + @classmethod + def from_proto(cls, proto: SignerInfo_pb) -> SignerInfo: + return cls( + public_key=PublicKey.unpack_any(proto.public_key), + mode_info=ModeInfo.from_proto(proto.mode_info), + sequence=proto.sequence, + ) + + +def parse_events_by_type(event_data: List[dict]) -> Dict[str, Dict[str, List[str]]]: + events: Dict[str, Dict[str, List[str]]] = {} + for ev in event_data: + for att in ev["attributes"]: + if ev["type"] not in events: + events[ev["type"]] = {} + if att["key"] not in events[ev["type"]]: + events[ev["type"]][att["key"]] = [] + events[ev["type"]][att["key"]].append(att.get("value")) + return events + + +@attr.s +class TxLog(JSONSerializable): + """Object containing the events of a transaction that is automatically generated when + :class:`TxInfo` or :class:`BlockTxBroadcastResult` objects are read.""" + + msg_index: int = attr.ib(converter=int) + """Number of the message inside the transaction that it was included in.""" + + log: str = attr.ib() + """This field may be populated with details of the message's error, if any.""" + + events: List[dict] = attr.ib() + """Raw event log data""" + + events_by_type: Dict[str, Dict[str, List[str]]] = attr.ib(init=False) + """Event log data, re-indexed by event type name and attribute type. + + For instance, the event type may be: ``store_code`` and an attribute key could be + ``code_id``. + + >>> logs[0].events_by_type[""][""] + ['', ''] + """ + + def __attrs_post_init__(self): + self.events_by_type = parse_events_by_type(self.events) + + @classmethod + def from_proto(cls, tx_log: AbciMessageLog_pb) -> TxLog: + events = [json.loads(event) for event in tx_log.events] + return cls(msg_index=tx_log.msg_index, log=tx_log.log, events=events) + + def to_proto(self) -> AbciMessageLog_pb: + str_events = [] + for event in self.events: + str_events.append(json.dumps(event)) + return AbciMessageLog_pb( + msg_index=self.msg_index, log=self.log, events=str_events + ) + + +@attr.s +class Attribute(JSONSerializable): + key: str = attr.ib() + value: str = attr.ib() + + def to_proto(self) -> Attribute_pb: + proto = Attribute_pb() + proto.key = self.key + proto.value = self.value + return proto + + @classmethod + def from_proto(cls, attrib: Attribute_pb) -> Attribute: + return cls(key=attrib["key"], value=attrib["value"]) + + +@attr.s +class StringEvent(JSONSerializable): + + type: str = attr.ib() + attributes = attr.ib() + + def to_proto(self) -> StringEvent_pb: + return StringEvent_pb(type=self.type, attributes=self.attributes) + + @classmethod + def from_proto(cls, str_event: StringEvent_pb) -> StringEvent: + return cls(type=str_event["type"], attributes=str_event["attributes"]) + + +def parse_tx_logs(logs) -> Optional[List[TxLog]]: + return ( + [ + TxLog(msg_index=i, log=log.get("log"), events=log.get("events")) + for i, log in enumerate(logs) + ] + if logs + else None + ) + + +def parse_tx_logs_proto(logs: List[AbciMessageLog_pb]) -> Optional[List[TxLog]]: + return [TxLog.from_proto(log) for log in logs] if logs else None + + +@attr.s +class TxInfo(JSONSerializable): + """Holds information pertaining to a transaction which has been included in a block + on the blockchain. + + .. note:: + Users are not expected to create this object directly. It is returned by + :meth:`TxAPI.tx_info()` + """ + + height: int = attr.ib(converter=int) + """Block height at which transaction was included.""" + + txhash: str = attr.ib() + """Transaction hash.""" + + rawlog: str = attr.ib() + """Event log information as a raw JSON-string.""" + + logs: Optional[List[TxLog]] = attr.ib() + """Event log information.""" + + gas_wanted: int = attr.ib(converter=int) + """Gas requested by transaction.""" + + gas_used: int = attr.ib(converter=int) + """Actual gas amount used.""" + + tx: Tx = attr.ib() + """Transaction object.""" + + timestamp: str = attr.ib() + """Time at which transaction was included.""" + + code: Optional[int] = attr.ib(default=None) + """If this field is not ``None``, the transaction failed at ``DeliverTx`` stage.""" + + codespace: Optional[str] = attr.ib(default=None) + """Error subspace (used alongside ``code``).""" + + def to_data(self) -> dict: + data = { + "height": str(self.height), + "txhash": self.txhash, + "raw_log": self.rawlog, + "logs": [log.to_data() for log in self.logs] if self.logs else None, + "gas_wanted": str(self.gas_wanted), + "gas_used": str(self.gas_used), + "timestamp": self.timestamp, + "tx": self.tx.to_data(), + "code": self.code, + "codespace": self.codespace, + } + + return data + + @classmethod + def from_data(cls, data: dict) -> TxInfo: + return cls( + data.get("height"), + data.get("txhash"), + data.get("raw_log"), + parse_tx_logs(data.get("logs")), + data.get("gas_wanted"), + data.get("gas_used"), + Tx.from_data(data.get("tx")), + data.get("timestamp"), + data.get("code"), + data.get("codespace"), + ) + + def to_proto(self) -> TxResponse_pb: + proto = TxResponse_pb() + proto.height = self.height + proto.txhash = self.txhash + proto.raw_log = self.rawlog + proto.logs = [log.to_proto() for log in self.logs] if self.logs else None + proto.gas_wanted = self.gas_wanted + proto.gas_used = self.gas_used + proto.timestamp = self.timestamp + proto.tx = self.tx.to_proto() + proto.code = self.code + proto.codespace = self.codespace + return proto + + @classmethod + def from_proto(cls, proto: TxResponse_pb) -> TxInfo: + return cls( + height=proto.height, + txhash=proto.txhash, + rawlog=proto.raw_log, + logs=parse_tx_logs_proto(proto.logs), + gas_wanted=proto.gas_wanted, + gas_used=proto.gas_used, + timestamp=proto.timestamp, + tx=Tx.from_proto(proto.tx), + code=proto.code, + codespace=proto.codespace, + ) diff --git a/secret_sdk/core/tx_decoder.py b/secret_sdk/core/tx_decoder.py new file mode 100644 index 0000000..0bd3cd0 --- /dev/null +++ b/secret_sdk/core/tx_decoder.py @@ -0,0 +1,119 @@ +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin +from secret_sdk.protobuf.cosmos.authz.v1beta1 import MsgGrant, MsgExec, MsgRevoke + +from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend, MsgMultiSend + +from secret_sdk.protobuf.cosmos.crisis.v1beta1 import MsgVerifyInvariant + +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + MsgWithdrawDelegatorReward, + MsgFundCommunityPool, + MsgWithdrawValidatorCommission, + MsgSetWithdrawAddress, +) + +from secret_sdk.protobuf.cosmos.evidence.v1beta1 import MsgSubmitEvidence + +from secret_sdk.protobuf.cosmos.feegrant.v1beta1 import MsgGrantAllowance, MsgRevokeAllowance +from secret_sdk.protobuf.cosmos.gov.v1beta1 import ( + MsgSubmitProposal, + MsgVote, + MsgVoteWeighted, + MsgDeposit, +) + +from secret_sdk.protobuf.cosmos.slashing.v1beta1 import MsgUnjail + +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + MsgCreateValidator, + MsgEditValidator, + MsgDelegate, + MsgBeginRedelegate, + MsgUndelegate, +) + +from secret_sdk.protobuf.ibc.applications.transfer.v1 import MsgTransfer + +from secret_sdk.protobuf.ibc.core.channel.v1 import ( + MsgChannelOpenInit, + MsgChannelOpenTry, + MsgChannelOpenAck, + MsgChannelOpenConfirm, + MsgChannelCloseInit, + MsgChannelCloseConfirm, + MsgRecvPacket, + MsgTimeout, + MsgTimeoutOnClose, + MsgAcknowledgement, +) + +from secret_sdk.protobuf.ibc.core.client.v1 import ( + MsgCreateClient, + MsgUpdateClient, + MsgUpgradeClient, + MsgSubmitMisbehaviour, +) + +from secret_sdk.protobuf.ibc.core.connection.v1 import ( + MsgConnectionOpenInit, + MsgConnectionOpenTry, + MsgConnectionOpenAck, + MsgConnectionOpenConfirm, +) + +from secret_sdk.protobuf.secret.compute.v1beta1 import ( + MsgStoreCode, + MsgInstantiateContract, + MsgExecuteContract, +) +from secret_sdk.protobuf.secret.registration.v1beta1 import RaAuthenticate + + +msg_decoder_mapper = { + "/cosmos.authz.v1beta1.MsgGrant": MsgGrant, + "/cosmos.authz.v1beta1.MsgExec": MsgExec, + "/cosmos.authz.v1beta1.MsgRevoke": MsgRevoke, + "/cosmos.bank.v1beta1.MsgSend": MsgSend, + "/cosmos.bank.v1beta1.MsgMultiSend": MsgMultiSend, + "/cosmos.crisis.v1beta1.MsgVerifyInvariant": MsgVerifyInvariant, + "/cosmos.distribution.v1beta1.MsgSetWithdrawAddress": MsgSetWithdrawAddress, + "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward": MsgWithdrawDelegatorReward, + "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission": MsgWithdrawValidatorCommission, + "/cosmos.distribution.v1beta1.MsgFundCommunityPool": MsgFundCommunityPool, + "/cosmos.evidence.v1beta1.MsgSubmitEvidence": MsgSubmitEvidence, + "/cosmos.feegrant.v1beta1.MsgGrantAllowance": MsgGrantAllowance, + "/cosmos.feegrant.v1beta1.MsgRevokeAllowance": MsgRevokeAllowance, + "/cosmos.gov.v1beta1.MsgSubmitProposal": MsgSubmitProposal, + "/cosmos.gov.v1beta1.MsgVote": MsgVote, + "/cosmos.gov.v1beta1.MsgVoteWeighted": MsgVoteWeighted, + "/cosmos.gov.v1beta1.MsgDeposit": MsgDeposit, + "/cosmos.slashing.v1beta1.MsgUnjail": MsgUnjail, + "/cosmos.staking.v1beta1.MsgCreateValidator": MsgCreateValidator, + "/cosmos.staking.v1beta1.MsgEditValidator": MsgEditValidator, + "/cosmos.staking.v1beta1.MsgDelegate": MsgDelegate, + "/cosmos.staking.v1beta1.MsgBeginRedelegate": MsgBeginRedelegate, + "/cosmos.staking.v1beta1.MsgUndelegate": MsgUndelegate, + "/ibc.applications.transfer.v1.MsgTransfer": MsgTransfer, + "/ibc.core.channel.v1.MsgChannelOpenInit": MsgChannelOpenInit, + "/ibc.core.channel.v1.MsgChannelOpenTry": MsgChannelOpenTry, + "/ibc.core.channel.v1.MsgChannelOpenAck": MsgChannelOpenAck, + "/ibc.core.channel.v1.MsgChannelOpenConfirm": MsgChannelOpenConfirm, + "/ibc.core.channel.v1.MsgChannelCloseInit": MsgChannelCloseInit, + "/ibc.core.channel.v1.MsgChannelCloseConfirm": MsgChannelCloseConfirm, + "/ibc.core.channel.v1.MsgRecvPacket": MsgRecvPacket, + "/ibc.core.channel.v1.MsgTimeout": MsgTimeout, + "/ibc.core.channel.v1.MsgTimeoutOnClose": MsgTimeoutOnClose, + "/ibc.core.channel.v1.MsgAcknowledgement": MsgAcknowledgement, + "/ibc.core.client.v1.MsgCreateClient": MsgCreateClient, + "/ibc.core.client.v1.MsgUpdateClient": MsgUpdateClient, + "/ibc.core.client.v1.MsgUpgradeClient": MsgUpgradeClient, + "/ibc.core.client.v1.MsgSubmitMisbehaviour": MsgSubmitMisbehaviour, + "/ibc.core.connection.v1.MsgConnectionOpenInit": MsgConnectionOpenInit, + "/ibc.core.connection.v1.MsgConnectionOpenTry": MsgConnectionOpenTry, + "/ibc.core.connection.v1.MsgConnectionOpenAck": MsgConnectionOpenAck, + "/ibc.core.connection.v1.MsgConnectionOpenConfirm": MsgConnectionOpenConfirm, + "/secret.compute.v1beta1.MsgStoreCode": MsgStoreCode, + "/secret.compute.v1beta1.MsgInstantiateContract": MsgInstantiateContract, + "/secret.compute.v1beta1.MsgExecuteContract": MsgExecuteContract, + "/secret.registration.v1beta1.RaAuthenticate": RaAuthenticate, +} \ No newline at end of file diff --git a/secret_sdk/core/upgrade/__init__.py b/secret_sdk/core/upgrade/__init__.py new file mode 100755 index 0000000..1b1c4d6 --- /dev/null +++ b/secret_sdk/core/upgrade/__init__.py @@ -0,0 +1,4 @@ +from .data import CancelSoftwareUpgradeProposal, SoftwareUpgradeProposal +from .plan import Plan + +__all__ = ["Plan", "SoftwareUpgradeProposal", "CancelSoftwareUpgradeProposal"] diff --git a/secret_sdk/core/upgrade/data/__init__.py b/secret_sdk/core/upgrade/data/__init__.py new file mode 100755 index 0000000..b55563f --- /dev/null +++ b/secret_sdk/core/upgrade/data/__init__.py @@ -0,0 +1,3 @@ +from .proposal import CancelSoftwareUpgradeProposal, SoftwareUpgradeProposal + +__all__ = ["SoftwareUpgradeProposal", "CancelSoftwareUpgradeProposal"] diff --git a/secret_sdk/core/upgrade/data/proposal.py b/secret_sdk/core/upgrade/data/proposal.py new file mode 100755 index 0000000..4902449 --- /dev/null +++ b/secret_sdk/core/upgrade/data/proposal.py @@ -0,0 +1,109 @@ +"""Upgrade module data objects.""" + +from __future__ import annotations + +__all__ = ["SoftwareUpgradeProposal", "CancelSoftwareUpgradeProposal"] + +from typing import Optional + +import attr +from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.protobuf.cosmos.upgrade.v1beta1 import ( + CancelSoftwareUpgradeProposal as CancelSoftwareUpgradeProposal_pb, +) +from secret_sdk.protobuf.cosmos.upgrade.v1beta1 import ( + SoftwareUpgradeProposal as SoftwareUpgradeProposal_pb, +) + +from secret_sdk.core.upgrade.plan import Plan +from secret_sdk.util.json import JSONSerializable + + +@attr.s +class SoftwareUpgradeProposal(JSONSerializable): + title: str = attr.ib() + description: str = attr.ib() + plan: Optional[Plan] = attr.ib() + + type_amino = "cosmos-sdk/SoftwareUpgradeProposal" + """""" + type_url = "/cosmos.upgrade.v1beta1.SoftwareUpgradeProposal" + """""" + prototype = SoftwareUpgradeProposal_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "title": self.title, + "description": self.description, + "plan": self.plan.to_amino() if self.plan else None, + }, + } + + @classmethod + def from_data(cls, data: dict) -> SoftwareUpgradeProposal: + return cls( + title=data["title"], + description=data["description"], + plan=Plan.from_data(data["plan"]) if data.get("plan") else None, + ) + + def to_proto(self) -> SoftwareUpgradeProposal_pb: + return SoftwareUpgradeProposal_pb( + title=self.title, + description=self.description, + plan=(self.plan.to_proto() if self.plan else None), + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + @classmethod + def from_proto(cls, proto: SoftwareUpgradeProposal_pb) -> SoftwareUpgradeProposal: + return cls( + title=proto.title, + description=proto.description, + plan=Plan.from_proto(proto.plan) if proto.plan else None, + ) + + +@attr.s +class CancelSoftwareUpgradeProposal(JSONSerializable): + title: str = attr.ib() + description: str = attr.ib() + + type_amino = "cosmos-sdk/CancelSoftwareUpgradeProposal" + """""" + type_url = "/cosmos.upgrade.v1beta1.CancelSoftwareUpgradeProposal" + """""" + prototype = CancelSoftwareUpgradeProposal_pb + """""" + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "title": self.title, + "description": self.description, + }, + } + + @classmethod + def from_data(cls, data: dict) -> CancelSoftwareUpgradeProposal: + return cls(title=data["title"], description=data["description"]) + + def to_proto(self) -> CancelSoftwareUpgradeProposal_pb: + return CancelSoftwareUpgradeProposal_pb( + title=self.title, description=self.description + ) + + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + + @classmethod + def from_proto( + cls, proto: CancelSoftwareUpgradeProposal_pb + ) -> CancelSoftwareUpgradeProposal: + return cls(title=proto.title, description=proto.description) diff --git a/secret_sdk/core/upgrade/plan.py b/secret_sdk/core/upgrade/plan.py new file mode 100755 index 0000000..de6f238 --- /dev/null +++ b/secret_sdk/core/upgrade/plan.py @@ -0,0 +1,73 @@ +"""Upgrade module data objects.""" + +from __future__ import annotations + +__all__ = ["Plan"] + +from datetime import datetime +from typing import Any, Optional + +import attr +from attr import converters +from betterproto.lib.google.protobuf import Any as Any_pb +from dateutil import parser +from secret_sdk.protobuf.cosmos.upgrade.v1beta1 import Plan as Plan_pb + +from secret_sdk.util.converter import to_isoformat +from secret_sdk.util.json import JSONSerializable + + +@attr.s +class Plan(JSONSerializable): + name: str = attr.ib() + height: str = attr.ib() + info: str = attr.ib() + time: Optional[datetime] = attr.ib( + default=None, converter=converters.optional(parser.parse) + ) + upgrade_client_state: Optional[Any] = attr.ib(default=None) + + def to_amino(self) -> dict: + return { + "name": self.name, + "height": self.height, + "info": self.info, + "time": to_isoformat(self.time) if self.time else None, + "upgrade_client_state": self.upgrade_client_state, + } + + @classmethod + def from_data(cls, data: dict) -> Plan: + return cls( + name=data["name"], + time=data["time"] if data.get("time") else None, + height=data["height"], + info=data["info"], + upgrade_client_state=data["upgrade_client_state"] + if data.get("upgrade_client_state") + else None, + ) + + def to_proto(self) -> Plan_pb: + ucs = self.upgrade_client_state + if ucs is not None: + ucs = Any_pb(type_url=ucs["type_url"], value=bytes(ucs.to_proto())) + return Plan_pb( + name=self.name, + time=self.time, + height=self.height, + info=self.info, + upgraded_client_state=ucs if ucs else None, + ) + + @classmethod + def from_proto(cls, proto: Plan_pb) -> Plan: + return cls( + name=proto.name, + time=proto.time if proto.time else None, + height=proto.height, + info=proto.info, + upgrade_client_state=Any_pb().parse(proto.upgrade_client_state) + if proto.upgraded_client_state + else None, + ) diff --git a/secret_sdk/core/wasm/__init__.py b/secret_sdk/core/wasm/__init__.py old mode 100644 new mode 100755 index 5c22e3c..4a3342d --- a/secret_sdk/core/wasm/__init__.py +++ b/secret_sdk/core/wasm/__init__.py @@ -1,19 +1,11 @@ from .msgs import ( - MsgClearContractAdmin, MsgExecuteContract, MsgInstantiateContract, - MsgMigrateCode, - MsgMigrateContract, MsgStoreCode, - MsgUpdateContractAdmin, ) __all__ = [ "MsgStoreCode", - "MsgMigrateCode", "MsgInstantiateContract", - "MsgExecuteContract", - "MsgMigrateContract", - "MsgUpdateContractAdmin", - "MsgClearContractAdmin", + "MsgExecuteContract" ] diff --git a/secret_sdk/core/wasm/data.py b/secret_sdk/core/wasm/data.py new file mode 100755 index 0000000..9fb1cef --- /dev/null +++ b/secret_sdk/core/wasm/data.py @@ -0,0 +1,91 @@ +from __future__ import annotations + +import json +from typing import Union + +import attr +from secret_sdk.protobuf.secret.compute.v1beta1 import AbsoluteTxPosition as AbsoluteTxPosition_pb +from secret_sdk.protobuf.secret.compute.v1beta1 import AccessType +from secret_sdk.protobuf.secret.compute.v1beta1 import AccessTypeParam as AccessTypeParam_pb + +from secret_sdk.util.json import JSONSerializable + +__all__ = ["AccessType", "AccessTypeParam"] + + +def parse_msg(msg: Union[dict, str, bytes]) -> dict: + if type(msg) is dict: + return msg + return json.loads(msg) + + +def convert_access_type_from_json(access_type: str) -> AccessType: + if access_type == "Everybody": + return AccessType.ACCESS_TYPE_EVERYBODY + elif access_type == "Nobody": + return AccessType.ACCESS_TYPE_NOBODY + elif access_type == "OnlyAddress": + return AccessType.ACCESS_TYPE_ONLY_ADDRESS + elif access_type == "Unspecified": + return AccessType.ACCESS_TYPE_UNSPECIFIED + + +def convert_access_type_to_json(access_type: AccessType) -> str: + if access_type == AccessType.ACCESS_TYPE_EVERYBODY: + return AccessType.ACCESS_TYPE_EVERYBODY.name + elif access_type == AccessType.ACCESS_TYPE_NOBODY: + return AccessType.ACCESS_TYPE_NOBODY.name + elif access_type == AccessType.ACCESS_TYPE_ONLY_ADDRESS: + return AccessType.ACCESS_TYPE_ONLY_ADDRESS.name + elif access_type == AccessType.ACCESS_TYPE_UNSPECIFIED: + return AccessType.ACCESS_TYPE_UNSPECIFIED.name + + +@attr.s +class AccessTypeParam(JSONSerializable): + value: AccessType = attr.ib() + """""" + + def to_amino(self) -> dict: + return { + "value": convert_access_type_to_json(self.value), + } + + def to_proto(self) -> AccessTypeParam_pb: + return AccessTypeParam_pb( + value=self.value, + ) + + @classmethod + def from_data(cls, data: dict) -> AccessTypeParam: + return cls( + value=convert_access_type_from_json(data["value"]), + ) + + @classmethod + def from_proto(cls, proto: AccessTypeParam_pb) -> AccessTypeParam: + return cls(value=proto.value) + + +@attr.s +class AbsoluteTxPosition(JSONSerializable): + block_height: int = attr.ib() + tx_index: int = attr.ib() + """""" + + def to_amino(self): + return {"block_height": self.block_height, "tx_index": self.tx_index} + + def to_proto(self) -> AbsoluteTxPosition_pb: + return AbsoluteTxPosition_pb( + block_height=self.block_height, tx_index=self.tx_index + ) + + @classmethod + def from_data(cls, data: dict) -> AbsoluteTxPosition: + return cls(block_height=data["block_height"], tx_index=data["tx_index"]) + + @classmethod + def from_proto(cls, proto: AbsoluteTxPosition_pb) -> AbsoluteTxPosition: + return cls(block_height=proto.block_height, tx_index=proto.tx_index) + diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py old mode 100644 new mode 100755 index f16ff82..84cdf41 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -2,27 +2,38 @@ from __future__ import annotations -import copy +import base64 +import json +from typing import Optional, Union import attr -from typing import Dict, Any +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract as MsgExecuteContract_pb +from secret_sdk.protobuf.secret.compute.v1beta1 import ( + MsgInstantiateContract as MsgInstantiateContract_pb, +) +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgStoreCode as MsgStoreCode_pb from secret_sdk.core import AccAddress, Coins from secret_sdk.core.msg import Msg -from secret_sdk.util.json import dict_to_data from secret_sdk.util.remove_none import remove_none __all__ = [ "MsgStoreCode", - "MsgMigrateCode", "MsgInstantiateContract", - "MsgExecuteContract", - "MsgMigrateContract", - "MsgUpdateContractAdmin", - "MsgClearContractAdmin", + "MsgExecuteContract" ] +def parse_msg(msg: Union[dict, str, bytes]) -> dict: + if type(msg) is dict: + return msg + try: + msg = json.loads(msg) + except: + pass + return msg + + @attr.s class MsgStoreCode(Msg): """Upload a new smart contract WASM binary to the blockchain. @@ -30,9 +41,14 @@ class MsgStoreCode(Msg): Args: sender: address of sender wasm_byte_code: base64-encoded string containing bytecode + instantiate_permission: access control to apply on contract creation, optional """ - type = "wasm/MsgStoreCode" + type_amino = "wasm/MsgStoreCode" + """""" + type_url = "/secret.compute.v1beta1.MsgStoreCode" + """""" + prototype = MsgStoreCode_pb """""" sender: AccAddress = attr.ib() @@ -40,49 +56,49 @@ class MsgStoreCode(Msg): source: str = attr.ib(converter=str) builder: str = attr.ib(converter=str) + # async def gzip_wasm(self): + # if not is_gzip(self.wasm_byte_code): + # self.wasm_byte_code = gzip(self.wasm_byte_code, level=9) + + def to_amino(self) -> dict: + # await self.gzip_wasm() + + return { + "type": self.type_amino, + "value": { + "sender": self.sender, + "wasm_byte_code": self.wasm_byte_code, + "source": self.source, + "builder": self.builder + }, + } + @classmethod def from_data(cls, data: dict) -> MsgStoreCode: - data = data["value"] return cls( sender=data["sender"], wasm_byte_code=data["wasm_byte_code"], source=data.get("source"), - builder=data.get("builder"), + builder=data.get("builder") ) + def to_proto(self) -> MsgStoreCode_pb: + # await self.gzip_wasm() -@attr.s -class MsgMigrateCode(Msg): - """Upload a new smart contract WASM binary to the blockchain, replacing an existing code ID. - Can only be called once by creator of the contract, and is used for migrating from Col-4 to Col-5. - - Args: - sender: address of sender - code_id: reference to the code on the blockchain - wasm_byte_code: base64-encoded string containing bytecode - """ - - type = "wasm/MsgMigrateCode" - """""" - - sender: AccAddress = attr.ib() - code_id: int = attr.ib(converter=int) - wasm_byte_code: str = attr.ib(converter=str) - - def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - d["sender"] = str(d["sender"]) - d["code_id"] = str(d["code_id"]) - d["wasm_byte_code"] = str(d["wasm_byte_code"]) - return {"type": self.type, "value": dict_to_data(d)} + return MsgStoreCode_pb( + sender=self.sender, + wasm_byte_code=base64.b64decode(self.wasm_byte_code), + source=self.source, + builder=self.builder + ) @classmethod - def from_data(cls, data: dict) -> MsgMigrateCode: - data = data["value"] + def from_proto(cls, proto: MsgStoreCode_pb) -> MsgStoreCode: return cls( - sender=data["sender"], - code_id=data["code_id"], - wasm_byte_code=data["wasm_byte_code"], + sender=proto.sender, + wasm_byte_code=base64.b64encode(proto.wasm_byte_code).decode(), + source=proto.source, + builder=proto.builder ) @@ -93,12 +109,16 @@ class MsgInstantiateContract(Msg): Args: sender: address of sender code_id (int): code ID to use for instantiation - label (str): human-readable label for this contract + label (str): label for the contract. init_msg (dict): InitMsg to initialize contract init_funds (Coins): initial amount of coins to be sent to contract """ - type = "wasm/MsgInstantiateContract" + type_amino = "wasm/MsgInstantiateContract" + """""" + type_url = "/secret.compute.v1beta1.MsgInstantiateContract" + """""" + prototype = MsgInstantiateContract_pb """""" sender: AccAddress = attr.ib() @@ -107,22 +127,73 @@ class MsgInstantiateContract(Msg): init_msg: dict = attr.ib() init_funds: Coins = attr.ib(converter=Coins, factory=Coins) - def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - d["code_id"] = str(d["code_id"]) - return {"type": self.type, "value": dict_to_data(d)} + init_msg_encrypted: dict = None + code_hash: str = None + warn_code_hash: bool = False + + def __attrs_post_init__(self): + if self.code_hash: + self.code_hash = self.code_hash.replace('0x', '').lower() + else: + self.code_hash = '' + self.warn_code_hash = True + # print('WARNING: MsgInstantiateContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') + + def to_amino(self) -> dict: + if not self.init_msg_encrypted: + # The encryption uses a random nonce + # toProto() & toAmino() are called multiple times during signing + # so to keep the msg consistant across calls we encrypt the msg only once + pass + # self.init_msg_encrypted = await utils.encrypt(self.code_hash, self.init_msg) + + return { + "type": self.type_amino, + "value": { + "sender": self.sender, + "code_id": str(self.code_id), + "label": self.label, + "init_msg": remove_none(self.init_msg_encrypted), + "init_funds": self.init_funds.to_amino(), + }, + } @classmethod - def from_data(cls, data: Dict[str, Any]) -> MsgInstantiateContract: - data = data["value"] + def from_data(cls, data: dict) -> MsgInstantiateContract: return cls( - sender=data["sender"], + sender=data.get("sender"), code_id=data["code_id"], - label=data.get("label"), - init_msg=remove_none(data["init_msg"]), + label=data["label"], + init_msg=parse_msg(data["init_msg"]), init_funds=Coins.from_data(data["init_funds"]), ) + def to_proto(self) -> MsgInstantiateContract_pb: + if not self.init_msg_encrypted: + # The encryption uses a random nonce + # toProto() & toAmino() are called multiple times during signing + # so to keep the msg consistant across calls we encrypt the msg only once + pass + # self.init_msg_encrypted = await utils.encrypt(self.code_hash, self.init_msg) + + return MsgInstantiateContract_pb( + sender=self.sender, + code_id=self.code_id, + label=self.label, + init_msg=bytes(json.dumps(self.init_msg_encrypted), "utf-8"), + init_funds=self.init_funds.to_proto(), + ) + + @classmethod + def from_proto(cls, proto: MsgInstantiateContract_pb) -> MsgInstantiateContract: + return cls( + sender=proto.sender, + code_id=proto.code_id, + label=proto.label, + init_msg=parse_msg(proto.init_msg), + init_funds=Coins.from_proto(proto.init_funds), + ) + @attr.s class MsgExecuteContract(Msg): @@ -131,114 +202,82 @@ class MsgExecuteContract(Msg): Args: sender: address of sender contract: address of contract to execute function on - execute_msg: ExecuteMsg (aka. HandleMsg) to pass - coins: coins to be sent, if needed by contract to execute. + msg (dict|str): ExecuteMsg to pass + sent_funds: coins to be sent, if needed by contract to execute. Defaults to empty ``Coins()`` """ - type = "wasm/MsgExecuteContract" + type_amino = "wasm/MsgExecuteContract" + """""" + type_url = "/secret.compute.v1beta1.MsgExecuteContract" + """""" + prototype = MsgExecuteContract_pb """""" sender: AccAddress = attr.ib() contract: AccAddress = attr.ib() - msg: str = attr.ib() + msg: Union[dict, str] = attr.ib() sent_funds: Coins = attr.ib(converter=Coins, factory=Coins) - def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - return {"type": self.type, "value": dict_to_data(d)} + msg_encrypted: Optional[Union[dict, str]] = None + code_hash: str = None + warn_code_hash: bool = False + + def __attrs_post_init__(self): + if self.code_hash: + self.code_hash = self.code_hash.replace('0x', '').lower() + else: + self.code_hash = '' + self.warn_code_hash = True + # print('WARNING: MsgExecuteContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') + + def to_amino(self) -> dict: + if not self.msg_encrypted: + # The encryption uses a random nonce + # toProto() & toAmino() are called multiple times during signing + # so to keep the msg consistant across calls we encrypt the msg only once + pass + # self.msg_encrypted = await utils.encrypt(self.code_hash, self.msg) + + return { + "type": self.type_amino, + "value": { + "sender": self.sender, + "contract": self.contract, + "msg": remove_none(self.msg_encrypted), + "sent_funds": self.sent_funds.to_amino(), + }, + } @classmethod def from_data(cls, data: dict) -> MsgExecuteContract: - data = data["value"] return cls( sender=data["sender"], contract=data["contract"], - msg=data["msg"], + msg=parse_msg(data["msg"]), sent_funds=Coins.from_data(data["sent_funds"]), ) - -@attr.s -class MsgMigrateContract(Msg): - """Migrate the contract to a different code ID. - - Args: - admin: address of contract admin - contract: address of contract to migrate - new_code_id (int): new code ID to migrate to - migrate_msg (dict): MigrateMsg to execute - """ - - type = "wasm/MsgMigrateContract" - """""" - - admin: AccAddress = attr.ib() - contract: AccAddress = attr.ib() - new_code_id: int = attr.ib(converter=int) - migrate_msg: dict = attr.ib() - - def to_data(self) -> dict: - d = copy.deepcopy(self.__dict__) - return {"type": self.type, "value": dict_to_data(d)} - - @classmethod - def from_data(cls, data: dict) -> MsgMigrateContract: - data = data["value"] - return cls( - admin=data["admin"], - contract=data["contract"], - new_code_id=data["new_code_id"], - migrate_msg=data["migrate_msg"], + def to_proto(self) -> MsgExecuteContract_pb: + if not self.msg_encrypted: + # The encryption uses a random nonce + # toProto() & toAmino() are called multiple times during signing + # so to keep the msg consistant across calls we encrypt the msg only once + pass + # self.msg_encrypted = await utils.encrypt(self.code_hash, self.msg) + + return MsgExecuteContract_pb( + sender=self.sender, + contract=self.contract, + msg=bytes(json.dumps(self.msg_encrypted), "utf-8"), + sent_funds=self.sent_funds.to_proto(), ) - -@attr.s -class MsgUpdateContractAdmin(Msg): - """Update a smart contract's admin. - - Args: - owner: address of current admin (sender) - new_owner: address of new admin - contract: address of contract to change - """ - - type = "wasm/MsgUpdateContractAdmin" - """""" - - admin: AccAddress = attr.ib() - new_admin: AccAddress = attr.ib() - contract: AccAddress = attr.ib() - - @classmethod - def from_data(cls, data: dict) -> MsgUpdateContractAdmin: - data = data["value"] - return cls( - admin=data["admin"], - new_admin=data["new_admin"], - contract=data["contract"], - ) - - -@attr.s -class MsgClearContractAdmin(Msg): - """Clears the contract's admin field. - - Args: - admin: address of current admin (sender) - contract: address of contract to change - """ - - type = "wasm/MsgClearContractAdmin" - """""" - - admin: AccAddress = attr.ib() - contract: AccAddress = attr.ib() - @classmethod - def from_data(cls, data: dict) -> MsgClearContractAdmin: - data = data["value"] + def from_proto(cls, proto: MsgExecuteContract_pb) -> MsgExecuteContract: return cls( - admin=data["admin"], - contract=data["contract"], + sender=proto.sender, + contract=proto.contract, + msg=parse_msg(proto.msg), + sent_funds=proto.sent_funds, ) diff --git a/secret_sdk/key/key.py b/secret_sdk/key/key.py index c5b8a6c..dc9d3cb 100644 --- a/secret_sdk/key/key.py +++ b/secret_sdk/key/key.py @@ -6,7 +6,7 @@ from bech32 import bech32_encode, convertbits from secret_sdk.core import AccAddress, AccPubKey, ValAddress, ValPubKey -from secret_sdk.core.auth import StdSignature, StdSignMsg, StdTx +from secret_sdk.core import StdSignature, StdSignMsg, StdTx BECH32_PUBKEY_DATA_PREFIX = "eb5ae98721" diff --git a/secret_sdk/util/base.py b/secret_sdk/util/base.py index 986849c..b96df97 100644 --- a/secret_sdk/util/base.py +++ b/secret_sdk/util/base.py @@ -1,24 +1,65 @@ """Some useful base classes to inherit from.""" +from abc import abstractmethod from typing import Any, Callable, Dict, List +import attr +from betterproto import Message +from betterproto.lib.google.protobuf import Any as Any_pb + from .json import JSONSerializable, dict_to_data -class BaseSecretData(JSONSerializable): +class BaseSecretData(JSONSerializable, Message): + type: str + type_url: str def to_data(self) -> dict: - return {"type": self.type, "value": dict_to_data(self.__dict__)} + data = dict_to_data(attr.asdict(self)) + data.update({"@type": self.type_url}) + return data + @abstractmethod + def to_proto(self): + pass -def create_demux(inputs: List, default) -> Callable[[Dict[str, Any]], Any]: - table = {i.type: i.from_data for i in inputs} + +# data demux +def create_demux(inputs: List) -> Callable[[Dict[str, Any]], Any]: + table = {i.type_url: i.from_data for i in inputs} def from_data(data: dict): - return ( - table[data["type"]](data) - if data["type"] in table - else default(data.get("type", ""), data.get("value", {})) - ) + return table[data["@type"]](data) return from_data + + +# for other protos inside of msgs +def create_demux_proto(inputs: List) -> Callable[[Dict[str, Any]], Any]: + table = {i.type_url: i.from_proto for i in inputs} + + def from_proto(proto: Any_pb): + return table[proto.type_url](proto) + + return from_proto + + +# Any_pb to Proto for msgs +def create_demux_unpack_any(inputs: List) -> Callable[[Dict[str, Any]], Any]: + table = {i.type_url: i.from_proto for i in inputs} + prototypes = {i.type_url: i.prototype for i in inputs} + + def unpack_any(proto: Any_pb): + return table[proto.type_url](prototypes[proto.type_url]().parse(proto.value)) + + return unpack_any + + +# legacy amino demux +def create_demux_amino(inputs: List) -> Callable[[Dict[str, Any]], Any]: + table = {i.type_amino: i.from_amino for i in inputs} + + def from_amino(data: dict): + return table[data["type"]](data) + + return from_amino diff --git a/secret_sdk/util/contract.py b/secret_sdk/util/contract.py index f6a8df9..2b2909d 100644 --- a/secret_sdk/util/contract.py +++ b/secret_sdk/util/contract.py @@ -5,7 +5,7 @@ from typing import Dict, List, Union from secret_sdk.core import AccAddress -from secret_sdk.core.auth import TxInfo +from secret_sdk.core import TxInfo from secret_sdk.core.broadcast import BlockTxBroadcastResult from secret_sdk.util.json import dict_to_data @@ -53,7 +53,8 @@ def get_code_id( str: extracted code id """ if tx_result.logs: - code_id = tx_result.logs[msg_index].events_by_type["message"]["code_id"][0] + # code_id = tx_result.logs[msg_index].events_by_type["message"]["code_id"][0] + code_id = tx_result.logs[msg_index].events_by_type["store_code"]["code_id"][0] return code_id else: raise ValueError("could not parse code id -- tx logs are empty.") @@ -73,9 +74,12 @@ def get_contract_address( str: extracted contract address """ if tx_result.logs: - contract_address = tx_result.logs[msg_index].events_by_type[ - "instantiate_contract" - ]["contract_address"][0] + # contract_address = tx_result.logs[msg_index].events_by_type[ + # "instantiate_contract" + # ]["contract_address"][0] + contract_address = tx_result.logs[msg_index].events_by_type["wasm"][ + "_contract_address" + ][0] return AccAddress(contract_address) else: raise ValueError("could not parse code id -- tx logs are empty.") diff --git a/secret_sdk/util/converter.py b/secret_sdk/util/converter.py index 9dab6b7..938acb0 100644 --- a/secret_sdk/util/converter.py +++ b/secret_sdk/util/converter.py @@ -5,5 +5,5 @@ def to_isoformat(dt: datetime) -> str: return ( dt.isoformat(timespec="milliseconds") .replace("+00:00", "Z") - .replace("000Z", "Z") + .replace(".000Z", "Z") ) diff --git a/secret_sdk/util/json.py b/secret_sdk/util/json.py index 263700f..814a169 100644 --- a/secret_sdk/util/json.py +++ b/secret_sdk/util/json.py @@ -8,12 +8,18 @@ def to_data(x: Any) -> Any: - if "to_data" in dir(x): + if hasattr(x, "to_data"): return x.to_data() + if isinstance(x, int): + return str(x) + if isinstance(x, datetime): + return to_isoformat(x) if isinstance(x, list): return [to_data(g) for g in x] if isinstance(x, dict): return dict_to_data(x) + if isinstance(x, datetime): + return to_isoformat(x) return x @@ -22,6 +28,8 @@ def to_amino(x: Any) -> Any: return x.to_amino() if isinstance(x, list): return [to_data(g) for g in x] + if isinstance(x, datetime): + return to_isoformat(x) if isinstance(x, dict): return dict_to_amino(x) if isinstance(x, int): @@ -49,6 +57,6 @@ def to_json(self) -> str: and the JSON rendered removes all unnecessary whitespace. Returns: - str: JSON string representation + str: JSON string representation """ return json.dumps(self.to_data(), sort_keys=True, separators=(",", ":")) diff --git a/secret_sdk/util/parse_authorization.py b/secret_sdk/util/parse_authorization.py new file mode 100644 index 0000000..2f850c0 --- /dev/null +++ b/secret_sdk/util/parse_authorization.py @@ -0,0 +1,40 @@ +from secret_sdk.protobuf.cosmos.authz.v1beta1 import ( + GenericAuthorization as GenericAuthorization_pb, +) +from secret_sdk.protobuf.cosmos.bank.v1beta1 import SendAuthorization as SendAuthorization_pb +from secret_sdk.protobuf.cosmos.staking.v1beta1 import ( + StakeAuthorization as StakeAuthorization_pb, +) + +from secret_sdk.core.authz import ( + GenericAuthorization, + SendAuthorization, + StakeAuthorization, +) + +from .base import ( + create_demux, + create_demux_amino, + create_demux_proto, + create_demux_unpack_any, +) + +parse_authorization = create_demux( + [GenericAuthorization, SendAuthorization, StakeAuthorization] +) # data + +parse_authorization_amino = create_demux_amino( + [GenericAuthorization, SendAuthorization] +) # no amino for StakeAuthorization + +parse_authorization_unpack_any = create_demux_unpack_any( + [GenericAuthorization, SendAuthorization, StakeAuthorization] +) + +parse_authorization_proto = create_demux_proto( + [ + GenericAuthorization, + SendAuthorization, + StakeAuthorization, + ] +) diff --git a/secret_sdk/util/parse_content.py b/secret_sdk/util/parse_content.py new file mode 100644 index 0000000..847ad7e --- /dev/null +++ b/secret_sdk/util/parse_content.py @@ -0,0 +1,84 @@ +from typing import Union + +from secret_sdk.protobuf.cosmos.distribution.v1beta1 import ( + CommunityPoolSpendProposal as CommunityPoolSpendProposal_pb, +) +from secret_sdk.protobuf.cosmos.gov.v1beta1 import TextProposal as TextProposal_pb +from secret_sdk.protobuf.cosmos.params.v1beta1 import ( + ParameterChangeProposal as ParameterChangeProposal_pb, +) +from secret_sdk.protobuf.cosmos.upgrade.v1beta1 import ( + CancelSoftwareUpgradeProposal as CancelSoftwareUpgradeProposal_pb, +) +from secret_sdk.protobuf.cosmos.upgrade.v1beta1 import ( + SoftwareUpgradeProposal as SoftwareUpgradeProposal_pb, +) +from secret_sdk.protobuf.ibc.core.client.v1 import ( + ClientUpdateProposal as ClientUpdateProposal_pb, +) + +from secret_sdk.core.distribution.proposals import CommunityPoolSpendProposal +from secret_sdk.core.gov.proposals import TextProposal +from secret_sdk.core.ibc.proposals import ClientUpdateProposal +from secret_sdk.core.params.proposals import ParameterChangeProposal +from secret_sdk.core.upgrade import ( + CancelSoftwareUpgradeProposal, + SoftwareUpgradeProposal, +) + +from .base import create_demux, create_demux_proto, create_demux_unpack_any + +Content = Union[ + TextProposal, + CommunityPoolSpendProposal, + ParameterChangeProposal, + SoftwareUpgradeProposal, + CancelSoftwareUpgradeProposal, + ClientUpdateProposal, +] + +parse_content = create_demux( + [ + CommunityPoolSpendProposal, + TextProposal, + ParameterChangeProposal, + SoftwareUpgradeProposal, + CancelSoftwareUpgradeProposal, + ClientUpdateProposal, + ] +) + +parse_content_proto = create_demux_proto( + [ + CommunityPoolSpendProposal, + TextProposal, + ParameterChangeProposal, + SoftwareUpgradeProposal, + CancelSoftwareUpgradeProposal, + ClientUpdateProposal, + ] +) + +parse_content_unpack_any = create_demux_unpack_any( + [ + CommunityPoolSpendProposal, + TextProposal, + ParameterChangeProposal, + SoftwareUpgradeProposal, + CancelSoftwareUpgradeProposal, + ClientUpdateProposal, + ] +) + +""" +parse_content_proto = create_demux_proto( + [ + [CommunityPoolSpendProposal.type_url, CommunityPoolSpendProposal_pb], + [TextProposal.type_url, TextProposal_pb], + [ParameterChangeProposal.type_url, ParameterChangeProposal_pb], + [SoftwareUpgradeProposal.type_url, SoftwareUpgradeProposal_pb], + [CancelSoftwareUpgradeProposal.type_url, CancelSoftwareUpgradeProposal_pb], + [ClientUpdateProposal.type_url, ClientUpdateProposal_pb] + ] +) +""" diff --git a/secret_sdk/util/parse_msg.py b/secret_sdk/util/parse_msg.py index 1f74f86..823f94a 100644 --- a/secret_sdk/util/parse_msg.py +++ b/secret_sdk/util/parse_msg.py @@ -1,11 +1,43 @@ +# core msgs +from secret_sdk.core.auth import( + MsgCreateVestingAccount +) +from secret_sdk.core.authz import ( + MsgExecAuthorized, + MsgGrantAuthorization, + MsgRevokeAuthorization, +) from secret_sdk.core.bank import MsgMultiSend, MsgSend +from secret_sdk.core.crisis import MsgVerifyInvariant from secret_sdk.core.distribution import ( MsgFundCommunityPool, - MsgModifyWithdrawAddress, - MsgWithdrawDelegationReward, + MsgSetWithdrawAddress, + MsgWithdrawDelegatorReward, MsgWithdrawValidatorCommission, ) -from secret_sdk.core.msg import MsgData +from secret_sdk.core.feegrant import MsgGrantAllowance, MsgRevokeAllowance +from secret_sdk.core.gov.msgs import MsgDeposit, MsgSubmitProposal, MsgVote +from secret_sdk.core.ibc.msgs import ( + MsgAcknowledgement, + MsgChannelCloseConfirm, + MsgChannelCloseInit, + MsgChannelOpenAck, + MsgChannelOpenConfirm, + MsgChannelOpenInit, + MsgChannelOpenTry, + MsgConnectionOpenAck, + MsgConnectionOpenConfirm, + MsgConnectionOpenInit, + MsgConnectionOpenTry, + MsgCreateClient, + MsgRecvPacket, + MsgSubmitMisbehaviour, + MsgTimeout, + MsgUpdateClient, + MsgUpgradeClient, +) +from secret_sdk.core.ibc_transfer import MsgTransfer +from secret_sdk.core.slashing import MsgUnjail from secret_sdk.core.staking import ( MsgBeginRedelegate, MsgCreateValidator, @@ -16,27 +48,27 @@ from secret_sdk.core.wasm import ( MsgExecuteContract, MsgInstantiateContract, - MsgMigrateContract, MsgStoreCode, ) -from .base import create_demux - +from .base import create_demux, create_demux_proto, create_demux_unpack_any +auth_msgs = [ + MsgCreateVestingAccount, +] bank_msgs = [MsgSend, MsgMultiSend] distribution_msgs = [ MsgFundCommunityPool, - MsgModifyWithdrawAddress, - MsgWithdrawDelegationReward, + MsgSetWithdrawAddress, + MsgWithdrawDelegatorReward, MsgWithdrawValidatorCommission, ] - -wasm_msgs = [ - MsgExecuteContract, - MsgInstantiateContract, - MsgMigrateContract, - MsgStoreCode, +gov_msgs = [MsgDeposit, MsgSubmitProposal, MsgVote] +authz_msgs = [ + MsgExecAuthorized, + MsgGrantAuthorization, + MsgRevokeAuthorization, ] - +slashing_msgs = [MsgUnjail] staking_msgs = [ MsgBeginRedelegate, MsgCreateValidator, @@ -44,13 +76,83 @@ MsgEditValidator, MsgUndelegate, ] +wasm_msgs = [ + MsgStoreCode, + MsgInstantiateContract, + MsgExecuteContract, +] +feegrant_msgs = [MsgGrantAllowance, MsgRevokeAllowance] + +ibc_transfer_msgs = [MsgTransfer] +ibc_msgs = [ + MsgCreateClient, + MsgUpdateClient, + MsgUpgradeClient, + MsgSubmitMisbehaviour, + MsgConnectionOpenInit, + MsgConnectionOpenTry, + MsgConnectionOpenAck, + MsgConnectionOpenConfirm, + MsgChannelOpenInit, + MsgChannelOpenTry, + MsgChannelOpenAck, + MsgChannelOpenConfirm, + MsgChannelCloseInit, + MsgChannelCloseConfirm, + MsgRecvPacket, + MsgTimeout, + MsgAcknowledgement, +] +crisis_msgs = [MsgVerifyInvariant] parse_msg = create_demux( [ + *auth_msgs, + *authz_msgs, + *bank_msgs, + *distribution_msgs, + *feegrant_msgs, + *gov_msgs, + *slashing_msgs, + *staking_msgs, + *wasm_msgs, + *ibc_msgs, + *ibc_transfer_msgs, + *crisis_msgs, + ] +) + +parse_proto = create_demux_proto( + [ + *auth_msgs, + *authz_msgs, + *bank_msgs, + *distribution_msgs, + *feegrant_msgs, + *gov_msgs, + *slashing_msgs, + *staking_msgs, + *wasm_msgs, + *ibc_msgs, + *ibc_transfer_msgs, + *crisis_msgs, + ] +) + + +parse_unpack_any = create_demux_unpack_any( + [ + *auth_msgs, + *authz_msgs, *bank_msgs, - # *distribution_msgs, - # *staking_msgs, - # *wasm_msgs, - ], - MsgData, + *distribution_msgs, + *feegrant_msgs, + *gov_msgs, + *slashing_msgs, + *staking_msgs, + *wasm_msgs, + *ibc_msgs, + *ibc_transfer_msgs, + *crisis_msgs, + ] ) diff --git a/secret_sdk/util/parse_proto.py b/secret_sdk/util/parse_proto.py new file mode 100755 index 0000000..761da9b --- /dev/null +++ b/secret_sdk/util/parse_proto.py @@ -0,0 +1,28 @@ +from secret_sdk.core.authz import GenericAuthorization, SendAuthorization,StakeAuthorization + +from .base import ( + create_demux, + create_demux_amino, + create_demux_proto, + create_demux_unpack_any, +) + +parse_authorization = create_demux( + [GenericAuthorization, SendAuthorization, StakeAuthorization] +) # data + +parse_authorization_amino = create_demux_amino( + [GenericAuthorization, SendAuthorization] +) # no amino for StakeAuthorization + +parse_authorization_unpack_any = create_demux_unpack_any( + [GenericAuthorization, SendAuthorization, StakeAuthorization] +) + +parse_authorization_proto = create_demux_proto( + [ + GenericAuthorization, + SendAuthorization, + StakeAuthorization, + ] +) diff --git a/secret_sdk/util/remove_none.py b/secret_sdk/util/remove_none.py index f64d8ed..25ba350 100644 --- a/secret_sdk/util/remove_none.py +++ b/secret_sdk/util/remove_none.py @@ -1,9 +1,11 @@ +from typing import Union + from boltons.iterutils import remap # type: ignore __all__ = ["remove_none"] -def remove_none(obj: dict): +def remove_none(obj: Union[dict, str]): """remove keys for None in a dict""" return remap( obj, visit=lambda path, key, value: key is not None and value is not None From d627cb7b26c1ef756df74af1ff3e2607c07bb9db Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 19:23:45 -0400 Subject: [PATCH 06/47] terra to scrt --- secret_sdk/client/lcd/api/gov.py | 4 +-- secret_sdk/client/lcd/lcdclient.py | 28 ++++++++--------- secret_sdk/core/bank/msgs.py | 2 +- secret_sdk/core/bech32.py | 38 +++++++++++------------ secret_sdk/core/public_key.py | 8 ++--- secret_sdk/core/staking/data/validator.py | 2 +- secret_sdk/core/staking/msgs.py | 2 +- 7 files changed, 42 insertions(+), 42 deletions(-) diff --git a/secret_sdk/client/lcd/api/gov.py b/secret_sdk/client/lcd/api/gov.py index 2f37c90..e8186a8 100644 --- a/secret_sdk/client/lcd/api/gov.py +++ b/secret_sdk/client/lcd/api/gov.py @@ -20,11 +20,11 @@ async def proposals( Args: options (dict, optional): dictionary containing options. Defaults to {}. you can use one or more below: { - "proposal_status": terra_sdk.core.gov.ProposalStatus (int) + "proposal_status": secret_sdk.core.gov.ProposalStatus (int) "voter": voter address (str), "depositor": depositor address(str) } - example) {"proposal_status":1, "depositor":"terra17lmam6zguazs5q5u6z5mmx76uj63gldnse2pdp"} + example) {"proposal_status":1, "depositor":"secret..."} params (APIParams, optional): additional params for the API like pagination diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 8ae74d5..0b29c18 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -237,46 +237,46 @@ class LCDClient(AsyncLCDClient): """Height of response of last-made made LCD request.""" auth: AuthAPI - """:class:`AuthAPI`.""" + """:class:`AuthAPI`.""" bank: BankAPI - """:class:`BankAPI`.""" + """:class:`BankAPI`.""" distribution: DistributionAPI - """:class:`DistributionAPI`.""" + """:class:`DistributionAPI`.""" gov: GovAPI - """:class:`GovAPI`.""" + """:class:`GovAPI`.""" feegrant: FeeGrantAPI - """:class:`FeeGrant`.""" + """:class:`FeeGrant`.""" mint: MintAPI - """:class:`MintAPI`.""" + """:class:`MintAPI`.""" authz: AuthzAPI - """:class:`AuthzAPI`.""" + """:class:`AuthzAPI`.""" slashing: SlashingAPI - """:class:`SlashingAPI`.""" + """:class:`SlashingAPI`.""" staking: StakingAPI - """:class:`StakingAPI`.""" + """:class:`StakingAPI`.""" tendermint: TendermintAPI - """:class:`TendermintAPI`.""" + """:class:`TendermintAPI`.""" wasm: WasmAPI - """:class:`WasmAPI`.""" + """:class:`WasmAPI`.""" tx: TxAPI - """:class:`TxAPI`.""" + """:class:`TxAPI`.""" ibc: IbcAPI - """:class:`IbcAPI`.""" + """:class:`IbcAPI`.""" ibc_transfer: IbcTransferAPI - """:class:`IbcTransferAPI`.""" + """:class:`IbcTransferAPI`.""" def __init__( self, diff --git a/secret_sdk/core/bank/msgs.py b/secret_sdk/core/bank/msgs.py index 21e40b0..fd1a4e1 100755 --- a/secret_sdk/core/bank/msgs.py +++ b/secret_sdk/core/bank/msgs.py @@ -21,7 +21,7 @@ @attr.s class MsgSend(Msg): - """Sends native Terra assets (Luna or Terra stablecoins) from ``from_address`` to ``to_address``. + """Sends native Secret asset from ``from_address`` to ``to_address``. Args: from_address (AccAddress): sender diff --git a/secret_sdk/core/bech32.py b/secret_sdk/core/bech32.py index d3e3793..da7f26e 100755 --- a/secret_sdk/core/bech32.py +++ b/secret_sdk/core/bech32.py @@ -37,25 +37,25 @@ def check_prefix_and_length(prefix: str, data: str, length: int): AccAddress = NewType("AccAddress", str) -AccAddress.__doc__ = """Terra Bech32 Account Address -- type alias of str.""" +AccAddress.__doc__ = """Secret Bech32 Account Address -- type alias of str.""" ValAddress = NewType("ValAddress", str) -ValAddress.__doc__ = """Terra Bech32 Validator Operator Address -- type alias of str.""" +ValAddress.__doc__ = """Secret Bech32 Validator Operator Address -- type alias of str.""" AccPubKey = NewType("AccPubKey", str) -AccPubKey.__doc__ = """Terra Bech32 Account Address -- type alias of str.""" +AccPubKey.__doc__ = """Secret Bech32 Account Address -- type alias of str.""" ValPubKey = NewType("ValPubKey", str) -ValPubKey.__doc__ = """Terra Bech32 Validator PubKey -- type alias of str.""" +ValPubKey.__doc__ = """Secret Bech32 Validator PubKey -- type alias of str.""" # ValConsPubKey = NewType("ValConsPubKey", str) # ValConsPubKey.__doc__ = ( -# """Terra Bech32 Validator Conensus PubKey -- type alias of str.""" +# """Secret Bech32 Validator Conensus PubKey -- type alias of str.""" # ) def is_acc_address(data: str) -> bool: - """Checks whether the given string is a properly formatted Terra account address. + """Checks whether the given string is a properly formatted Secret account address. Args: data (str): string to check @@ -63,7 +63,7 @@ def is_acc_address(data: str) -> bool: Returns: bool: whether the string is a proper account address """ - return check_prefix_and_length("terra", data, 44) + return check_prefix_and_length("secret", data, 44) def to_acc_address(data: ValAddress) -> AccAddress: @@ -81,11 +81,11 @@ def to_acc_address(data: ValAddress) -> AccAddress: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return AccAddress(bech32_encode("terra", vals[1])) + return AccAddress(bech32_encode("secret", vals[1])) def is_val_address(data: str) -> bool: - """Checks whether the given string is a properly formatted Terra validator operator + """Checks whether the given string is a properly formatted Secret validator operator address. Args: @@ -94,7 +94,7 @@ def is_val_address(data: str) -> bool: Returns: bool: whether the string is a proper validator address """ - return check_prefix_and_length("terravaloper", data, 51) + return check_prefix_and_length("secretvaloper", data, 51) def to_val_address(data: AccAddress) -> ValAddress: @@ -112,11 +112,11 @@ def to_val_address(data: AccAddress) -> ValAddress: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return ValAddress(bech32_encode("terravaloper", vals[1])) + return ValAddress(bech32_encode("secretvaloper", vals[1])) def is_acc_pubkey(data: str) -> bool: - """Checks whether the provided string is a properly formatted Terra account pubkey. + """Checks whether the provided string is a properly formatted Secret account pubkey. Args: data (str): string to check @@ -124,7 +124,7 @@ def is_acc_pubkey(data: str) -> bool: Returns: bool: whether string is account pubkey """ - return check_prefix_and_length("terrapub", data, 76) + return check_prefix_and_length("secretpub", data, 76) def to_acc_pubkey(data: ValPubKey) -> AccPubKey: @@ -142,11 +142,11 @@ def to_acc_pubkey(data: ValPubKey) -> AccPubKey: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return AccPubKey(bech32_encode("terrapub", vals[1])) + return AccPubKey(bech32_encode("secretpub", vals[1])) def is_val_pubkey(data: str) -> bool: - """Checks whether provided string is a properly formatted Terra validator pubkey. + """Checks whether provided string is a properly formatted Secret validator pubkey. Args: data (str): string to check @@ -154,7 +154,7 @@ def is_val_pubkey(data: str) -> bool: Returns: bool: whether string is validator pubkey """ - return check_prefix_and_length("terravaloperpub", data, 83) + return check_prefix_and_length("secretvaloperpub", data, 83) def to_val_pubkey(data: AccPubKey) -> ValPubKey: @@ -172,11 +172,11 @@ def to_val_pubkey(data: AccPubKey) -> ValPubKey: vals = bech32_decode(data) if vals[1] is None: raise ValueError(f"invalid bech32: {data}") - return ValPubKey(bech32_encode("terravaloperpub", vals[1])) + return ValPubKey(bech32_encode("secretvaloperpub", vals[1])) def is_valcons_pubkey(data: str) -> bool: # -> ValConsPubKey: - """Checks whether provided string is a properly formatted Terra validator consensus + """Checks whether provided string is a properly formatted Secret validator consensus pubkey. Args: @@ -185,4 +185,4 @@ def is_valcons_pubkey(data: str) -> bool: # -> ValConsPubKey: Returns: bool: whether string is validator consensus pubkey """ - return check_prefix_and_length("terravalconspub", data, 83) + return check_prefix_and_length("secretvalconspub", data, 83) diff --git a/secret_sdk/core/public_key.py b/secret_sdk/core/public_key.py index 90da2a8..4fc3014 100755 --- a/secret_sdk/core/public_key.py +++ b/secret_sdk/core/public_key.py @@ -195,7 +195,7 @@ def raw_address(self) -> bytes: return address_from_public_key(self) def address(self) -> str: - return get_bech("terra", self.raw_address().hex()) + return get_bech("secret", self.raw_address().hex()) @attr.s @@ -245,7 +245,7 @@ def raw_address(self) -> bytes: return address_from_public_key(self) def address(self) -> str: - return get_bech("terravalcons", self.raw_address().hex()) + return get_bech("secretvalcons", self.raw_address().hex()) @attr.s @@ -333,8 +333,8 @@ def raw_address(self) -> str: return hasher.digest()[0:20].hex() def address(self) -> str: - address = get_bech("terra", self.raw_address()) + address = get_bech("secret", self.raw_address()) return address def pubkey_address(self) -> str: - return get_bech("terrapub", str(self.encode_amino_pubkey())) + return get_bech("secretpub", str(self.encode_amino_pubkey())) diff --git a/secret_sdk/core/staking/data/validator.py b/secret_sdk/core/staking/data/validator.py index 2be288f..e96b65d 100755 --- a/secret_sdk/core/staking/data/validator.py +++ b/secret_sdk/core/staking/data/validator.py @@ -133,7 +133,7 @@ class Description(JSONSerializable): """Validator description entry. Args: - moniker: validator name, aka: \"Terran One\" + moniker: validator name, aka: \"SCRTLabRador\" identity: keybase.io identifier (used for setting logo) website: validator website details: longer description of validator diff --git a/secret_sdk/core/staking/msgs.py b/secret_sdk/core/staking/msgs.py index fcab2ab..85a359e 100755 --- a/secret_sdk/core/staking/msgs.py +++ b/secret_sdk/core/staking/msgs.py @@ -266,7 +266,7 @@ def from_proto(cls, proto: MsgEditValidator_pb) -> MsgEditValidator: @attr.s class MsgCreateValidator(Msg): - """Register a new validator with the Terra protocol. + """Register a new validator with the Secret protocol. Args: description: validator description From 745644839d9e5292e966d86c2304696b14638684 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 19:27:12 -0400 Subject: [PATCH 07/47] Fix merge conflig on encrypt utils --- secret_sdk/client/lcd/lcdutils.py | 47 ++----------------------------- 1 file changed, 2 insertions(+), 45 deletions(-) diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/client/lcd/lcdutils.py index 1ff7bb9..901f1d2 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/client/lcd/lcdutils.py @@ -60,40 +60,7 @@ class EncryptionUtils(): def __init__(self, consensus_io_pubkey: bytes): self.seed = self.generate_new_seed() self.privkey, self.pubkey = self.generate_new_key_pair_from_seed(self.seed) - - async def validators_with_voting_power(self) -> Dict[str, dict]: - """Gets current validators and merges their voting power from the validator set query. - - Returns: - Dict[str, dict]: validators with voting power - """ - validator_set_response = await BaseAsyncAPI._try_await( - self._c.tendermint.validator_set() - ) - next_key = "" - while True: - from secret_sdk.client.lcd import PaginationOptions - - validators, pag = await BaseAsyncAPI._try_await( - self._c.staking.validators(PaginationOptions(key=next_key)) - ) - validator_set: Dict[str, Any] = reduce( - index_by_pub_key, validator_set_response["validators"], {} - ) - if pag is None or pag["next_key"] is None: - break - next_key = pag["next_key"] - res = {} - for v in validators: - delegate_info = validator_set.get(v.consensus_pubkey["value"]) - if delegate_info is None: - continue - res[v.operator_address] = { - "validator_info": v, - "voting_power": int(delegate_info["voting_power"]), - "proposer_priority": int(delegate_info["proposer_priority"]), - } - return res + self.consensus_io_pubkey = consensus_io_pubkey def generate_new_seed(self): return [secrets.randbits(8) for _ in range(32)] @@ -110,17 +77,7 @@ def generate_new_key_pair_from_seed(self, seed): def generate_new_key_pair(self): return self.generate_new_key_pair_from_seed(self.generate_new_seed()) - async def get_consensus_io_pubkey(self): - io_exch_pubkey = await BaseAsyncAPI._try_await(self._c._get("/registration/v1beta1/tx-key")) - io_exch_pubkey = io_exch_pubkey["key"] - consensus_io_pubkey = base64.b64decode(io_exch_pubkey) - return bytes([x for x in consensus_io_pubkey]) - - async def get_tx_encryption_key(self, nonce): - if not hasattr(self, "consensus_io_pubkey"): - self.consensus_io_pubkey = await BaseAsyncAPI._try_await( - self.get_consensus_io_pubkey() - ) + def get_tx_encryption_key(self, nonce): consensus_io_pubkey = X25519PublicKey.from_public_bytes( self.consensus_io_pubkey From 42a1cd841e4cd52ddcebd44ac0d4c8087c92292b Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Tue, 11 Oct 2022 00:31:55 +0100 Subject: [PATCH 08/47] Add registration api --- secret_sdk/client/lcd/api/registration.py | 40 +++++++++++++++++++++++ secret_sdk/client/lcd/lcdclient.py | 19 +++-------- 2 files changed, 45 insertions(+), 14 deletions(-) create mode 100644 secret_sdk/client/lcd/api/registration.py diff --git a/secret_sdk/client/lcd/api/registration.py b/secret_sdk/client/lcd/api/registration.py new file mode 100644 index 0000000..e9255f2 --- /dev/null +++ b/secret_sdk/client/lcd/api/registration.py @@ -0,0 +1,40 @@ +from ._base import BaseAsyncAPI, sync_bind + +__all__ = ["AsyncRegistrationAPI", "RegistrationAPI"] + + +class AsyncRegistrationAPI(BaseAsyncAPI): + async def tx_key(self) -> str: + """Returns the key used for transactions""" + result = await self._c._get(f"/registration/v1beta1/tx-key") + return result['key'] + + async def registration_key(self): + """Returns the key used for registration""" + result = await self._c._get(f"/registration/v1beta1/registration-key") + return result + + async def encrypted_seed(self, pub_key: str): + """Returns the encrypted seed for a registered node by public key""" + result = await self._c._get(f"/registration/v1beta1/encrypted-seed/{pub_key}") + return result + + +class RegistrationAPI(AsyncRegistrationAPI): + @sync_bind(AsyncRegistrationAPI.tx_key) + def tx_key(self) -> str: + pass + + tx_key.__doc__ = AsyncRegistrationAPI.tx_key.__doc__ + + @sync_bind(AsyncRegistrationAPI.registration_key) + def registration_key(self): + pass + + registration_key.__doc__ = AsyncRegistrationAPI.registration_key.__doc__ + + @sync_bind(AsyncRegistrationAPI.encrypted_seed) + def encrypted_seed(self, pub_key: str): + pass + + encrypted_seed.__doc__ = AsyncRegistrationAPI.encrypted_seed.__doc__ diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 8ae74d5..d6d7fb0 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -32,7 +32,7 @@ from .api.tendermint import AsyncTendermintAPI, TendermintAPI from .api.tx import AsyncTxAPI, TxAPI from .api.wasm import AsyncWasmAPI, WasmAPI -from .lcdutils import AsyncLCDUtils, LCDUtils, EncryptionUtils +from .api.registration import AsyncRegistrationAPI, RegistrationAPI from .params import APIParams from .lcdutils import EncryptionUtils from .wallet import AsyncWallet, Wallet @@ -66,15 +66,6 @@ ) -def sync_get_consensus_io_pubkey(url) -> bytes: - # this needs to be a proto - io_exch_pubkey = requests.get(f"{url}/reg/tx-key") - io_exch_pubkey = io_exch_pubkey.json() - io_exch_pubkey = io_exch_pubkey.get("result", {}).get("TxKey", '') - consensus_io_pubkey = base64.b64decode(io_exch_pubkey) - return bytes([x for x in consensus_io_pubkey]) - - class AsyncLCDClient: def __init__( self, @@ -116,14 +107,14 @@ def __init__( self.ibc = AsyncIbcAPI(self) self.ibc_transfer = AsyncIbcTransferAPI(self) self.tx = AsyncTxAPI(self) + self.registration = AsyncRegistrationAPI(self) if self.chain_id in mainnet_chain_ids: consensus_io_pub_key = mainnetConsensusIoPubKey else: - consensus_io_pub_key = sync_get_consensus_io_pubkey(url) + consensus_io_pub_key = RegistrationAPI(self).tx_key() self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) - def wallet(self, key: Key) -> AsyncWallet: """Creates a :class:`AsyncWallet` object from a key. @@ -311,12 +302,12 @@ def __init__( self.ibc = IbcAPI(self) self.ibc_transfer = IbcTransferAPI(self) self.tx = TxAPI(self) - self.utils = LCDUtils(self) + self.registration = RegistrationAPI(self) if self.chain_id in mainnet_chain_ids: consensus_io_pub_key = mainnetConsensusIoPubKey else: - consensus_io_pub_key = sync_get_consensus_io_pubkey(url) + consensus_io_pub_key = self.registration.tx_key() self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) self.lock = Lock() From 4f86ec1652967c4bf1217d9a8f3418637c80ca4b Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 21:22:44 -0400 Subject: [PATCH 09/47] Fix get consensus pub key --- secret_sdk/client/lcd/api/registration.py | 54 +++++++++++++++++++++++ secret_sdk/client/lcd/lcdclient.py | 6 +-- secret_sdk/client/lcd/lcdutils.py | 3 +- 3 files changed, 58 insertions(+), 5 deletions(-) diff --git a/secret_sdk/client/lcd/api/registration.py b/secret_sdk/client/lcd/api/registration.py index e9255f2..af2b519 100644 --- a/secret_sdk/client/lcd/api/registration.py +++ b/secret_sdk/client/lcd/api/registration.py @@ -1,3 +1,5 @@ +import base64 +import json from ._base import BaseAsyncAPI, sync_bind __all__ = ["AsyncRegistrationAPI", "RegistrationAPI"] @@ -19,6 +21,11 @@ async def encrypted_seed(self, pub_key: str): result = await self._c._get(f"/registration/v1beta1/encrypted-seed/{pub_key}") return result + async def consensus_io_pub_key(self): + """Returns the consensus_io_pub_key""" + result = await self._c._get(f"/registration/v1beta1/tx-key") + return extract_consensus_io_pub_key(base64.b64decode(result['key'])) + class RegistrationAPI(AsyncRegistrationAPI): @sync_bind(AsyncRegistrationAPI.tx_key) @@ -38,3 +45,50 @@ def encrypted_seed(self, pub_key: str): pass encrypted_seed.__doc__ = AsyncRegistrationAPI.encrypted_seed.__doc__ + + @sync_bind(AsyncRegistrationAPI.consensus_io_pub_key) + def consensus_io_pub_key(self): + pass + + consensus_io_pub_key.__doc__ = AsyncRegistrationAPI.consensus_io_pub_key.__doc__ + + + +def extract_as_n1_value(cert: bytes, oid: bytes) -> bytes: + # bytes: immutable, bytearray: mutable + offset = cert.index(oid) + if not isinstance(offset, (int,)): + raise ValueError("Error parsing certificate - malformed certificate") + offset += 12 + # we will be accessing offset + 2, so make sure it's not out-of-bounds + if offset + 2 >= len(cert): + raise ValueError("Error parsing certificate - malformed certificate") + length = cert[offset] + if length > 0x80: # 0x: hex literal, 80 = 8*16 + 0*1 + length = cert[offset + 1] * 0x100 + cert[offset + 2] + offset+=2 + if offset + length + 1 >= len(cert): + raise ValueError("Error parsing certificate - malformed certificate") + # // Obtain Netscape Comment + offset += 1 + payload = cert[offset:offset + length] + return payload + + +def extract_consensus_io_pub_key(cert: bytes) -> bytes: + ns_cmt_oid = bytes([ 0x06, 0x09, 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42, 0x01, 0x0d,]) + payload = extract_as_n1_value(cert, ns_cmt_oid) + try: + pubkey = base64.b64decode(payload.decode('utf-8')) + if len(pubkey) == 32: + return pubkey + except: + # not SW node + pass + try: + #quote_hex = base64.b64encode() + report = json.loads(payload.decode('utf-8'))['report'] + quoteHex = base64.b64decode(json.loads(base64.b64decode(report).decode('utf-8'))['isvEnclaveQuoteBody']) + return quoteHex[368:400] + except: + raise ValueError("Cannot extract tx io pubkey: error parsing certificate - malformed certificate") diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 07e658e..7da46de 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -62,7 +62,7 @@ mainnet_chain_ids = {"secret-2", "secret-3", "secret-4"} mainnetConsensusIoPubKey = bytes.fromhex( - "083b1a03661211d5a4cc8d39a77795795862f7730645573b2bcc2c1920c53c04", + "083b1a03661211d5a4cc8d39a77795795862f7730645573b2bcc2c1920c53c04" ) @@ -112,7 +112,7 @@ def __init__( if self.chain_id in mainnet_chain_ids: consensus_io_pub_key = mainnetConsensusIoPubKey else: - consensus_io_pub_key = RegistrationAPI(self).tx_key() + consensus_io_pub_key = RegistrationAPI(self).consensus_io_pub_key() self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) def wallet(self, key: Key) -> AsyncWallet: @@ -307,7 +307,7 @@ def __init__( if self.chain_id in mainnet_chain_ids: consensus_io_pub_key = mainnetConsensusIoPubKey else: - consensus_io_pub_key = self.registration.tx_key() + consensus_io_pub_key = self.registration.consensus_io_pub_key() self.encrypt_utils = EncryptionUtils(consensus_io_pub_key) self.lock = Lock() diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/client/lcd/lcdutils.py index 901f1d2..fe8cb83 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/client/lcd/lcdutils.py @@ -10,8 +10,7 @@ ) from cryptography.hazmat.primitives.kdf.hkdf import HKDF from miscreant.aes.siv import SIV - -from .api._base import BaseAsyncAPI, sync_bind +import json hkdf_salt = bytes( [ From 6906baea0e8e76b88627d3b4f3f0ecc31b03ea97 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 22:27:36 -0400 Subject: [PATCH 10/47] Refactoring of encrypt utils, changing signature of to_proto to account for on the fly encryption --- secret_sdk/client/lcd/lcdclient.py | 4 +- secret_sdk/core/msg.py | 5 +- secret_sdk/core/wasm/msgs.py | 59 ++++++++----------- secret_sdk/util/base.py | 5 +- .../lcd/lcdutils.py => util/encrypt_utils.py} | 2 - 5 files changed, 32 insertions(+), 43 deletions(-) rename secret_sdk/{client/lcd/lcdutils.py => util/encrypt_utils.py} (98%) diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 7da46de..dda6d26 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -5,11 +5,9 @@ from threading import Lock from typing import Optional, Union, List -import base64 import nest_asyncio from aiohttp import ClientSession from multidict import CIMultiDict -import requests from secret_sdk.core import Coins, Dec, Numeric from secret_sdk.core import StdFee @@ -34,7 +32,7 @@ from .api.wasm import AsyncWasmAPI, WasmAPI from .api.registration import AsyncRegistrationAPI, RegistrationAPI from .params import APIParams -from .lcdutils import EncryptionUtils +from secret_sdk.util.encrypt_utils import EncryptionUtils from .wallet import AsyncWallet, Wallet diff --git a/secret_sdk/core/msg.py b/secret_sdk/core/msg.py index 1a1ca9b..4de9ec4 100755 --- a/secret_sdk/core/msg.py +++ b/secret_sdk/core/msg.py @@ -3,10 +3,13 @@ from betterproto.lib.google.protobuf import Any as Any_pb from secret_sdk.util.base import BaseSecretData +from typing import Optional +from secret_sdk.util.encrypt_utils import EncryptionUtils + class Msg(BaseSecretData): - def to_proto(self): + def to_proto(self, encryption_utils: Optional[EncryptionUtils]): raise NotImplementedError def pack_any(self) -> Any_pb: diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index 84cdf41..f3e7daf 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -7,6 +7,7 @@ from typing import Optional, Union import attr +from secret_sdk.util.address_converter import address_to_bytes, bytes_to_address from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract as MsgExecuteContract_pb from secret_sdk.protobuf.secret.compute.v1beta1 import ( MsgInstantiateContract as MsgInstantiateContract_pb, @@ -16,6 +17,7 @@ from secret_sdk.core import AccAddress, Coins from secret_sdk.core.msg import Msg from secret_sdk.util.remove_none import remove_none +from secret_sdk.util.encrypt_utils import EncryptionUtils __all__ = [ "MsgStoreCode", @@ -86,7 +88,7 @@ def to_proto(self) -> MsgStoreCode_pb: # await self.gzip_wasm() return MsgStoreCode_pb( - sender=self.sender, + sender=address_to_bytes(self.sender), wasm_byte_code=base64.b64decode(self.wasm_byte_code), source=self.source, builder=self.builder @@ -95,7 +97,7 @@ def to_proto(self) -> MsgStoreCode_pb: @classmethod def from_proto(cls, proto: MsgStoreCode_pb) -> MsgStoreCode: return cls( - sender=proto.sender, + sender=AccAddress(bytes_to_address(proto.sender)), wasm_byte_code=base64.b64encode(proto.wasm_byte_code).decode(), source=proto.source, builder=proto.builder @@ -177,7 +179,7 @@ def to_proto(self) -> MsgInstantiateContract_pb: # self.init_msg_encrypted = await utils.encrypt(self.code_hash, self.init_msg) return MsgInstantiateContract_pb( - sender=self.sender, + sender=address_to_bytes(self.sender), code_id=self.code_id, label=self.label, init_msg=bytes(json.dumps(self.init_msg_encrypted), "utf-8"), @@ -187,7 +189,7 @@ def to_proto(self) -> MsgInstantiateContract_pb: @classmethod def from_proto(cls, proto: MsgInstantiateContract_pb) -> MsgInstantiateContract: return cls( - sender=proto.sender, + sender=AccAddress(bytes_to_address(proto.sender)), code_id=proto.code_id, label=proto.label, init_msg=parse_msg(proto.init_msg), @@ -205,6 +207,7 @@ class MsgExecuteContract(Msg): msg (dict|str): ExecuteMsg to pass sent_funds: coins to be sent, if needed by contract to execute. Defaults to empty ``Coins()`` + code_hash: hash of the contract (optional) """ type_amino = "wasm/MsgExecuteContract" @@ -218,10 +221,11 @@ class MsgExecuteContract(Msg): contract: AccAddress = attr.ib() msg: Union[dict, str] = attr.ib() sent_funds: Coins = attr.ib(converter=Coins, factory=Coins) + code_hash: Optional[str] = attr.ib(default=None) - msg_encrypted: Optional[Union[dict, str]] = None - code_hash: str = None + msg_encrypted: Optional[bytes] = None warn_code_hash: bool = False + _msg_str: str = '' def __attrs_post_init__(self): if self.code_hash: @@ -230,24 +234,11 @@ def __attrs_post_init__(self): self.code_hash = '' self.warn_code_hash = True # print('WARNING: MsgExecuteContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') + if isinstance(self.msg, (dict,)): + self._msg_str = json.dumps(self.msg, separators=(",", ":")) + else: + self._msg_str = self.msg - def to_amino(self) -> dict: - if not self.msg_encrypted: - # The encryption uses a random nonce - # toProto() & toAmino() are called multiple times during signing - # so to keep the msg consistant across calls we encrypt the msg only once - pass - # self.msg_encrypted = await utils.encrypt(self.code_hash, self.msg) - - return { - "type": self.type_amino, - "value": { - "sender": self.sender, - "contract": self.contract, - "msg": remove_none(self.msg_encrypted), - "sent_funds": self.sent_funds.to_amino(), - }, - } @classmethod def from_data(cls, data: dict) -> MsgExecuteContract: @@ -258,26 +249,24 @@ def from_data(cls, data: dict) -> MsgExecuteContract: sent_funds=Coins.from_data(data["sent_funds"]), ) - def to_proto(self) -> MsgExecuteContract_pb: + def to_proto(self, encryption_utils: Optional[EncryptionUtils]) -> MsgExecuteContract_pb: + if not self.msg_encrypted and not encryption_utils: + raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') if not self.msg_encrypted: - # The encryption uses a random nonce - # toProto() & toAmino() are called multiple times during signing - # so to keep the msg consistant across calls we encrypt the msg only once - pass - # self.msg_encrypted = await utils.encrypt(self.code_hash, self.msg) + self.msg_encrypted = bytes(encryption_utils.encrypt(self.code_hash, self._msg_str)) return MsgExecuteContract_pb( - sender=self.sender, - contract=self.contract, - msg=bytes(json.dumps(self.msg_encrypted), "utf-8"), + sender=address_to_bytes(self.sender), + contract=address_to_bytes(self.contract), + msg=self.msg_encrypted, sent_funds=self.sent_funds.to_proto(), ) @classmethod def from_proto(cls, proto: MsgExecuteContract_pb) -> MsgExecuteContract: return cls( - sender=proto.sender, - contract=proto.contract, + sender=AccAddress(bytes_to_address(proto.sender)), + contract=AccAddress(bytes_to_address(proto.contract)), msg=parse_msg(proto.msg), - sent_funds=proto.sent_funds, + sent_funds=Coins.from_proto(proto.sent_funds), ) diff --git a/secret_sdk/util/base.py b/secret_sdk/util/base.py index b96df97..ce2257f 100644 --- a/secret_sdk/util/base.py +++ b/secret_sdk/util/base.py @@ -1,10 +1,11 @@ """Some useful base classes to inherit from.""" from abc import abstractmethod -from typing import Any, Callable, Dict, List +from typing import Any, Callable, Dict, List, Optional import attr from betterproto import Message from betterproto.lib.google.protobuf import Any as Any_pb +from secret_sdk.util.encrypt_utils import EncryptionUtils from .json import JSONSerializable, dict_to_data @@ -20,7 +21,7 @@ def to_data(self) -> dict: return data @abstractmethod - def to_proto(self): + def to_proto(self, encryption_utils: Optional[EncryptionUtils]): pass diff --git a/secret_sdk/client/lcd/lcdutils.py b/secret_sdk/util/encrypt_utils.py similarity index 98% rename from secret_sdk/client/lcd/lcdutils.py rename to secret_sdk/util/encrypt_utils.py index fe8cb83..8998459 100644 --- a/secret_sdk/client/lcd/lcdutils.py +++ b/secret_sdk/util/encrypt_utils.py @@ -1,6 +1,5 @@ import base64 import secrets -from functools import reduce from typing import Any, Dict, List from cryptography.hazmat.primitives import hashes, serialization @@ -10,7 +9,6 @@ ) from cryptography.hazmat.primitives.kdf.hkdf import HKDF from miscreant.aes.siv import SIV -import json hkdf_salt = bytes( [ From 77772bf967468fa6edaa87d12f8782c9d4182ee2 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Mon, 10 Oct 2022 23:34:02 -0400 Subject: [PATCH 11/47] Upgrade tx, wallet, signing --- integration_tests/endpoints.py | 15 +-- integration_tests/sign_direct.py | 70 +++++----- secret_sdk/client/lcd/api/tx.py | 205 ++++++++++++++---------------- secret_sdk/client/lcd/api/wasm.py | 17 +-- secret_sdk/client/lcd/wallet.py | 189 ++++++++++----------------- secret_sdk/core/wasm/msgs.py | 37 ++---- secret_sdk/key/key.py | 124 +++++++++++++----- 7 files changed, 301 insertions(+), 356 deletions(-) diff --git a/integration_tests/endpoints.py b/integration_tests/endpoints.py index 25a55af..ab981ad 100644 --- a/integration_tests/endpoints.py +++ b/integration_tests/endpoints.py @@ -139,14 +139,13 @@ memo='' ) print(res) -encode(tx: StdTx, options: BroadcastOptions = None) -hash(tx: StdTx) -_broadcast(tx: StdTx, mode: str, options: BroadcastOptions = None) -broadcast_sync(tx: StdTx, options: BroadcastOptions = None) -broadcast_async(tx: StdTx, options: BroadcastOptions = None) -broadcast(tx: StdTx, options: BroadcastOptions = None) - -res = secret.tx.search(events={"tx.height": 5600362}) + + +res = secret.tx.search( + events = [ + ["tx.height", 42508], + ]) + print(res) print("---------------------------") diff --git a/integration_tests/sign_direct.py b/integration_tests/sign_direct.py index d04e244..51cace6 100644 --- a/integration_tests/sign_direct.py +++ b/integration_tests/sign_direct.py @@ -9,33 +9,20 @@ from secret_sdk.client.lcd import LCDClient from secret_sdk.key.mnemonic import MnemonicKey -from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract +from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract as MsgExecuteContract_pb from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend -from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx, TxBody, AuthInfo, SignDoc, SignerInfo, ModeInfo, ModeInfoSingle, BroadcastTxRequest, BroadcastMode +from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx as Tx_pb, TxBody as TxBody_pb, AuthInfo as AuthInfo_pb, \ +SignDoc as SignDoc_pb, SignerInfo as SignerInfo_pb, ModeInfo as ModeInfo_pb, ModeInfoSingle as ModeInfoSingle_pb + from secret_sdk.protobuf.cosmos.tx.signing.v1beta1 import SignMode from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee -from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin - - -# light_clinet_address = "https://pisco-lcd.terra.dev" -# chain_id = "pisco-1" -# terra = LCDClient( -# url=light_clinet_address, -# chain_id=chain_id, -# ) -# key = MnemonicKey( -# mnemonic="notice oak worry limit wrap speak medal online prefer cluster roof addict wrist behave treat actual wasp year salad speed social layer crew genius" -# ) -# test1 = terra.wallet(key=key) -# -# msg_send = MsgSend( -# "terra1x46rqay4d3cssq8gxxvqz8xt6nwlz4td20k38v", -# "terra17lmam6zguazs5q5u6z5mmx76uj63gldnse2pdp", -# [Coin('uluna','20000')], -# ) +from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin as Coin_pb + +from secret_sdk.core.wasm.msgs import AccAddress, MsgExecuteContract +# from secret_sdk.core.tx import Tx, TxBody +from secret_sdk.core.coins import Coins + secret = LocalSecret(chain_id=test_net_chain_id) -# secret = LCDClient(url='http://23.108.55.7:1317', chain_id = 'secret-4') -# wallet = secret.wallet(MnemonicKey(luigi)) wallet = secret.wallets['test1'] wallet_end = secret.wallets['test2'] chain_id = test_net_chain_id @@ -43,19 +30,21 @@ mnemonic_key = wallet.key # msg send -msg_send = MsgSend(wallet.key.acc_address, wallet_end.key.acc_address, amount = [Coin('uscrt', '100')]) +msg_send = MsgSend(wallet.key.acc_address, wallet_end.key.acc_address, amount = [Coin_pb('uscrt', '100')]) # encrypt msg sscrt_addr_testnet = 'secret18vd8fpwxzck93qlwghaj6arh4p7c5n8978vsyg' -sent_funds = [Coin('uscrt', '100')] +sent_funds = [Coin_pb('uscrt', '100')] handle_msg = {'deposit': {}} contract_code_hash = '9587D60B8E6B078ACE12014CEEEE089530B9FABCD76535D93666A6C127AD8813' msg_str = json.dumps(handle_msg, separators=(",", ":")) -encrypted_msg = secret.encrypt_utils.encrypt(contract_code_hash, msg_str) -encrypted_msg = base64.b64encode(bytes(encrypted_msg)) +encrypted_msg = bytes(secret.encrypt_utils.encrypt(contract_code_hash, msg_str)) +# encrypted_msg = base64.b64encode(bytes(encrypted_msg)) +# m = MsgExecuteContract(sender=wallet.key.acc_address, contract = sscrt_addr_testnet, msg = msg_str, sent_funds = Coins('100uscrt'), code_hash = contract_code_hash) + -msg = MsgExecuteContract( +msg = MsgExecuteContract_pb( sender = address_to_bytes(acc_addr), contract = address_to_bytes(sscrt_addr_testnet), msg = encrypted_msg, @@ -65,33 +54,34 @@ # create tx def create_tx(msg, type_url): wrap_msg = Any_pb(type_url=type_url, value=bytes(msg)) - tx_body = TxBody([wrap_msg], memo='', timeout_height=0) + tx_body = TxBody_pb([wrap_msg], memo='', timeout_height=0) # fee = Fee([Coin('uluna', '9480')], 63199, "", "") - fee = Fee([Coin('uscrt', '94800')], gas_limit=163199, payer="", granter="") - auth_info = AuthInfo([], fee) - tx = Tx(tx_body, auth_info, signatures=[]) + fee = Fee([Coin_pb('uscrt', '94800')], gas_limit=163199, payer="", granter="") + auth_info = AuthInfo_pb([], fee) + tx = Tx_pb(tx_body, auth_info, signatures=[]) return tx def sign_tx(tx): account_number = wallet.account_number() # account_number = 159 sequence = wallet.sequence() + # sequence = 41 # sequence = 116 - si_backup = copy.deepcopy(tx.auth_info.signer_infos) + # si_backup = copy.deepcopy(tx.auth_info.signer_infos) # public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(test1.key.public_key))) public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(wallet.key.public_key))) - mode_info = ModeInfo( - single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) + mode_info = ModeInfo_pb( + single=ModeInfoSingle_pb(mode=SignMode.SIGN_MODE_DIRECT) ) tx.auth_info.signer_infos = [ - SignerInfo( + SignerInfo_pb( public_key=public_key, sequence=sequence, mode_info=mode_info ) ] - signDoc = SignDoc( + signDoc = SignDoc_pb( chain_id=chain_id, # chain_id="pisco-1", account_number=account_number, @@ -116,9 +106,11 @@ def sign_tx(tx): send_tx = create_tx(msg_send, type_url='/cosmos.bank.v1beta1.MsgSend') sign_tx(send_tx) send_tx_bytes = base64.b64encode(bytes(send_tx)).decode() -send_tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':send_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) +# send_tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':send_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) +# print(send_tx_res.json()) sscrt_tx = create_tx(msg, type_url='/secret.compute.v1beta1.MsgExecuteContract') sign_tx(sscrt_tx) sscrt_tx_bytes = base64.b64encode(bytes(sscrt_tx)).decode() -sscrt_tx_res = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':sscrt_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) +r = requests.post(f"{secret.url}/cosmos/tx/v1beta1/txs", json= {'tx_bytes':sscrt_tx_bytes, "mode":'BROADCAST_MODE_BLOCK'}) +print(r.json()) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 4133e77..48f3a64 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -2,10 +2,12 @@ import re import json from typing import List, Optional +import copy import attr from multidict import CIMultiDict + from secret_sdk.core import AccAddress, Coins, Dec, Numeric, PublicKey from secret_sdk.core import SearchTxsResponse, StdFee, StdSignMsg, StdTx, TxInfo from secret_sdk.core.broadcast import ( @@ -313,77 +315,51 @@ async def decrypt_txs_response(self, txs_response): } async def create( - self, - sender: AccAddress, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdSignMsg: + self, signers: List[SignerOptions], options: CreateTxOptions + ) -> Tx: """Create a new unsigned transaction, with helpful utilities such as lookup of chain ID, account number, sequence and fee estimation. Args: - sender (AccAddress): transaction sender's account address - msgs (List[Msg]): list of messages to include - fee (Optional[StdFee], optional): fee to use (estimates if empty). - memo (str, optional): memo to use. Defaults to "". - gas (Optional[int]): gas - gas_prices (Optional[Coins.Input], optional): gas prices for fee estimation. - gas_adjustment (Optional[Numeric.Input], optional): gas adjustment for fee estimation. - fee_denoms (Optional[List[str]], optional): list of denoms to use for gas fee when estimating. - account_number (Optional[int], optional): account number to use. - sequence (Optional[int], optional): sequence number to use. + signers (List[SignerOptions]): options about signers + options (CreateTxOptions): options about creating a tx Returns: - StdSignMsg: unsigned tx + Tx: unsigned tx """ + opt = copy.deepcopy(options) + # create the fake fee - if fee is None: - fee = await BaseAsyncAPI._try_await( - self.estimate_fee(gas, gas_prices, gas_adjustment, fee_denoms) - ) - - if account_number is None or sequence is None: - account = await BaseAsyncAPI._try_await(self._c.auth.account_info(sender)) - if account_number is None: - account_number = account.account_number - if sequence is None: - sequence = account.sequence - - return StdSignMsg( - self._c.chain_id, account_number or 0, sequence or 0, fee, msgs, memo # type: ignore + if opt.fee is None: + opt.fee = await BaseAsyncAPI._try_await(self.estimate_fee(opt)) + + return Tx( + TxBody(opt.msgs, opt.memo or "", opt.timeout_height or 0), + AuthInfo([], opt.fee), + [], ) async def estimate_fee( self, - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - ) -> StdFee: + options: CreateTxOptions + ) -> Fee: """Estimates the proper fee to apply by simulating it within the node. Args: - gas (Optional[int]): gas - gas_prices (Optional[Coins.Input], optional): gas prices to use. - gas_adjustment (Optional[Numeric.Input], optional): gas adjustment to use. - fee_denoms (Optional[List[str]], optional): list of denoms to use to pay for gas. + signers ([SignerOptions]): signers + options (CreateTxOptions): transaction info to estimate fee Returns: - StdFee: estimated fee + Fee: estimated fee """ - if gas is None or gas_prices is None: - return self._c.custom_fees["default"] - gas_prices = gas_prices or self._c.gas_prices - gas_adjustment = gas_adjustment or self._c.gas_adjustment + if options.gas is None or options.gas is None: + return self._c.custom_fees["default"] + gas_prices = options.gas_prices or self._c.gas_prices + fee_denoms = options.fee if options.fee_denoms else ["uscrt"] + gas = options.gas + gas_adjustment = options.gas_adjustment or self._c.gas_adjustment gas_prices_coins = None if gas_prices: @@ -393,101 +369,107 @@ async def estimate_fee( gas_prices_coins = gas_prices_coins.filter( lambda c: c.denom in _fee_denoms ) - fee_amount = gas_prices_coins.mul(gas * gas_adjustment) - return StdFee(gas, fee_amount) + fee_amount = gas_prices_coins.mul(gas * gas_adjustment).to_int_ceil_coins() + return Fee(Numeric.parse(gas), fee_amount, "", "") - async def encode(self, tx: StdTx, options: BroadcastOptions = None) -> str: - """Fetches a transaction's amino encoding. + async def estimate_gas(self, tx: Tx, options: Optional[CreateTxOptions]) -> int: + gas_adjustment = options.gas_adjustment if options else self._c.gas_adjustment - Args: - tx (StdTx): transaction to encode + res = await self._c._post( + "/cosmos/tx/v1beta1/simulate", + {"tx_bytes": await super()._try_await(self.encode(tx))}, + ) + simulated = SimulateResponse.from_data(res) - Returns: - str: base64 string containing amino-encoded tx - """ - data = tx.to_data() - if options is not None: - if options.sequences is not None and len(options.sequences) > 0: - data["sequences"] = [str(i) for i in options.sequences] - if options.fee_granter is not None and len(options.fee_granter) > 0: - data["fee_granter"] = options.fee_granter + return int(Dec(gas_adjustment).mul(simulated.gas_info["gas_used"])) - res = await self._c._post("/txs/encode", data) - return res["tx"] + async def encode(self, tx: Tx) -> str: + """Encode a Tx to base64 encoded proto string""" + return base64.b64encode(bytes(tx.to_proto())).decode() - async def hash(self, tx: StdTx) -> str: + async def decode(self, tx: str) -> Tx: + """Decode base64 encoded proto string to a Tx""" + return Tx.from_bytes(base64.b64decode(tx)) + + async def hash(self, tx: Tx) -> str: """Compute hash for a transaction. Args: - tx (StdTx): transaction to hash + tx (Tx): transaction to hash Returns: str: transaction hash """ - amino = await self.encode(tx) + amino = await super()._try_await(self.encode(tx)) return hash_amino(amino) async def _broadcast( - self, tx: StdTx, mode: str, options: BroadcastOptions = None + self, tx: Tx, mode: str, options: BroadcastOptions = None ) -> dict: - data = {"tx": tx.to_data()["value"], "mode": mode} + data = {"tx_bytes": await super()._try_await(self.encode(tx)), "mode": mode} if options is not None: if options.sequences is not None and len(options.sequences) > 0: data["sequences"] = [str(i) for i in options.sequences] if options.fee_granter is not None and len(options.fee_granter) > 0: data["fee_granter"] = options.fee_granter - return await self._c._post("/txs", data) + return await self._c._post("/cosmos/tx/v1beta1/txs", data) async def broadcast_sync( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> SyncTxBroadcastResult: """Broadcasts a transaction using the ``sync`` broadcast mode. Args: - tx (StdTx): transaction to broadcast + tx (Tx): transaction to broadcast + options (BroadcastOptions): broacast options, optional Returns: SyncTxBroadcastResult: result """ - res = await self._broadcast(tx, "sync", options) + res = await self._broadcast(tx, "BROADCAST_MODE_SYNC", options) + res = res.get("tx_response") return SyncTxBroadcastResult( - txhash=res["txhash"], + txhash=res.get("txhash"), raw_log=res.get("raw_log"), code=res.get("code"), codespace=res.get("codespace"), ) async def broadcast_async( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> AsyncTxBroadcastResult: """Broadcasts a transaction using the ``async`` broadcast mode. Args: - tx (StdTx): transaction to broadcast + tx (Tx): transaction to broadcast + options (BroadcastOptions): broacast options, optional Returns: AsyncTxBroadcastResult: result """ - res = await self._broadcast(tx, "async", options) + res = await self._broadcast(tx, "BROADCAST_MODE_ASYNC", options) + res = res.get("tx_response") return AsyncTxBroadcastResult( - txhash=res["txhash"], + txhash=res.get("txhash"), ) async def broadcast( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> BlockTxBroadcastResult: """Broadcasts a transaction using the ``block`` broadcast mode. Args: - tx (StdTx): transaction to broadcast + tx (Tx): transaction to broadcast + options (BroadcastOptions): broacast options, optional Returns: BlockTxBroadcastResult: result """ - res = await self._broadcast(tx, "block", options) + res = await self._broadcast(tx, "BROADCAST_MODE_BLOCK", options) + res = res["tx_response"] return BlockTxBroadcastResult( height=res.get("height") or 0, - txhash=res["txhash"], + txhash=res.get("txhash"), raw_log=res.get("raw_log"), gas_wanted=res.get("gas_wanted") or 0, gas_used=res.get("gas_used") or 0, @@ -502,7 +484,7 @@ async def search( """Searches for transactions given criteria. Args: - events (dict): dictionary containing options + events (List[list]): List of ("query_str", value) params (APIParams): optional parameters Returns: @@ -513,9 +495,9 @@ async def search( for event in events: if event == "tx.height": - actual_params.add("events", f"{event}={events[event]}") + actual_params.add("events", f"{event[0]}={event[1]}") else: - actual_params.add("events", f"{event}='{events[event]}'") + actual_params.add("events", f"{event[0]}='{event[1]}'") if params: for p in params: actual_params.add(p, params[p]) @@ -563,49 +545,48 @@ def tx_by_id(self, tx_hash: str) -> TxInfo: tx_by_id.__doc__ = AsyncTxAPI.tx_by_id.__doc__ @sync_bind(AsyncTxAPI.create) - def create( - self, - sender: AccAddress, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdSignMsg: + def create(self, signers: List[SignerOptions], options: CreateTxOptions) -> Tx: pass create.__doc__ = AsyncTxAPI.create.__doc__ @sync_bind(AsyncTxAPI.estimate_fee) def estimate_fee( - self, - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - ) -> StdFee: + self, signers: List[SignerOptions], options: CreateTxOptions + ) -> Fee: pass estimate_fee.__doc__ = AsyncTxAPI.estimate_fee.__doc__ + @sync_bind(AsyncTxAPI.estimate_gas) + def estimate_gas( + self, tx: Tx, options: Optional[CreateTxOptions] + ) -> SimulateResponse: + pass + + estimate_gas.__doc__ = AsyncTxAPI.estimate_gas.__doc__ + @sync_bind(AsyncTxAPI.encode) - def encode(self, tx: StdTx, options: BroadcastOptions = None) -> str: + def encode(self, tx: Tx) -> str: pass encode.__doc__ = AsyncTxAPI.encode.__doc__ + @sync_bind(AsyncTxAPI.decode) + def decode(self, tx: str) -> Tx: + pass + + decode.__doc__ = AsyncTxAPI.decode.__doc__ + @sync_bind(AsyncTxAPI.hash) - def hash(self, tx: StdTx) -> str: + def hash(self, tx: Tx) -> str: pass hash.__doc__ = AsyncTxAPI.hash.__doc__ @sync_bind(AsyncTxAPI.broadcast_sync) def broadcast_sync( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> SyncTxBroadcastResult: pass @@ -613,7 +594,7 @@ def broadcast_sync( @sync_bind(AsyncTxAPI.broadcast_async) def broadcast_async( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> AsyncTxBroadcastResult: pass @@ -621,7 +602,7 @@ def broadcast_async( @sync_bind(AsyncTxAPI.broadcast) def broadcast( - self, tx: StdTx, options: BroadcastOptions = None + self, tx: Tx, options: BroadcastOptions = None ) -> BlockTxBroadcastResult: pass diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index b95269e..008b9cb 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -121,18 +121,14 @@ async def contract_execute_msg( contract_address: AccAddress, handle_msg: dict, transfer_amount: Optional[Coins] = None, + contract_code_hash: Optional[str] = None ) -> MsgExecuteContract: - msg_str = json.dumps(handle_msg, separators=(",", ":")) - contract_code_hash = await BaseAsyncAPI._try_await( - self.contract_hash(contract_address) - ) - - encrypted_msg = await BaseAsyncAPI._try_await( - self._c.utils.encrypt(contract_code_hash, msg_str) - ) - encrypted_msg = base64.b64encode(bytes(encrypted_msg)).decode() + if not contract_code_hash: + contract_code_hash = await BaseAsyncAPI._try_await( + self.contract_hash(contract_address) + ) return MsgExecuteContract( - sender_address, contract_address, encrypted_msg, transfer_amount + sender_address, contract_address, msg=handle_msg, sent_funds=transfer_amount, code_hash=contract_code_hash ) @@ -188,6 +184,7 @@ def contract_execute_msg( contract_address: AccAddress, handle_msg: dict, transfer_amount: Coins, + contract_code_hash: str ) -> MsgExecuteContract: pass diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 97d391f..00847d3 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -3,10 +3,10 @@ from typing import Dict, List, Optional from secret_sdk.core import AccAddress, Coins, Numeric -from secret_sdk.core import StdFee, StdSignMsg, StdTx +from secret_sdk.core.tx import Tx from secret_sdk.core.bank import MsgSend -from secret_sdk.core.msg import Msg -from secret_sdk.key.key import Key +from secret_sdk.key.key import Key, SignOptions +from secret_sdk.client.lcd.api.tx import CreateTxOptions, SignerOptions __all__ = ["Wallet", "AsyncWallet"] @@ -28,55 +28,35 @@ async def account_number_and_sequence(self) -> dict: res = await self.lcd.auth.account_info(self.key.acc_address) return {"account_number": res.account_number, "sequence": res.sequence} - async def create_tx( - self, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdSignMsg: - return await self.lcd.tx.create( - sender=self.key.acc_address, - msgs=msgs, - fee=fee, - memo=memo, - gas=gas, - gas_prices=gas_prices, - gas_adjustment=gas_adjustment, - fee_denoms=fee_denoms, - account_number=account_number, - sequence=sequence, - ) - - async def create_and_sign_tx( - self, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdTx: - tx = await self.create_tx( - msgs, - fee, - memo, - gas, - gas_prices, - gas_adjustment, - fee_denoms, - account_number, - sequence, + async def create_tx(self, options: CreateTxOptions) -> Tx: + sigOpt = [ + SignerOptions( + address=self.key.acc_address, + sequence=options.sequence, + public_key=self.key.public_key, + ) + ] + return await self.lcd.tx.create(sigOpt, options) + + async def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: + account_number = options.account_number + sequence = options.sequence + if account_number is None or sequence is None: + res = await self.account_number_and_sequence() + if account_number is None: + account_number = res.get("account_number") + if sequence is None: + sequence = res.get("sequence") + options.sequence = sequence + options.account_number = account_number + return self.key.sign_tx( + tx=(await self.create_tx(options)), + options=SignOptions( + account_number=account_number, + sequence=sequence, + chain_id=self.lcd.chain_id + ), ) - return self.key.sign_tx(tx) async def execute_tx( self, @@ -88,14 +68,13 @@ async def execute_tx( gas_prices: Optional[Coins.Input] = None, gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, - ) -> StdTx: + ): if gas is None or gas_prices is None: fee = self.lcd.custom_fees["exec"] else: fee = await self.lcd.tx.estimate_fee( gas, gas_prices, gas_adjustment, fee_denoms ) - msg_list = [] for msg in handle_msg: execute_msg = await self.lcd.wasm.contract_execute_msg( @@ -154,96 +133,56 @@ def account_number_and_sequence(self) -> dict: res = self.lcd.auth.account_info(self.key.acc_address) return {"account_number": res.account_number, "sequence": res.sequence} - def create_tx( - self, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdSignMsg: + def create_tx(self, options: CreateTxOptions) -> Tx: """Builds an unsigned transaction object. The ``Wallet`` will first query the blockchain to fetch the latest ``account`` and ``sequence`` values for the account corresponding to its Key, unless the they are both provided. If no ``fee`` parameter is set, automatic fee estimation will be used (see `fee_estimation`). Args: - msgs (List[Msg]): list of messages to include - fee (Optional[StdFee], optional): transaction fee. If ``None``, will be estimated. - See more on `fee estimation`_. - memo (str, optional): optional short string to include with transaction. - gas (Optional[int]) gas - gas_prices (Optional[Coins.Input], optional): gas prices for fee estimation. - gas_adjustment (Optional[Numeric.Input], optional): gas adjustment for fee estimation. - fee_denoms (Optional[List[str]], optional): list of denoms to use for fee after estimation. - account_number (Optional[int], optional): account number (overrides blockchain query if - provided) - sequence (Optional[int], optional): sequence (overrides blockchain qu ery if provided) + options (CreateTxOptions): Options to create a tx Returns: - StdSignMsg: unsigned transaction + Tx: unsigned transaction """ - return self.lcd.tx.create( - sender=self.key.acc_address, - msgs=msgs, - fee=fee, - memo=memo, - gas=gas, - gas_prices=gas_prices, - gas_adjustment=gas_adjustment, - fee_denoms=fee_denoms, - account_number=account_number, - sequence=sequence, - ) + sigOpt = [ + SignerOptions( + address=self.key.acc_address, + sequence=options.sequence, + public_key=self.key.public_key, + ) + ] + return self.lcd.tx.create(sigOpt, options) - def create_and_sign_tx( - self, - msgs: List[Msg], - fee: Optional[StdFee] = None, - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - account_number: Optional[int] = None, - sequence: Optional[int] = None, - ) -> StdTx: - """Creates and signs a :class:`StdTx` object in a single step. This is the recommended + def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: + """Creates and signs a :class:`Tx` object in a single step. This is the recommended method for preparing transaction for immediate signing and broadcastring. The transaction is generated exactly as :meth:`create_tx`. Args: - msgs (List[Msg]): list of messages to include - fee (Optional[StdFee], optional): transaction fee. If ``None``, will be estimated. - See more on `fee estimation`_. - memo (str, optional): optional short string to include with transaction. - gas (Optional[int]) gas - gas_prices (Optional[Coins.Input], optional): gas prices for fee estimation. - gas_adjustment (Optional[Numeric.Input], optional): gas adjustment for fee estimation. - fee_denoms (Optional[List[str]], optional): list of denoms to use for fee after estimation. - account_number (Optional[int], optional): account number (overrides blockchain query if - provided) - sequence (Optional[int], optional): sequence (overrides blockchain qu ery if provided) + options (CreateTxOptions): Options to create a tx Returns: - StdTx: signed transaction + Tx: signed transaction """ + + account_number = options.account_number + sequence = options.sequence + if account_number is None or sequence is None: + res = self.account_number_and_sequence() + if account_number is None: + account_number = res.get("account_number") + if sequence is None: + sequence = res.get("sequence") + options.sequence = sequence + options.account_number = account_number return self.key.sign_tx( - self.create_tx( - msgs, - fee, - memo, - gas, - gas_prices, - gas_adjustment, - fee_denoms, - account_number, - sequence, - ) + tx=self.create_tx(options), + options=SignOptions( + account_number=account_number, + sequence=sequence, + chain_id=self.lcd.chain_id, + ), ) def execute_tx( diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index f3e7daf..fe927a8 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -132,6 +132,7 @@ class MsgInstantiateContract(Msg): init_msg_encrypted: dict = None code_hash: str = None warn_code_hash: bool = False + _msg_str: str = '' def __attrs_post_init__(self): if self.code_hash: @@ -140,25 +141,7 @@ def __attrs_post_init__(self): self.code_hash = '' self.warn_code_hash = True # print('WARNING: MsgInstantiateContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') - - def to_amino(self) -> dict: - if not self.init_msg_encrypted: - # The encryption uses a random nonce - # toProto() & toAmino() are called multiple times during signing - # so to keep the msg consistant across calls we encrypt the msg only once - pass - # self.init_msg_encrypted = await utils.encrypt(self.code_hash, self.init_msg) - - return { - "type": self.type_amino, - "value": { - "sender": self.sender, - "code_id": str(self.code_id), - "label": self.label, - "init_msg": remove_none(self.init_msg_encrypted), - "init_funds": self.init_funds.to_amino(), - }, - } + self._msg_str = json.dumps(self.msg, separators=(",", ":")) @classmethod def from_data(cls, data: dict) -> MsgInstantiateContract: @@ -170,19 +153,17 @@ def from_data(cls, data: dict) -> MsgInstantiateContract: init_funds=Coins.from_data(data["init_funds"]), ) - def to_proto(self) -> MsgInstantiateContract_pb: - if not self.init_msg_encrypted: - # The encryption uses a random nonce - # toProto() & toAmino() are called multiple times during signing - # so to keep the msg consistant across calls we encrypt the msg only once - pass - # self.init_msg_encrypted = await utils.encrypt(self.code_hash, self.init_msg) + def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> MsgInstantiateContract_pb: + if not self.msg_encrypted and not encryption_utils: + raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') + if not self.msg_encrypted: + self.msg_encrypted = bytes(encryption_utils.encrypt(self.code_hash, self._msg_str)) return MsgInstantiateContract_pb( sender=address_to_bytes(self.sender), code_id=self.code_id, label=self.label, - init_msg=bytes(json.dumps(self.init_msg_encrypted), "utf-8"), + init_msg=self.msg_encrypted, init_funds=self.init_funds.to_proto(), ) @@ -249,7 +230,7 @@ def from_data(cls, data: dict) -> MsgExecuteContract: sent_funds=Coins.from_data(data["sent_funds"]), ) - def to_proto(self, encryption_utils: Optional[EncryptionUtils]) -> MsgExecuteContract_pb: + def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> MsgExecuteContract_pb: if not self.msg_encrypted and not encryption_utils: raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') if not self.msg_encrypted: diff --git a/secret_sdk/key/key.py b/secret_sdk/key/key.py index dc9d3cb..7966378 100644 --- a/secret_sdk/key/key.py +++ b/secret_sdk/key/key.py @@ -1,14 +1,33 @@ import abc import base64 +import copy import hashlib from typing import Optional +import attr from bech32 import bech32_encode, convertbits -from secret_sdk.core import AccAddress, AccPubKey, ValAddress, ValPubKey -from secret_sdk.core import StdSignature, StdSignMsg, StdTx +from secret_sdk.core import ( + AccAddress, + AccPubKey, + ModeInfo, + ModeInfoSingle, + SignatureV2, + SignDoc, + ValAddress, + ValPubKey, +) +from secret_sdk.core.public_key import ( + PublicKey, + address_from_public_key, + amino_pubkey_from_public_key as pubkey_from_public_key, +) + +from secret_sdk.core.tx import AuthInfo, SignerInfo, SignMode, Tx +from secret_sdk.core.signature_v2 import Descriptor +from secret_sdk.core.signature_v2 import Single as SingleDescriptor + -BECH32_PUBKEY_DATA_PREFIX = "eb5ae98721" __all__ = ["Key"] @@ -20,18 +39,12 @@ def get_bech(prefix: str, payload: str) -> str: return bech32_encode(prefix, data) # base64 -> base32 -def address_from_public_key(public_key: bytes) -> bytes: - sha = hashlib.sha256() - rip = hashlib.new("ripemd160") - sha.update(public_key) - rip.update(sha.digest()) - return rip.digest() - -def pubkey_from_public_key(public_key: bytes) -> bytes: - arr = bytearray.fromhex(BECH32_PUBKEY_DATA_PREFIX) - arr += bytearray(public_key) - return bytes(arr) +@attr.s +class SignOptions: + account_number: int = attr.ib(converter=int) + sequence: int = attr.ib(converter=int) + chain_id: str = attr.ib() class Key: @@ -54,7 +67,7 @@ class Key: pubkeys. """ - def __init__(self, public_key: Optional[bytes] = None): + def __init__(self, public_key: Optional[PublicKey] = None): self.public_key = public_key if public_key: self.raw_address = address_from_public_key(public_key) @@ -131,45 +144,88 @@ def val_pubkey(self) -> ValPubKey: raise ValueError("could not compute val_pubkey: missing raw_pubkey") return ValPubKey(get_bech("secretvaloperpub", self.raw_pubkey.hex())) - def create_signature(self, tx: StdSignMsg) -> StdSignature: + def create_signature(self, sign_doc: SignDoc) -> SignatureV2: """Signs the transaction with the signing algorithm provided by this Key implementation, and outputs the signature. The signature is only returned, and must be manually added to - the ``signatures`` field of an :class:`StdTx`. + the ``signatures`` field of an :class:`Tx`. Args: - tx (StdSignMsg): unsigned transaction + sign_doc (SignDoc): unsigned transaction Raises: ValueError: if missing ``public_key`` Returns: - StdSignature: signature object + SignatureV2: signature object """ if self.public_key is None: raise ValueError( "signature could not be created: Key instance missing public_key" ) - sig_buffer = self.sign(tx.to_json().strip().encode()) - return StdSignature.from_data( - { - "signature": base64.b64encode(sig_buffer).decode(), - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": base64.b64encode(self.public_key).decode(), - }, - } + # make backup + si_backup = copy.deepcopy(sign_doc.auth_info.signer_infos) + sign_doc.auth_info.signer_infos = [ + SignerInfo( + public_key=self.public_key, + sequence=sign_doc.sequence, + mode_info=ModeInfo( + single=ModeInfoSingle(mode=SignMode.SIGN_MODE_DIRECT) + ), + ) + ] + signature = self.sign(sign_doc.to_bytes()) + + # restore + sign_doc.auth_info.signer_infos = si_backup + + return SignatureV2( + public_key=self.public_key, + data=Descriptor( + single=SingleDescriptor( + mode=SignMode.SIGN_MODE_DIRECT, signature=signature + ) + ), + sequence=sign_doc.sequence, ) - def sign_tx(self, tx: StdSignMsg) -> StdTx: + def sign_tx(self, tx: Tx, options: SignOptions) -> Tx: """Signs the transaction with the signing algorithm provided by this Key implementation, - and creates a ready-to-broadcast :class:`StdTx` object with the signature applied. + and creates a ready-to-broadcast :class:`Tx` object with the signature applied. Args: - tx (StdSignMsg): unsigned transaction + tx (Tx): unsigned transaction + options (SignOptions): options for signing Returns: - StdTx: ready-to-broadcast transaction object + Tx: ready-to-broadcast transaction object """ - sig = self.create_signature(tx) - return StdTx(tx.msgs, tx.fee, [sig], tx.memo) + signedTx = Tx( + body=tx.body, + auth_info=AuthInfo(signer_infos=[], fee=tx.auth_info.fee), + signatures=[], + ) + signDoc = SignDoc( + chain_id=options.chain_id, + account_number=options.account_number, + sequence=options.sequence, + auth_info=signedTx.auth_info, + tx_body=signedTx.body, + ) + + signature: SignatureV2 = self.create_signature(signDoc) + + sigData: SingleDescriptor = signature.data.single + for sig in tx.signatures: + signedTx.signatures.append(sig) + signedTx.signatures.append(sigData.signature) + for infos in tx.auth_info.signer_infos: + signedTx.auth_info.signer_infos.append(infos) + signedTx.auth_info.signer_infos.append( + SignerInfo( + public_key=signature.public_key, + sequence=signature.sequence, + mode_info=ModeInfo(single=ModeInfoSingle(mode=sigData.mode)), + ) + ) + return signedTx From d7608b0d111882972b754083c4930d59208bb5d8 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 00:01:23 -0400 Subject: [PATCH 12/47] More stuff --- secret_sdk/client/lcd/wallet.py | 3 +++ secret_sdk/core/msg.py | 4 ++-- secret_sdk/core/sign_doc.py | 11 ++++++----- secret_sdk/core/tx.py | 5 +++-- secret_sdk/key/key.py | 10 ++++++---- 5 files changed, 20 insertions(+), 13 deletions(-) diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 00847d3..6d032d2 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -7,6 +7,7 @@ from secret_sdk.core.bank import MsgSend from secret_sdk.key.key import Key, SignOptions from secret_sdk.client.lcd.api.tx import CreateTxOptions, SignerOptions +from secret_sdk.util.encrypt_utils import EncryptionUtils __all__ = ["Wallet", "AsyncWallet"] @@ -56,6 +57,7 @@ async def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: sequence=sequence, chain_id=self.lcd.chain_id ), + encryption_utils=self.lcd.encrypt_utils ) async def execute_tx( @@ -183,6 +185,7 @@ def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: sequence=sequence, chain_id=self.lcd.chain_id, ), + encryption_utils=self.lcd.encrypt_utils ) def execute_tx( diff --git a/secret_sdk/core/msg.py b/secret_sdk/core/msg.py index 4de9ec4..a93f92c 100755 --- a/secret_sdk/core/msg.py +++ b/secret_sdk/core/msg.py @@ -12,8 +12,8 @@ class Msg(BaseSecretData): def to_proto(self, encryption_utils: Optional[EncryptionUtils]): raise NotImplementedError - def pack_any(self) -> Any_pb: - return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) + def pack_any(self, encryption_utils: Optional[EncryptionUtils]) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto(encryption_utils))) @staticmethod def from_data(data: dict) -> Msg: diff --git a/secret_sdk/core/sign_doc.py b/secret_sdk/core/sign_doc.py index 1363d6d..0c805a7 100755 --- a/secret_sdk/core/sign_doc.py +++ b/secret_sdk/core/sign_doc.py @@ -3,7 +3,7 @@ from __future__ import annotations import json - +from typing import Optional import attr from secret_sdk.protobuf.cosmos.tx.v1beta1 import SignDoc as SignDoc_pb @@ -13,6 +13,7 @@ __all__ = ["SignDoc"] from secret_sdk.util.remove_none import remove_none +from secret_sdk.util.encrypt_utils import EncryptionUtils @attr.s @@ -66,16 +67,16 @@ def from_proto(cls, proto: SignDoc_pb) -> SignDoc: tx_body=TxBody.from_proto(proto.body_bytes), ) - def to_proto(self) -> SignDoc_pb: + def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> SignDoc_pb: return SignDoc_pb( - body_bytes=bytes(self.tx_body.to_proto()), + body_bytes=bytes(self.tx_body.to_proto(encryption_utils)), auth_info_bytes=bytes(self.auth_info.to_proto()), chain_id=self.chain_id, account_number=self.account_number, ) - def to_bytes(self) -> bytes: - return bytes(self.to_proto()) + def to_bytes(self, encryption_utils: Optional[EncryptionUtils] = None) -> bytes: + return bytes(self.to_proto(encryption_utils)) def to_amino_json(self) -> bytes: amino = self.to_amino() diff --git a/secret_sdk/core/tx.py b/secret_sdk/core/tx.py index c79fc44..66c27b2 100755 --- a/secret_sdk/core/tx.py +++ b/secret_sdk/core/tx.py @@ -16,6 +16,7 @@ from secret_sdk.protobuf.cosmos.tx.v1beta1 import SignerInfo as SignerInfo_pb from secret_sdk.protobuf.cosmos.tx.v1beta1 import Tx as Tx_pb from secret_sdk.protobuf.cosmos.tx.v1beta1 import TxBody as TxBody_pb +from secret_sdk.util.encrypt_utils import EncryptionUtils from secret_sdk.core.compact_bit_array import CompactBitArray from secret_sdk.core.fee import Fee @@ -363,9 +364,9 @@ def to_data(self) -> dict: "timeout_height": self.timeout_height, } - def to_proto(self) -> TxBody_pb: + def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> TxBody_pb: return TxBody_pb( - messages=[m.pack_any() for m in self.messages], + messages=[m.pack_any(encryption_utils) for m in self.messages], memo=self.memo, timeout_height=self.timeout_height, ) diff --git a/secret_sdk/key/key.py b/secret_sdk/key/key.py index 7966378..539c070 100644 --- a/secret_sdk/key/key.py +++ b/secret_sdk/key/key.py @@ -26,6 +26,7 @@ from secret_sdk.core.tx import AuthInfo, SignerInfo, SignMode, Tx from secret_sdk.core.signature_v2 import Descriptor from secret_sdk.core.signature_v2 import Single as SingleDescriptor +from secret_sdk.util.encrypt_utils import EncryptionUtils @@ -144,7 +145,7 @@ def val_pubkey(self) -> ValPubKey: raise ValueError("could not compute val_pubkey: missing raw_pubkey") return ValPubKey(get_bech("secretvaloperpub", self.raw_pubkey.hex())) - def create_signature(self, sign_doc: SignDoc) -> SignatureV2: + def create_signature(self, sign_doc: SignDoc, encryption_utils: Optional[EncryptionUtils] = None) -> SignatureV2: """Signs the transaction with the signing algorithm provided by this Key implementation, and outputs the signature. The signature is only returned, and must be manually added to the ``signatures`` field of an :class:`Tx`. @@ -174,7 +175,8 @@ def create_signature(self, sign_doc: SignDoc) -> SignatureV2: ), ) ] - signature = self.sign(sign_doc.to_bytes()) + # generate the .proto of all messages, need encryption_utils + signature = self.sign(sign_doc.to_bytes(encryption_utils=encryption_utils)) # restore sign_doc.auth_info.signer_infos = si_backup @@ -189,7 +191,7 @@ def create_signature(self, sign_doc: SignDoc) -> SignatureV2: sequence=sign_doc.sequence, ) - def sign_tx(self, tx: Tx, options: SignOptions) -> Tx: + def sign_tx(self, tx: Tx, options: SignOptions, encryption_utils: Optional[EncryptionUtils] = None) -> Tx: """Signs the transaction with the signing algorithm provided by this Key implementation, and creates a ready-to-broadcast :class:`Tx` object with the signature applied. @@ -213,7 +215,7 @@ def sign_tx(self, tx: Tx, options: SignOptions) -> Tx: tx_body=signedTx.body, ) - signature: SignatureV2 = self.create_signature(signDoc) + signature: SignatureV2 = self.create_signature(signDoc, encryption_utils=encryption_utils) sigData: SingleDescriptor = signature.data.single for sig in tx.signatures: From b9ead839c48ffb4c64bb5712c4c37c4e2d4b3e1c Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 00:23:56 -0400 Subject: [PATCH 13/47] Fixing wallet send_token and execute_tx integration --- .../{sign_direct.py => sign_direct_via_pb.py} | 28 +---- secret_sdk/client/lcd/api/tx.py | 29 +++-- secret_sdk/client/lcd/lcdclient.py | 21 ++-- secret_sdk/client/lcd/wallet.py | 100 ++++++++++++------ 4 files changed, 105 insertions(+), 73 deletions(-) rename integration_tests/{sign_direct.py => sign_direct_via_pb.py} (76%) diff --git a/integration_tests/sign_direct.py b/integration_tests/sign_direct_via_pb.py similarity index 76% rename from integration_tests/sign_direct.py rename to integration_tests/sign_direct_via_pb.py index 51cace6..ad8c44f 100644 --- a/integration_tests/sign_direct.py +++ b/integration_tests/sign_direct_via_pb.py @@ -3,11 +3,8 @@ import json import base64 import requests -import copy from secret_sdk.protobuf.cosmos.crypto.ed25519 import PubKey from betterproto.lib.google.protobuf import Any as Any_pb -from secret_sdk.client.lcd import LCDClient -from secret_sdk.key.mnemonic import MnemonicKey from secret_sdk.protobuf.secret.compute.v1beta1 import MsgExecuteContract as MsgExecuteContract_pb from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend @@ -18,9 +15,6 @@ from secret_sdk.protobuf.cosmos.tx.v1beta1 import Fee from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin as Coin_pb -from secret_sdk.core.wasm.msgs import AccAddress, MsgExecuteContract -# from secret_sdk.core.tx import Tx, TxBody -from secret_sdk.core.coins import Coins secret = LocalSecret(chain_id=test_net_chain_id) wallet = secret.wallets['test1'] @@ -40,9 +34,6 @@ contract_code_hash = '9587D60B8E6B078ACE12014CEEEE089530B9FABCD76535D93666A6C127AD8813' msg_str = json.dumps(handle_msg, separators=(",", ":")) encrypted_msg = bytes(secret.encrypt_utils.encrypt(contract_code_hash, msg_str)) -# encrypted_msg = base64.b64encode(bytes(encrypted_msg)) -# m = MsgExecuteContract(sender=wallet.key.acc_address, contract = sscrt_addr_testnet, msg = msg_str, sent_funds = Coins('100uscrt'), code_hash = contract_code_hash) - msg = MsgExecuteContract_pb( sender = address_to_bytes(acc_addr), @@ -63,12 +54,8 @@ def create_tx(msg, type_url): def sign_tx(tx): account_number = wallet.account_number() - # account_number = 159 sequence = wallet.sequence() - # sequence = 41 - # sequence = 116 - # si_backup = copy.deepcopy(tx.auth_info.signer_infos) - # public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(test1.key.public_key))) + public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(wallet.key.public_key))) mode_info = ModeInfo_pb( single=ModeInfoSingle_pb(mode=SignMode.SIGN_MODE_DIRECT) @@ -83,25 +70,14 @@ def sign_tx(tx): signDoc = SignDoc_pb( chain_id=chain_id, - # chain_id="pisco-1", - account_number=account_number, + account_number=account_number, auth_info_bytes=bytes(tx.auth_info), body_bytes=bytes(tx.body), ) signDoc_payload = bytes(signDoc) signed_signDoc = wallet.key.sign(signDoc_payload) - # signed_signDoc = test1.key.sign(signDoc_payload) - # tx.auth_info.signer_infos = si_backup tx.signatures.append(signed_signDoc) - # tx.auth_info.signer_infos.append( - # SignerInfo( - # public_key=public_key, - # sequence=sequence, - # mode_info=mode_info, - # ) - # ) - send_tx = create_tx(msg_send, type_url='/cosmos.bank.v1beta1.MsgSend') sign_tx(send_tx) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 48f3a64..cafa4c2 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -9,7 +9,6 @@ from secret_sdk.core import AccAddress, Coins, Dec, Numeric, PublicKey -from secret_sdk.core import SearchTxsResponse, StdFee, StdSignMsg, StdTx, TxInfo from secret_sdk.core.broadcast import ( AsyncTxBroadcastResult, BlockTxBroadcastResult, @@ -23,6 +22,7 @@ from secret_sdk.util.json import JSONSerializable from secret_sdk.protobuf.secret.compute.v1beta1 import MsgInstantiateContractResponse, MsgExecuteContractResponse +from secret_sdk.protobuf.cosmos.tx.v1beta1 import BroadcastMode from ..params import APIParams from ._base import BaseAsyncAPI, sync_bind @@ -403,10 +403,19 @@ async def hash(self, tx: Tx) -> str: amino = await super()._try_await(self.encode(tx)) return hash_amino(amino) + async def broadcast_adapter(self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None): + if mode == BroadcastMode.BROADCAST_MODE_BLOCK: + return await self.broadcast(tx, options) + if mode == BroadcastMode.BROADCAST_MODE_ASYNC: + return await self.broadcast_async(tx, options) + if mode == BroadcastMode.BROADCAST_MODE_SYNC: + return await self.broadcast_sync(tx, options) + + async def _broadcast( - self, tx: Tx, mode: str, options: BroadcastOptions = None + self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None ) -> dict: - data = {"tx_bytes": await super()._try_await(self.encode(tx)), "mode": mode} + data = {"tx_bytes": await super()._try_await(self.encode(tx)), "mode": mode.name} if options is not None: if options.sequences is not None and len(options.sequences) > 0: data["sequences"] = [str(i) for i in options.sequences] @@ -426,7 +435,7 @@ async def broadcast_sync( Returns: SyncTxBroadcastResult: result """ - res = await self._broadcast(tx, "BROADCAST_MODE_SYNC", options) + res = await self._broadcast(tx, BroadcastMode.BROADCAST_MODE_SYNC, options) res = res.get("tx_response") return SyncTxBroadcastResult( txhash=res.get("txhash"), @@ -447,7 +456,7 @@ async def broadcast_async( Returns: AsyncTxBroadcastResult: result """ - res = await self._broadcast(tx, "BROADCAST_MODE_ASYNC", options) + res = await self._broadcast(tx, BroadcastMode.BROADCAST_MODE_ASYNC, options) res = res.get("tx_response") return AsyncTxBroadcastResult( txhash=res.get("txhash"), @@ -465,7 +474,7 @@ async def broadcast( Returns: BlockTxBroadcastResult: result """ - res = await self._broadcast(tx, "BROADCAST_MODE_BLOCK", options) + res = await self._broadcast(tx, BroadcastMode.BROADCAST_MODE_BLOCK, options) res = res["tx_response"] return BlockTxBroadcastResult( height=res.get("height") or 0, @@ -552,7 +561,7 @@ def create(self, signers: List[SignerOptions], options: CreateTxOptions) -> Tx: @sync_bind(AsyncTxAPI.estimate_fee) def estimate_fee( - self, signers: List[SignerOptions], options: CreateTxOptions + self, options: CreateTxOptions ) -> Fee: pass @@ -584,6 +593,12 @@ def hash(self, tx: Tx) -> str: hash.__doc__ = AsyncTxAPI.hash.__doc__ + @sync_bind(AsyncTxAPI.broadcast_adapter) + def broadcast_adapter(self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None): + pass + + broadcast_adapter.__doc__ = AsyncTxAPI.broadcast_adapter.__doc__ + @sync_bind(AsyncTxAPI.broadcast_sync) def broadcast_sync( self, tx: Tx, options: BroadcastOptions = None diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index dda6d26..f192730 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -34,24 +34,25 @@ from .params import APIParams from secret_sdk.util.encrypt_utils import EncryptionUtils from .wallet import AsyncWallet, Wallet +from secret_sdk.core.fee import Fee # default gas_price is 0.25, amount = gas * gas_price default_fees = { - "upload": StdFee( - gas=1_000_000, amount=Coins.from_data([{"amount": 250_000, "denom": "uscrt"}]) + "upload": Fee( + gas_limit=1_000_000, amount=Coins.from_data([{"amount": 250_000, "denom": "uscrt"}]) ), - "init": StdFee( - gas=500_000, amount=Coins.from_data([{"amount": 125_000, "denom": "uscrt"}]) + "init": Fee( + gas_limit=500_000, amount=Coins.from_data([{"amount": 125_000, "denom": "uscrt"}]) ), - "exec": StdFee( - gas=200_000, amount=Coins.from_data([{"amount": 50_000, "denom": "uscrt"}]) + "exec": Fee( + gas_limit=200_000, amount=Coins.from_data([{"amount": 50_000, "denom": "uscrt"}]) ), - "send": StdFee( - gas=80_000, amount=Coins.from_data([{"amount": 20_000, "denom": "uscrt"}]) + "send": Fee( + gas_limit=80_000, amount=Coins.from_data([{"amount": 20_000, "denom": "uscrt"}]) ), - "default": StdFee( - gas=200_000, amount=Coins.from_data([{"amount": 50_000, "denom": "uscrt"}]) + "default": Fee( + gas_limit=200_000, amount=Coins.from_data([{"amount": 50_000, "denom": "uscrt"}]) ), } default_gas_prices = Coins.from_data([{"amount": 0.25, "denom": "uscrt"}]) diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 6d032d2..5d7121e 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -7,7 +7,7 @@ from secret_sdk.core.bank import MsgSend from secret_sdk.key.key import Key, SignOptions from secret_sdk.client.lcd.api.tx import CreateTxOptions, SignerOptions -from secret_sdk.util.encrypt_utils import EncryptionUtils +from secret_sdk.protobuf.cosmos.tx.v1beta1 import BroadcastMode __all__ = ["Wallet", "AsyncWallet"] @@ -70,13 +70,9 @@ async def execute_tx( gas_prices: Optional[Coins.Input] = None, gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None ): - if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] - else: - fee = await self.lcd.tx.estimate_fee( - gas, gas_prices, gas_adjustment, fee_denoms - ) + msg_list = [] for msg in handle_msg: execute_msg = await self.lcd.wasm.contract_execute_msg( @@ -84,8 +80,22 @@ async def execute_tx( ) msg_list.append(execute_msg) - signed_tx = await self.create_and_sign_tx(msg_list, fee=fee, memo=memo) - tx = await self.lcd.tx.broadcast(signed_tx) + create_tx_options = CreateTxOptions( + msgs=msg_list, + memo=memo, + gas=str(gas), + gas_prices=gas_prices, + gas_adjustment=gas_adjustment, + fee_denoms=fee_denoms + ) + + if gas is None or gas_prices is None: + fee = self.lcd.custom_fees["exec"] + create_tx_options.fee=fee + + signed_tx = await self.create_and_sign_tx(create_tx_options) + broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK + tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode = broadcast_mode) return tx async def send_tokens( @@ -97,17 +107,25 @@ async def send_tokens( gas_prices: Optional[Coins.Input] = None, gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, - ) -> StdTx: + broadcast_mode: Optional[BroadcastMode] = None + ): + send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) + create_tx_options = CreateTxOptions( + msgs=[send_msg], + memo=memo, + gas=str(gas), + gas_prices=gas_prices, + gas_adjustment=gas_adjustment, + fee_denoms=fee_denoms + ) + if gas is None or gas_prices is None: fee = self.lcd.custom_fees["send"] - else: - fee = await self.lcd.tx.estimate_fee( - gas, gas_prices, gas_adjustment, fee_denoms - ) + create_tx_options.fee = fee - send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) - signed_tx = await self.create_and_sign_tx([send_msg], fee=fee, memo=memo) - tx = await self.lcd.tx.broadcast(signed_tx) + signed_tx = await self.create_and_sign_tx(create_tx_options) + broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK + tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx @@ -198,12 +216,9 @@ def execute_tx( gas_prices: Optional[Coins.Input] = None, gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, - ) -> StdTx: - if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] - else: - fee = self.lcd.tx.estimate_fee(gas, gas_prices, gas_adjustment, fee_denoms) + broadcast_mode: Optional[BroadcastMode] = None + ): msg_list = [] for msg in handle_msg: execute_msg = self.lcd.wasm.contract_execute_msg( @@ -211,8 +226,22 @@ def execute_tx( ) msg_list.append(execute_msg) - signed_tx = self.create_and_sign_tx(msg_list, fee=fee, memo=memo) - tx = self.lcd.tx.broadcast(signed_tx) + create_tx_options = CreateTxOptions( + msgs=msg_list, + memo=memo, + gas=str(gas), + gas_prices=gas_prices, + gas_adjustment=gas_adjustment, + fee_denoms=fee_denoms + ) + + if gas is None or gas_prices is None: + fee = self.lcd.custom_fees["exec"] + create_tx_options.fee = fee + + signed_tx = self.create_and_sign_tx(create_tx_options) + broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK + tx = self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx def send_tokens( @@ -224,13 +253,24 @@ def send_tokens( gas_prices: Optional[Coins.Input] = None, gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, - ) -> StdTx: + broadcast_mode: Optional[BroadcastMode] = None + + ): + send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) + create_tx_options = CreateTxOptions( + msgs=[send_msg], + memo=memo, + gas=str(gas), + gas_prices=gas_prices, + gas_adjustment=gas_adjustment, + fee_denoms=fee_denoms + ) + if gas is None or gas_prices is None: fee = self.lcd.custom_fees["send"] - else: - fee = self.lcd.tx.estimate_fee(gas, gas_prices, gas_adjustment, fee_denoms) + create_tx_options.fee = fee - send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) - signed_tx = self.create_and_sign_tx([send_msg], fee=fee, memo=memo) - tx = self.lcd.tx.broadcast(signed_tx) + signed_tx = self.create_and_sign_tx(create_tx_options) + broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK + tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx From 2926e1a98ef9543898fcdd6695c4888be9278bae Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 00:42:47 -0400 Subject: [PATCH 14/47] Add execute_tx integration test, finalize contract execute --- integration_tests/execute_tx.py | 12 +++++++++++ secret_sdk/client/lcd/api/tx.py | 37 +++++++++++++++++---------------- secret_sdk/client/lcd/wallet.py | 4 ++-- secret_sdk/key/raw.py | 7 ++++--- 4 files changed, 37 insertions(+), 23 deletions(-) create mode 100644 integration_tests/execute_tx.py diff --git a/integration_tests/execute_tx.py b/integration_tests/execute_tx.py new file mode 100644 index 0000000..3820c01 --- /dev/null +++ b/integration_tests/execute_tx.py @@ -0,0 +1,12 @@ +from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id, test_net_chain_id +from secret_sdk.core.coins import Coins + +secret = LocalSecret(chain_id=test_net_chain_id) + +w = secret.wallets['test1'] +sscrt_addr_testnet = 'secret18vd8fpwxzck93qlwghaj6arh4p7c5n8978vsyg' +sent_funds = Coins('100uscrt') +handle_msg = {'deposit': {}} +t = w.execute_tx(sscrt_addr_testnet, [handle_msg], transfer_amount=sent_funds) + +assert t.code == 0 diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index cafa4c2..1ab6664 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -151,21 +151,21 @@ async def tx_by_id(self, id: str) -> TxInfo: if "tx" not in res: raise Exception("Unexpected response data format") # TODO: update TxInfo interface - return await self.decrypt_txs_response(res) + return self.decrypt_txs_response(res) - async def decrypt_data_field(self, data_field: str, nonces): + def decrypt_data_field(self, data_field: str, nonces): wasm_output_data_cipher_bz = bytearray.fromhex(data_field) for nonce in nonces: try: return base64.b64decode( - await self._c.utils.decrypt(wasm_output_data_cipher_bz, nonce) + self._c.encrypt_utils.decrypt(wasm_output_data_cipher_bz, nonce) ) except Exception as e: error = e raise error - async def decrypt_logs(self, logs, nonces): + def decrypt_logs(self, logs, nonces): for log in logs: for e in log["events"]: if e["type"] == "wasm": @@ -173,14 +173,14 @@ async def decrypt_logs(self, logs, nonces): nonce_ok = False for a in e["attributes"]: try: - a["key"] = await self._c.utils.decrypt( + a["key"] = self._c.encrypt_utils.decrypt( base64.b64decode(a["key"]), nonce ) nonce_ok = True except Exception: pass try: - a["value"] = await self._c.utils.decrypt( + a["value"] = self._c.encrypt_utils.decrypt( base64.b64decode(a["value"], nonce) ) nonce_ok = True @@ -192,7 +192,7 @@ async def decrypt_logs(self, logs, nonces): return logs - async def decrypt_txs_response(self, txs_response): + def decrypt_txs_response(self, txs_response): nonces = {} decoded_tx = Tx.from_data(txs_response['tx']) @@ -211,9 +211,9 @@ async def decrypt_txs_response(self, txs_response): # Check if the message needs decryption contract_input_msg_field_name = '' if msg_type == "/secret.compute.v1beta1.MsgInstantiateContract": - contract_input_msg_field_name = "initMsg"; + contract_input_msg_field_name = "initMsg" elif msg_type == "/secret.compute.v1beta1.MsgExecuteContract": - contract_input_msg_field_name = "msg"; + contract_input_msg_field_name = "msg" if contract_input_msg_field_name != '': # Encrypted, try to decrypt @@ -223,7 +223,7 @@ async def decrypt_txs_response(self, txs_response): account_pub_key = contract_input_msg_bytes[32:64] ciphertext = contract_input_msg_bytes[64:] - plaintext = await self._c.utils.decrypt( + plaintext = self._c.encrypt_utils.decrypt( ciphertext, nonce ) @@ -251,7 +251,7 @@ async def decrypt_txs_response(self, txs_response): # See https://github.com/cosmos/cosmos-sdk/pull/11147 json_log[i]['msg_index'] = i - array_log = await self.decrypt_logs(json_log, nonces) + array_log = self.decrypt_logs(json_log, nonces) elif code != 0 and raw_log != '': try: error_message_rgx = re.compile( @@ -262,7 +262,7 @@ async def decrypt_txs_response(self, txs_response): msg_index = int(rgx_matches[1]) error_cipher_b64 = rgx_matches[2] error_cipher_bz = base64.b64decode(error_cipher_b64) - error_plain_bz = await self._c.utils.decrypt(error_cipher_bz, nonces[msg_index]) + error_plain_bz = self._c.encrypt_utils.decrypt(error_cipher_bz, nonces[msg_index]) raw_log = raw_log.replace( f'encrypted: {rgx_matches[2]}', error_plain_bz ) @@ -283,14 +283,14 @@ async def decrypt_txs_response(self, txs_response): msg_type = decoded_tx.body.messages[i].type_url if msg_type == '/secret.compute.v1beta1.MsgInstantiateContract': decoded = MsgInstantiateContractResponse(data['data']) - decrypted = await self.decrypt_data_field(data['data'], [nonce]) + decrypted = self.decrypt_data_field(data['data'], [nonce]) data[i] = MsgInstantiateContractResponse( address=decoded.address, data=decrypted ) elif msg_type == '/secret.compute.v1beta1.MsgExecuteContract': decoded = MsgExecuteContractResponse(data['data']) - decrypted = await self.decrypt_data_field(data['data'], [nonce]) + decrypted = self.decrypt_data_field(data['data'], [nonce]) data[i] = MsgExecuteContractResponse( data=decrypted ) @@ -404,13 +404,14 @@ async def hash(self, tx: Tx) -> str: return hash_amino(amino) async def broadcast_adapter(self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None): + broadcast_result = None if mode == BroadcastMode.BROADCAST_MODE_BLOCK: - return await self.broadcast(tx, options) + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast(tx, options)) if mode == BroadcastMode.BROADCAST_MODE_ASYNC: - return await self.broadcast_async(tx, options) + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_async(tx, options)) if mode == BroadcastMode.BROADCAST_MODE_SYNC: - return await self.broadcast_sync(tx, options) - + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_sync(tx, options)) + return broadcast_result async def _broadcast( self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 5d7121e..da2c917 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -231,7 +231,7 @@ def execute_tx( memo=memo, gas=str(gas), gas_prices=gas_prices, - gas_adjustment=gas_adjustment, + gas_adjustment=gas_adjustment or 0, fee_denoms=fee_denoms ) @@ -272,5 +272,5 @@ def send_tokens( signed_tx = self.create_and_sign_tx(create_tx_options) broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK - tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) + tx = self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx diff --git a/secret_sdk/key/raw.py b/secret_sdk/key/raw.py index 75f9c76..13c3abf 100644 --- a/secret_sdk/key/raw.py +++ b/secret_sdk/key/raw.py @@ -4,15 +4,16 @@ from ecdsa import SECP256k1, SigningKey from ecdsa.util import sigencode_string_canonize +from ..core import PublicKey, SimplePublicKey from .key import Key __all__ = ["RawKey"] -def compute_public_key(private_key: bytes) -> bytes: - return ( - SigningKey.from_string(private_key, curve=SECP256k1) +def compute_public_key(private_key: bytes) -> PublicKey: + return SimplePublicKey( + key=SigningKey.from_string(private_key, curve=SECP256k1) .get_verifying_key() .to_string("compressed") ) From feccc22cfbe5889f42ef852821960ed93a2e47bd Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 11:28:52 -0400 Subject: [PATCH 15/47] Fix secret contract query --- secret_sdk/client/lcd/api/wasm.py | 45 ++++++++++++++++--------------- secret_sdk/util/encrypt_utils.py | 2 +- 2 files changed, 25 insertions(+), 22 deletions(-) diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index 008b9cb..191040a 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -84,7 +84,8 @@ async def contract_hash(self, contract_address: str) -> str: return _contract_code_hash[contract_address] async def contract_query( - self, contract_address: str, query: dict, height: Optional[int] = 0 + self, contract_address: str, query: dict, contract_code_hash: Optional[str] = None, + height: Optional[int] = 0 ) -> Any: """Runs a QueryMsg on a contract. @@ -96,23 +97,23 @@ async def contract_query( Any: results of query """ query_str = json.dumps(query, separators=(",", ":")) - contract_code_hash = await BaseAsyncAPI._try_await( - self.contract_hash(contract_address) - ) - encrypted = await BaseAsyncAPI._try_await( - self._c.utils.encrypt(contract_code_hash, query_str) - ) - + if not contract_code_hash: + if contract_address not in _contract_code_hash: + contract_code_hash = await BaseAsyncAPI._try_await( + self.contract_hash(contract_address) + ) + _contract_code_hash[contract_address] = contract_code_hash + encrypted = self._c.encrypt_utils.encrypt(contract_code_hash, query_str) + # first 32 bytes are the nonce nonce = encrypted[0:32] - encoded = base64.b64encode(bytes(encrypted)).hex() - # query_path = f"/wasm/contract/{contract_address}/query/{encoded}?encoding=hex&height={height}" - - query_path = f"/compute/v1beta1/query/{contract_address}/query/{encoded}?encoding=hex&height={height}" - query_result = await BaseAsyncAPI._try_await(self._c._get(query_path)) - encoded_result = base64.b64decode(bytes(query_result["smart"], "utf-8")) - decrypted = await BaseAsyncAPI._try_await( - self._c.utils.decrypt(encoded_result, nonce) - ) + # base64 over the wire + params = {'contract_address': contract_address, 'query': base64.b64encode(bytes(encrypted))} + + query_path = f"/compute/v1beta1/query/{contract_address}" + query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params)) + + encoded_result = base64.b64decode(bytes(query_result["data"], "utf-8")) + decrypted = self._c.utils.decrypt(encoded_result, nonce) return json.loads(base64.b64decode(decrypted)) async def contract_execute_msg( @@ -124,9 +125,11 @@ async def contract_execute_msg( contract_code_hash: Optional[str] = None ) -> MsgExecuteContract: if not contract_code_hash: - contract_code_hash = await BaseAsyncAPI._try_await( - self.contract_hash(contract_address) - ) + if contract_address not in _contract_code_hash: + contract_code_hash = await BaseAsyncAPI._try_await( + self.contract_hash(contract_address) + ) + _contract_code_hash[contract_address] = contract_code_hash return MsgExecuteContract( sender_address, contract_address, msg=handle_msg, sent_funds=transfer_amount, code_hash=contract_code_hash ) @@ -171,7 +174,7 @@ def contract_hash(self, contract_address: str) -> dict: @sync_bind(AsyncWasmAPI.contract_query) def contract_query( - self, contract_address: str, query_msg: dict, height: Optional[int] = 0 + self, contract_address: str, query_msg: dict, contract_code_hash: Optional[str] = None, height: Optional[int] = 0 ) -> Any: pass diff --git a/secret_sdk/util/encrypt_utils.py b/secret_sdk/util/encrypt_utils.py index 8998459..75164f9 100644 --- a/secret_sdk/util/encrypt_utils.py +++ b/secret_sdk/util/encrypt_utils.py @@ -89,7 +89,7 @@ def get_tx_encryption_key(self, nonce): return tx_encryption_key - def encrypt(self, contract_code_hash: str, msg: Any): + def encrypt(self, contract_code_hash: str, msg: Any) -> List[int]: nonce = self.generate_new_seed() tx_encryption_key = self.get_tx_encryption_key(nonce) From f6b0bd71a077bb0ead2efb0456004f64f8752c93 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 12:22:03 -0400 Subject: [PATCH 16/47] Add query by block height, fix contract hash caching --- secret_sdk/client/lcd/api/bank.py | 19 ++++++++++--------- secret_sdk/client/lcd/api/wasm.py | 10 +++++++--- secret_sdk/client/lcd/lcdclient.py | 10 ++++++++-- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/secret_sdk/client/lcd/api/bank.py b/secret_sdk/client/lcd/api/bank.py index fd69dfa..6aef6b0 100644 --- a/secret_sdk/client/lcd/api/bank.py +++ b/secret_sdk/client/lcd/api/bank.py @@ -10,7 +10,7 @@ class AsyncBankAPI(BaseAsyncAPI): async def balance( - self, address: AccAddress, params: Optional[APIParams] = None + self, address: AccAddress, params: Optional[APIParams] = None, block_height: Optional[int] = 0 ) -> (Coins, dict): """Fetches an account's current balance. @@ -22,21 +22,22 @@ async def balance( Coins: balance Pagination: pagination info """ - res = await self._c._get(f"/cosmos/bank/v1beta1/balances/{address}", params) + res = await self._c._get(f"/cosmos/bank/v1beta1/balances/{address}", params, block_height=block_height) return Coins.from_data(res["balances"]), res.get("pagination") - async def total(self, params: Optional[APIParams] = None) -> (Coins, dict): + async def total(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): """Fetches the current total supply of all tokens. Returns: Coins: total supply params (APIParams, optional): additional params for the API like pagination """ - res = await self._c._get("/cosmos/bank/v1beta1/supply", params) + res = await self._c._get("/cosmos/bank/v1beta1/supply", params, block_height=block_height) return Coins.from_data(res.get("supply")), res.get("pagination") async def spendable_balances( - self, address: AccAddress, params: Optional[APIParams] = None + self, address: AccAddress, params: Optional[APIParams] = None, + block_height: Optional[int] = 0 ) -> (Coins, dict): """Queries the spenable balance of all coins for a single account @@ -45,7 +46,7 @@ async def spendable_balances( params (APIParams, optional): additional params for the API like pagination """ res = await self._c._get( - f"/cosmos/bank/v1beta1/spendable_balances/{address}", params + f"/cosmos/bank/v1beta1/spendable_balances/{address}", params, block_height=block_height ) return Coins.from_data(res.get("balances")), res.get("pagination") @@ -53,18 +54,18 @@ async def spendable_balances( class BankAPI(AsyncBankAPI): @sync_bind(AsyncBankAPI.balance) def balance( - self, address: AccAddress, params: Optional[APIParams] = None + self, address: AccAddress, params: Optional[APIParams] = None, block_height: Optional[int] = 0 ) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ @sync_bind(AsyncBankAPI.total) - def total(self, params: Optional[APIParams] = None) -> (Coins, dict): + def total(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): pass @sync_bind(AsyncBankAPI.spendable_balances) - def spendable_balances(self, params: Optional[APIParams] = None) -> (Coins, dict): + def spendable_balances(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index 191040a..c54ace9 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -103,17 +103,19 @@ async def contract_query( self.contract_hash(contract_address) ) _contract_code_hash[contract_address] = contract_code_hash + else: + contract_code_hash = _contract_code_hash[contract_address] encrypted = self._c.encrypt_utils.encrypt(contract_code_hash, query_str) # first 32 bytes are the nonce nonce = encrypted[0:32] # base64 over the wire - params = {'contract_address': contract_address, 'query': base64.b64encode(bytes(encrypted))} + params = {'contract_address': contract_address, 'query': base64.b64encode(bytes(encrypted)).decode('utf-8')} query_path = f"/compute/v1beta1/query/{contract_address}" - query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params)) + query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params, block_height=height)) encoded_result = base64.b64decode(bytes(query_result["data"], "utf-8")) - decrypted = self._c.utils.decrypt(encoded_result, nonce) + decrypted = self._c.encrypt_utils.decrypt(encoded_result, nonce) return json.loads(base64.b64decode(decrypted)) async def contract_execute_msg( @@ -130,6 +132,8 @@ async def contract_execute_msg( self.contract_hash(contract_address) ) _contract_code_hash[contract_address] = contract_code_hash + else: + contract_code_hash = _contract_code_hash[contract_address] return MsgExecuteContract( sender_address, contract_address, msg=handle_msg, sent_funds=transfer_amount, code_hash=contract_code_hash ) diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index f192730..2a197a8 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -1,5 +1,6 @@ from __future__ import annotations +import copy from asyncio import AbstractEventLoop, get_event_loop from json import JSONDecodeError from threading import Lock @@ -126,7 +127,7 @@ async def _get( self, endpoint: str, params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, - # raw: bool = False + block_height: int = 0 ): if ( params @@ -135,6 +136,9 @@ async def _get( ): params = params.to_dict() + if block_height: + self.session.headers['x-cosmos-block-height'] = str(block_height) + async with self.session.get( urljoin(self.url, endpoint), params=params ) as response: @@ -147,7 +151,9 @@ async def _get( self.last_request_height = ( result.get("height") if result else self.last_request_height ) - return result # if raw else result["result"] + if block_height: + self.session.headers.pop('x-cosmos-block-height') + return result async def _post( self, endpoint: str, data: Optional[dict] = None # , raw: bool = False From 0b47c2c212d56136320354db249aa1de2ce9b1b2 Mon Sep 17 00:00:00 2001 From: paul-HDD Date: Tue, 11 Oct 2022 12:22:38 -0400 Subject: [PATCH 17/47] Add integration test query contract --- integration_tests/query_contract.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 integration_tests/query_contract.py diff --git a/integration_tests/query_contract.py b/integration_tests/query_contract.py new file mode 100644 index 0000000..20132be --- /dev/null +++ b/integration_tests/query_contract.py @@ -0,0 +1,11 @@ +from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id, test_net_chain_id +from secret_sdk.core.coins import Coins + +secret = LocalSecret(chain_id=main_net_chain_id) +contract = 'secret1rgky3ns9ua09rt059049yl0zqf3xjqxne7ezhp' +hash = '0dfd06c7c3c482c14d36ba9826b83d164003f2b0bb302f222db72361e0927490' +query = {"pool":{}} +height = 5589677 +a = secret.wasm.contract_query(contract, query) +b = secret.wasm.contract_query(contract, query, height=height) +assert a['assets'][0]['amount'] != b['assets'][0]['amount'] \ No newline at end of file From b29f91dd24fc134f50d60cd442f94d419ca47bbd Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 12:48:30 -0400 Subject: [PATCH 18/47] Spring cleaning --- .gitmodules | 3 --- secret.proto | 1 - secret_sdk/client/lcd/lcdclient.py | 1 - 3 files changed, 5 deletions(-) delete mode 160000 secret.proto diff --git a/.gitmodules b/.gitmodules index b78713e..e69de29 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "secret.proto"] - path = secret.proto - url = https://github.com/stephanegg/secret.proto diff --git a/secret.proto b/secret.proto deleted file mode 160000 index 66b8b8e..0000000 --- a/secret.proto +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 66b8b8e1d92443d5e96c1a6d677df676ad124587 diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 2a197a8..a4e75d1 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -11,7 +11,6 @@ from multidict import CIMultiDict from secret_sdk.core import Coins, Dec, Numeric -from secret_sdk.core import StdFee from secret_sdk.exceptions import LCDResponseError from secret_sdk.key.key import Key from secret_sdk.util.json import dict_to_data From 61d0ff78cbfc404b51ee93d81dcf2ad0ebbfe224 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 13:08:31 -0400 Subject: [PATCH 19/47] Remove block height as arg of function, nest it into params --- secret_sdk/client/lcd/api/bank.py | 18 ++++++++-------- secret_sdk/client/lcd/api/staking.py | 32 ++++++++++++++++++++-------- secret_sdk/client/lcd/api/wasm.py | 9 ++++++-- secret_sdk/client/lcd/lcdclient.py | 7 +++--- 4 files changed, 43 insertions(+), 23 deletions(-) diff --git a/secret_sdk/client/lcd/api/bank.py b/secret_sdk/client/lcd/api/bank.py index 6aef6b0..5be1cb1 100644 --- a/secret_sdk/client/lcd/api/bank.py +++ b/secret_sdk/client/lcd/api/bank.py @@ -10,7 +10,7 @@ class AsyncBankAPI(BaseAsyncAPI): async def balance( - self, address: AccAddress, params: Optional[APIParams] = None, block_height: Optional[int] = 0 + self, address: AccAddress, params: Optional[APIParams] = None, ) -> (Coins, dict): """Fetches an account's current balance. @@ -22,22 +22,22 @@ async def balance( Coins: balance Pagination: pagination info """ - res = await self._c._get(f"/cosmos/bank/v1beta1/balances/{address}", params, block_height=block_height) + res = await self._c._get(f"/cosmos/bank/v1beta1/balances/{address}", params) return Coins.from_data(res["balances"]), res.get("pagination") - async def total(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): + async def total(self, params: Optional[APIParams] = None, ) -> (Coins, dict): """Fetches the current total supply of all tokens. Returns: Coins: total supply params (APIParams, optional): additional params for the API like pagination """ - res = await self._c._get("/cosmos/bank/v1beta1/supply", params, block_height=block_height) + res = await self._c._get("/cosmos/bank/v1beta1/supply", params) return Coins.from_data(res.get("supply")), res.get("pagination") async def spendable_balances( self, address: AccAddress, params: Optional[APIParams] = None, - block_height: Optional[int] = 0 + ) -> (Coins, dict): """Queries the spenable balance of all coins for a single account @@ -46,7 +46,7 @@ async def spendable_balances( params (APIParams, optional): additional params for the API like pagination """ res = await self._c._get( - f"/cosmos/bank/v1beta1/spendable_balances/{address}", params, block_height=block_height + f"/cosmos/bank/v1beta1/spendable_balances/{address}", params ) return Coins.from_data(res.get("balances")), res.get("pagination") @@ -54,18 +54,18 @@ async def spendable_balances( class BankAPI(AsyncBankAPI): @sync_bind(AsyncBankAPI.balance) def balance( - self, address: AccAddress, params: Optional[APIParams] = None, block_height: Optional[int] = 0 + self, address: AccAddress, params: Optional[APIParams] = None ) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ @sync_bind(AsyncBankAPI.total) - def total(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): + def total(self, params: Optional[APIParams] = None) -> (Coins, dict): pass @sync_bind(AsyncBankAPI.spendable_balances) - def spendable_balances(self, params: Optional[APIParams] = None, block_height: Optional[int] = 0) -> (Coins, dict): + def spendable_balances(self, params: Optional[APIParams] = None) -> (Coins, dict): pass balance.__doc__ = AsyncBankAPI.balance.__doc__ diff --git a/secret_sdk/client/lcd/api/staking.py b/secret_sdk/client/lcd/api/staking.py index a4fc621..6f4707d 100644 --- a/secret_sdk/client/lcd/api/staking.py +++ b/secret_sdk/client/lcd/api/staking.py @@ -53,6 +53,7 @@ async def delegations( delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[Delegation], dict): """Fetches current delegations, filtering by delegator, validator, or both. @@ -94,7 +95,8 @@ async def delegations( raise TypeError("arguments delegator and validator cannot both be None") async def delegation( - self, delegator: AccAddress, validator: ValAddress + self, delegator: AccAddress, validator: ValAddress, + ) -> Delegation: """Fetch a single delegation via a delegator, validator pair. @@ -116,6 +118,7 @@ async def unbonding_delegations( delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[UnbondingDelegation], dict): """Fetches current undelegations, filtering by delegator, validator, or both. @@ -159,7 +162,8 @@ async def unbonding_delegations( raise TypeError("arguments delegator and validator cannot both be None") async def unbonding_delegation( - self, delegator: AccAddress, validator: ValAddress + self, delegator: AccAddress, validator: ValAddress, + ) -> UnbondingDelegation: """Fetch a single undelegation via a delegator, validator pair. @@ -181,6 +185,7 @@ async def redelegations( validator_src: Optional[ValAddress] = None, validator_dst: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[Redelegation], dict): """Fetch redelgations. @@ -213,7 +218,8 @@ async def redelegations( ], res.get("pagination") async def bonded_validators( - self, delegator: AccAddress, params: Optional[PaginationOptions] = None + self, delegator: AccAddress, params: Optional[PaginationOptions] = None, + ) -> (List[Validator], dict): """Fetches the list of validators a delegator is currently delegating to. @@ -233,7 +239,8 @@ async def bonded_validators( ) async def validators( - self, params: Optional[APIParams] = None + self, params: Optional[APIParams] = None, + ) -> (List[Validator], dict): """Fetch information of all validators. @@ -249,7 +256,8 @@ async def validators( "pagination" ) - async def validator(self, validator: ValAddress) -> Validator: + async def validator(self, validator: ValAddress, + ) -> Validator: """Fetch information about a single validator. Args: @@ -298,13 +306,15 @@ def delegations( delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[Delegation], dict): pass delegations.__doc__ = AsyncStakingAPI.delegations.__doc__ @sync_bind(AsyncStakingAPI.delegation) - def delegation(self, delegator: AccAddress, validator: ValAddress) -> Delegation: + def delegation(self, delegator: AccAddress, validator: ValAddress, + ) -> Delegation: pass delegation.__doc__ = AsyncStakingAPI.delegation.__doc__ @@ -315,6 +325,7 @@ def unbonding_delegations( delegator: Optional[AccAddress] = None, validator: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[UnbondingDelegation], dict): pass @@ -322,7 +333,8 @@ def unbonding_delegations( @sync_bind(AsyncStakingAPI.unbonding_delegation) def unbonding_delegation( - self, delegator: AccAddress, validator: ValAddress + self, delegator: AccAddress, validator: ValAddress, + ) -> UnbondingDelegation: pass @@ -335,6 +347,7 @@ def redelegations( validator_src: Optional[ValAddress] = None, validator_dst: Optional[ValAddress] = None, params: Optional[APIParams] = None, + ) -> (List[Redelegation], dict): pass @@ -342,14 +355,15 @@ def redelegations( @sync_bind(AsyncStakingAPI.bonded_validators) def bonded_validators( - self, delegator: AccAddress, params: Optional[PaginationOptions] = None + self, delegator: AccAddress, params: Optional[PaginationOptions] = None, + ) -> (List[Validator], dict): pass bonded_validators.__doc__ = AsyncStakingAPI.bonded_validators.__doc__ @sync_bind(AsyncStakingAPI.validators) - def validators(self, params: Optional[APIParams]) -> (List[Validator], dict): + def validators(self, params: Optional[APIParams], ) -> (List[Validator], dict): pass validators.__doc__ = AsyncStakingAPI.validators.__doc__ diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index c54ace9..1218bfa 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -109,10 +109,15 @@ async def contract_query( # first 32 bytes are the nonce nonce = encrypted[0:32] # base64 over the wire - params = {'contract_address': contract_address, 'query': base64.b64encode(bytes(encrypted)).decode('utf-8')} + params = { + 'contract_address': contract_address, + 'query': base64.b64encode(bytes(encrypted)).decode('utf-8') + } + if height: + params['block_height'] = str(height) query_path = f"/compute/v1beta1/query/{contract_address}" - query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params, block_height=height)) + query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params)) encoded_result = base64.b64decode(bytes(query_result["data"], "utf-8")) decrypted = self._c.encrypt_utils.decrypt(encoded_result, nonce) diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index a4e75d1..cdb6706 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -125,8 +125,7 @@ def wallet(self, key: Key) -> AsyncWallet: async def _get( self, endpoint: str, - params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, - block_height: int = 0 + params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None ): if ( params @@ -135,7 +134,9 @@ async def _get( ): params = params.to_dict() - if block_height: + block_height = 0 + if 'block_height' in params: + block_height = params.pop('block_height') self.session.headers['x-cosmos-block-height'] = str(block_height) async with self.session.get( From 30193c07169692da357cd307dd037ee108b324a6 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 16:58:06 -0400 Subject: [PATCH 20/47] Add time out & retries --- secret_sdk/client/lcd/api/wasm.py | 9 ++- secret_sdk/client/lcd/lcdclient.py | 99 ++++++++++++------------------ 2 files changed, 46 insertions(+), 62 deletions(-) diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index 1218bfa..62f4d0e 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -85,7 +85,7 @@ async def contract_hash(self, contract_address: str) -> str: async def contract_query( self, contract_address: str, query: dict, contract_code_hash: Optional[str] = None, - height: Optional[int] = 0 + height: Optional[int] = 0, timeout: Optional[int] = 15, retry_attempts: Optional[int] = 1 ) -> Any: """Runs a QueryMsg on a contract. @@ -117,7 +117,9 @@ async def contract_query( params['block_height'] = str(height) query_path = f"/compute/v1beta1/query/{contract_address}" - query_result = await BaseAsyncAPI._try_await(self._c._get(query_path, params=params)) + query_result = await BaseAsyncAPI._try_await( + self._c._get(query_path, params=params, timeout=timeout, retry_attempts=retry_attempts) + ) encoded_result = base64.b64decode(bytes(query_result["data"], "utf-8")) decrypted = self._c.encrypt_utils.decrypt(encoded_result, nonce) @@ -183,7 +185,8 @@ def contract_hash(self, contract_address: str) -> dict: @sync_bind(AsyncWasmAPI.contract_query) def contract_query( - self, contract_address: str, query_msg: dict, contract_code_hash: Optional[str] = None, height: Optional[int] = 0 + self, contract_address: str, query_msg: dict, contract_code_hash: Optional[str] = None, + height: Optional[int] = 0, timeout: Optional[int] = 15, retry_attempts: Optional[int] = 1 ) -> Any: pass diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index cdb6706..72e612b 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -1,7 +1,7 @@ from __future__ import annotations import copy -from asyncio import AbstractEventLoop, get_event_loop +from asyncio import AbstractEventLoop, get_event_loop, TimeoutError from json import JSONDecodeError from threading import Lock from typing import Optional, Union, List @@ -64,6 +64,11 @@ "083b1a03661211d5a4cc8d39a77795795862f7730645573b2bcc2c1920c53c04" ) +REQUEST_CONFIG = { + "GET_TIMEOUT": 15, + "POST_TIMEOUT": 30, + "GET_RETRY": 1 +} class AsyncLCDClient: def __init__( @@ -75,7 +80,9 @@ def __init__( custom_fees: Optional[dict] = default_fees, loop: Optional[AbstractEventLoop] = None, _create_session: bool = True, # don't create a session (used for sync LCDClient) + _request_config: Optional[dict] = REQUEST_CONFIG ): + self._request_config = _request_config if loop is None: loop = get_event_loop() self.loop = loop @@ -125,7 +132,9 @@ def wallet(self, key: Key) -> AsyncWallet: async def _get( self, endpoint: str, - params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None + params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, + timeout: Optional[int] = None, + retry_attempts: Optional[int] = None ): if ( params @@ -138,16 +147,27 @@ async def _get( if 'block_height' in params: block_height = params.pop('block_height') self.session.headers['x-cosmos-block-height'] = str(block_height) + current_attempt = 0 + + timeout, retry_attempts = timeout or self._request_config['GET_TIMEOUT'], retry_attempts or self._request_config['GET_RETRY'] + while True: + current_attempt += 1 + async with self.session.get( + urljoin(self.url, endpoint), params=params, timeout=timeout + ) as response: + try: + result = await response.json(content_type=None) + except TimeoutError: + if current_attempt < retry_attempts: + continue + raise TimeoutError(f'{urljoin(self.url, endpoint)}, time out after {str(current_attempt)} attempts') + except Exception as e: + if current_attempt < retry_attempts: + continue + raise e + if not 200 <= response.status < 299: + raise LCDResponseError(message=str(result), response=response) - async with self.session.get( - urljoin(self.url, endpoint), params=params - ) as response: - try: - result = await response.json(content_type=None) - except JSONDecodeError: - raise LCDResponseError(message=str(response.reason), response=response) - if not 200 <= response.status < 299: - raise LCDResponseError(message=str(result), response=response) self.last_request_height = ( result.get("height") if result else self.last_request_height ) @@ -156,53 +176,25 @@ async def _get( return result async def _post( - self, endpoint: str, data: Optional[dict] = None # , raw: bool = False - ): - async with self.session.post( - urljoin(self.url, endpoint), json=data and dict_to_data(data) - ) as response: - try: - result = await response.json(content_type=None) - except JSONDecodeError: - raise LCDResponseError(message=str(response.reason), response=response) - if not 200 <= response.status < 299: - raise LCDResponseError(message=result.get("message"), response=response) - self.last_request_height = ( - result.get("height") if result else self.last_request_height - ) - return result # if raw else result["result"] - - async def _search( self, - events: List[list], - params: Optional[Union[APIParams, CIMultiDict, list, dict]] = None, - # raw: bool = False + endpoint: str, + data: Optional[dict] = None ): - actual_params: CIMultiDict = CIMultiDict() - - for event in events: - if event[0] == "tx.height": - actual_params.add("events", f"{event[0]}={event[1]}") - else: - actual_params.add("events", f"{event[0]}='{event[1]}'") - if params: - for p in params: - actual_params.add(p, params[p]) - - async with self.session.get( - urljoin(self.url, "/cosmos/tx/v1beta1/txs"), params=actual_params + async with self.session.post( + urljoin(self.url, endpoint), json=data and dict_to_data(data), timeout=self._request_config["POST_TIMEOUT"] ) as response: try: result = await response.json(content_type=None) - except JSONDecodeError: - raise LCDResponseError(message=str(response.reason), response=response) + except Exception as e: + raise LCDResponseError(message=str(e), response=str(e)) if not 200 <= response.status < 299: - raise LCDResponseError(message=str(result), response=response) + raise LCDResponseError(message=result.get("error"), response=response) self.last_request_height = ( result.get("height") if result else self.last_request_height ) - return result # if raw else result["result"] + return result + async def __aenter__(self): return self @@ -359,14 +351,3 @@ async def _post(self, *args, **kwargs): await self.session.close() return result - async def _search(self, *args, **kwargs): - # session has to be manually created and torn down for each HTTP request in a - # synchronous client - self.session = ClientSession( - headers={"Accept": "application/json"}, loop=self.loop - ) - try: - result = await super()._search(*args, **kwargs) - finally: - await self.session.close() - return result From 61176af844953050a5536b3b7991bb22adf461b1 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 17:10:49 -0400 Subject: [PATCH 21/47] Add execute / multi execute --- secret_sdk/client/lcd/wallet.py | 163 +++++++++++++++++++++++--------- 1 file changed, 116 insertions(+), 47 deletions(-) diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index da2c917..2a75b79 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -2,6 +2,7 @@ from typing import Dict, List, Optional +from secret_sdk.core.msg import Msg from secret_sdk.core import AccAddress, Coins, Numeric from secret_sdk.core.tx import Tx from secret_sdk.core.bank import MsgSend @@ -60,26 +61,16 @@ async def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: encryption_utils=self.lcd.encrypt_utils ) - async def execute_tx( - self, - contract_addr: str, - handle_msg: List[Dict], - memo: str = "", - transfer_amount: Coins = None, - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - broadcast_mode: Optional[BroadcastMode] = None + async def create_and_broadcast_tx( + self, + msg_list: List[Msg], + memo: str = "", + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None ): - - msg_list = [] - for msg in handle_msg: - execute_msg = await self.lcd.wasm.contract_execute_msg( - self.key.acc_address, contract_addr, msg, transfer_amount - ) - msg_list.append(execute_msg) - create_tx_options = CreateTxOptions( msgs=msg_list, memo=memo, @@ -91,13 +82,57 @@ async def execute_tx( if gas is None or gas_prices is None: fee = self.lcd.custom_fees["exec"] - create_tx_options.fee=fee + create_tx_options.fee = fee signed_tx = await self.create_and_sign_tx(create_tx_options) broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK - tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode = broadcast_mode) + tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx + + async def execute_tx( + self, + contract_addr: str, + handle_msg: Dict, + memo: str = "", + transfer_amount: Coins = None, + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + ): + + execute_msg = await self.lcd.wasm.contract_execute_msg( + self.key.acc_address, contract_addr, handle_msg, transfer_amount + ) + return await self.create_and_broadcast_tx( + [execute_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode + ) + + async def multi_execute_tx( + self, + input_msgs: List[Dict], + memo: str = "", + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + ): + msgs = [] + for input_msg in input_msgs: + # input_msg should be a Dict with contract_addr and handle_msg keys + contract_addr = input_msg['contract_addr'] + handle_msg = input_msg['handle_msg'] + transfer_amount = input_msg.get('transfer_amount', Coins()) + execute_msg = await self.lcd.wasm.contract_execute_msg(self.key.acc_address, contract_addr, handle_msg, + transfer_amount) + msgs.append(execute_msg) + return await self.create_and_broadcast_tx( + msgs, memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode + ) + async def send_tokens( self, recipient_addr: AccAddress, @@ -207,9 +242,51 @@ def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: ) def execute_tx( + self, + contract_addr: str, + handle_msg: Dict, + memo: str = "", + transfer_amount: Coins = None, + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + ): + + execute_msg = self.lcd.wasm.contract_execute_msg( + self.key.acc_address, contract_addr, handle_msg, transfer_amount + ) + return self.create_and_broadcast_tx( + [execute_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode + ) + + def multi_execute_tx( + self, + input_msgs: List[Dict], + memo: str = "", + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + ): + msgs = [] + for input_msg in input_msgs: + # input_msg should be a Dict with contract_addr and handle_msg keys + contract_addr = input_msg['contract_addr'] + handle_msg = input_msg['handle_msg'] + transfer_amount = input_msg.get('transfer_amount', Coins()) + execute_msg = self.lcd.wasm.contract_execute_msg(self.key.acc_address, contract_addr, handle_msg, + transfer_amount) + msgs.append(execute_msg) + return self.create_and_broadcast_tx( + msgs, memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode + ) + + def send_tokens( self, - contract_addr: str, - handle_msg: List[Dict], + recipient_addr: AccAddress, memo: str = "", transfer_amount: Coins = None, gas: Optional[int] = None, @@ -219,24 +296,18 @@ def execute_tx( broadcast_mode: Optional[BroadcastMode] = None ): - msg_list = [] - for msg in handle_msg: - execute_msg = self.lcd.wasm.contract_execute_msg( - self.key.acc_address, contract_addr, msg, transfer_amount - ) - msg_list.append(execute_msg) - + send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) create_tx_options = CreateTxOptions( - msgs=msg_list, + msgs=[send_msg], memo=memo, gas=str(gas), gas_prices=gas_prices, - gas_adjustment=gas_adjustment or 0, + gas_adjustment=gas_adjustment, fee_denoms=fee_denoms ) if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] + fee = self.lcd.custom_fees["send"] create_tx_options.fee = fee signed_tx = self.create_and_sign_tx(create_tx_options) @@ -244,21 +315,18 @@ def execute_tx( tx = self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx - def send_tokens( - self, - recipient_addr: AccAddress, - memo: str = "", - transfer_amount: Coins = None, - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - broadcast_mode: Optional[BroadcastMode] = None - + def create_and_broadcast_tx( + self, + msg_list: List[Msg], + memo: str = "", + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None ): - send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) create_tx_options = CreateTxOptions( - msgs=[send_msg], + msgs=msg_list, memo=memo, gas=str(gas), gas_prices=gas_prices, @@ -267,10 +335,11 @@ def send_tokens( ) if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["send"] + fee = self.lcd.custom_fees["exec"] create_tx_options.fee = fee signed_tx = self.create_and_sign_tx(create_tx_options) broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK tx = self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) return tx + From 4996462ec0621009daac67e24211af472826d3e6 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 17:32:08 -0400 Subject: [PATCH 22/47] Fix mnemonic test --- tests/key/mnemonic_test.py | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/tests/key/mnemonic_test.py b/tests/key/mnemonic_test.py index 7d7094e..c95c65a 100644 --- a/tests/key/mnemonic_test.py +++ b/tests/key/mnemonic_test.py @@ -1,6 +1,11 @@ -from secret_sdk.core.auth import StdFee, StdSignMsg from secret_sdk.core.bank import MsgSend from secret_sdk.key.mnemonic import MnemonicKey +from secret_sdk.core import SignDoc +import base64 + +from secret_sdk.core.tx import AuthInfo, SignerInfo, SignMode, Tx, TxBody +from secret_sdk.core.fee import Fee +from secret_sdk.core import Coins, Numeric def test_derivation(): @@ -36,11 +41,19 @@ def test_signature(): dict(uscrt="1000000"), ) - fee = StdFee(46467, dict(uscrt=698)) + tx_body=TxBody([send]) + + auth_info=AuthInfo(signer_infos=[], fee=Fee(Numeric.parse(46467), Coins('698uscrt'))) - stdsignmsg = StdSignMsg("holodeck-2", 45, 0, fee, [send], "") - signature = mk.create_signature(stdsignmsg).signature + signDoc = SignDoc( + chain_id="holodeck-2", + account_number=45, + sequence=0, + auth_info=auth_info, + tx_body=tx_body, + ) + signature = mk.create_signature(signDoc) assert ( - signature - == "kQU4QYxIlMRL+441WJqHSbYKufctVeACi5bRjbxPZltqjdaKuxDVOsY/rDM3TKYqBFk7dueEXQmCle/D1K0puw==" + base64.b64encode(signature.data.single.signature).decode('utf-8') + == "67xBRB2QYsPYl4wPvlYYcOKoJaMHS08R1dfNJU5YIdcf8EFsEmRwpFSI6/LtUuk+r6uAiuWN6+sNF+LPeQdpUg==" ) From 3df3c366596be7ff1df552b0e8dc8112ffcf9812 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sat, 15 Oct 2022 23:32:29 +0100 Subject: [PATCH 23/47] Fix conflicts + use create_and_broadcast in send_tokens + default gas adjustement --- Makefile | 1 + integration_tests/endpoints.py | 4 +- secret_sdk/client/lcd/api/wasm.py | 3 +- secret_sdk/client/lcd/wallet.py | 90 +++++++++++-------------------- secret_sdk/core/coins.py | 4 +- secret_sdk/core/msg.py | 9 ++-- secret_sdk/core/sign_doc.py | 8 +-- secret_sdk/core/tx.py | 6 +-- secret_sdk/core/wasm/msgs.py | 16 +++--- secret_sdk/key/key.py | 9 ++-- secret_sdk/util/base.py | 8 +-- 11 files changed, 66 insertions(+), 92 deletions(-) diff --git a/Makefile b/Makefile index 860fe35..60f53bd 100644 --- a/Makefile +++ b/Makefile @@ -54,6 +54,7 @@ clean-test: ## remove test and coverage artifacts rm -fr .pytest_cache test: ## runs tests + export PYTHONPATH="/Users/stephaneguilhermegomes/Projects/Secret/repos/secretanalytics-secret-sdk-python/bip32utils:$PYTHONPATH" poetry run pytest qa: ## runs static analysis with mypy and flake8 diff --git a/integration_tests/endpoints.py b/integration_tests/endpoints.py index ab981ad..08e7afd 100644 --- a/integration_tests/endpoints.py +++ b/integration_tests/endpoints.py @@ -49,8 +49,8 @@ res, pagination = secret.staking.unbonding_delegations(delegator=delegator_address) print(res, pagination) -res = secret.staking.redelegations() -print(res) +#res = secret.staking.redelegations() +#print(res) res = secret.staking.redelegations(delegator=delegator_address) print(res) res = secret.staking.redelegations(delegator=delegator_address, validator_src=validator_address) diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index 62f4d0e..c40c9fd 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -142,7 +142,8 @@ async def contract_execute_msg( else: contract_code_hash = _contract_code_hash[contract_address] return MsgExecuteContract( - sender_address, contract_address, msg=handle_msg, sent_funds=transfer_amount, code_hash=contract_code_hash + sender_address, contract_address, msg=handle_msg, sent_funds=transfer_amount, code_hash=contract_code_hash, + encryption_utils=self._c.encrypt_utils ) diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 2a75b79..6ec39c3 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -57,39 +57,9 @@ async def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: account_number=account_number, sequence=sequence, chain_id=self.lcd.chain_id - ), - encryption_utils=self.lcd.encrypt_utils - ) - - async def create_and_broadcast_tx( - self, - msg_list: List[Msg], - memo: str = "", - gas: Optional[int] = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, - fee_denoms: Optional[List[str]] = None, - broadcast_mode: Optional[BroadcastMode] = None - ): - create_tx_options = CreateTxOptions( - msgs=msg_list, - memo=memo, - gas=str(gas), - gas_prices=gas_prices, - gas_adjustment=gas_adjustment, - fee_denoms=fee_denoms + ) ) - if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] - create_tx_options.fee = fee - - signed_tx = await self.create_and_sign_tx(create_tx_options) - broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK - tx = await self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) - return tx - - async def execute_tx( self, contract_addr: str, @@ -98,11 +68,10 @@ async def execute_tx( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): - execute_msg = await self.lcd.wasm.contract_execute_msg( self.key.acc_address, contract_addr, handle_msg, transfer_amount ) @@ -116,7 +85,7 @@ async def multi_execute_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -140,13 +109,29 @@ async def send_tokens( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) + if gas is None or gas_prices is None: + gas_prices = self.lcd.gas_prices + gas = self.lcd.custom_fees["send"].gas_limit + + return await self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode) + + async def create_and_broadcast_tx( + self, + msg_list: List[Msg], + memo: str = "", + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + ): create_tx_options = CreateTxOptions( - msgs=[send_msg], + msgs=msg_list, memo=memo, gas=str(gas), gas_prices=gas_prices, @@ -155,7 +140,7 @@ async def send_tokens( ) if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["send"] + fee = self.lcd.custom_fees["exec"] create_tx_options.fee = fee signed_tx = await self.create_and_sign_tx(create_tx_options) @@ -237,8 +222,7 @@ def create_and_sign_tx(self, options: CreateTxOptions) -> Tx: account_number=account_number, sequence=sequence, chain_id=self.lcd.chain_id, - ), - encryption_utils=self.lcd.encrypt_utils + ) ) def execute_tx( @@ -249,7 +233,7 @@ def execute_tx( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -267,7 +251,7 @@ def multi_execute_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -291,29 +275,19 @@ def send_tokens( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): - send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) - create_tx_options = CreateTxOptions( - msgs=[send_msg], - memo=memo, - gas=str(gas), - gas_prices=gas_prices, - gas_adjustment=gas_adjustment, - fee_denoms=fee_denoms - ) + send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["send"] - create_tx_options.fee = fee + gas_prices = self.lcd.gas_prices + gas = self.lcd.custom_fees["send"].gas_limit - signed_tx = self.create_and_sign_tx(create_tx_options) - broadcast_mode = broadcast_mode if broadcast_mode else BroadcastMode.BROADCAST_MODE_BLOCK - tx = self.lcd.tx.broadcast_adapter(signed_tx, mode=broadcast_mode) - return tx + return self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, + broadcast_mode) def create_and_broadcast_tx( self, @@ -321,7 +295,7 @@ def create_and_broadcast_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_adjustment: Optional[Numeric.Input] = 1, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): diff --git a/secret_sdk/core/coins.py b/secret_sdk/core/coins.py index 69c8c23..9d4fc46 100755 --- a/secret_sdk/core/coins.py +++ b/secret_sdk/core/coins.py @@ -144,8 +144,8 @@ def from_proto(cls, proto: List[Coin_pb]) -> Coins: def to_proto(self) -> List[Coin_pb]: return [coin.to_proto() for coin in self] - def to_dict(self) -> List[dict]: - return [coin.to_dict for coin in self] + def to_dict(self) -> Dict: + return {coin.denom: coin.amount for coin in self} def denoms(self) -> List[str]: """Get the list of denoms for all Coin objects contained.""" diff --git a/secret_sdk/core/msg.py b/secret_sdk/core/msg.py index a93f92c..1a1ca9b 100755 --- a/secret_sdk/core/msg.py +++ b/secret_sdk/core/msg.py @@ -3,17 +3,14 @@ from betterproto.lib.google.protobuf import Any as Any_pb from secret_sdk.util.base import BaseSecretData -from typing import Optional -from secret_sdk.util.encrypt_utils import EncryptionUtils - class Msg(BaseSecretData): - def to_proto(self, encryption_utils: Optional[EncryptionUtils]): + def to_proto(self): raise NotImplementedError - def pack_any(self, encryption_utils: Optional[EncryptionUtils]) -> Any_pb: - return Any_pb(type_url=self.type_url, value=bytes(self.to_proto(encryption_utils))) + def pack_any(self) -> Any_pb: + return Any_pb(type_url=self.type_url, value=bytes(self.to_proto())) @staticmethod def from_data(data: dict) -> Msg: diff --git a/secret_sdk/core/sign_doc.py b/secret_sdk/core/sign_doc.py index 0c805a7..01d80c4 100755 --- a/secret_sdk/core/sign_doc.py +++ b/secret_sdk/core/sign_doc.py @@ -67,16 +67,16 @@ def from_proto(cls, proto: SignDoc_pb) -> SignDoc: tx_body=TxBody.from_proto(proto.body_bytes), ) - def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> SignDoc_pb: + def to_proto(self) -> SignDoc_pb: return SignDoc_pb( - body_bytes=bytes(self.tx_body.to_proto(encryption_utils)), + body_bytes=bytes(self.tx_body.to_proto()), auth_info_bytes=bytes(self.auth_info.to_proto()), chain_id=self.chain_id, account_number=self.account_number, ) - def to_bytes(self, encryption_utils: Optional[EncryptionUtils] = None) -> bytes: - return bytes(self.to_proto(encryption_utils)) + def to_bytes(self) -> bytes: + return bytes(self.to_proto()) def to_amino_json(self) -> bytes: amino = self.to_amino() diff --git a/secret_sdk/core/tx.py b/secret_sdk/core/tx.py index 66c27b2..64ca1b3 100755 --- a/secret_sdk/core/tx.py +++ b/secret_sdk/core/tx.py @@ -231,8 +231,6 @@ def from_data(cls, data: dict) -> SearchTxsResponse: ) - - SignMode = SignMode_pb @@ -364,9 +362,9 @@ def to_data(self) -> dict: "timeout_height": self.timeout_height, } - def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> TxBody_pb: + def to_proto(self) -> TxBody_pb: return TxBody_pb( - messages=[m.pack_any(encryption_utils) for m in self.messages], + messages=[m.pack_any() for m in self.messages], memo=self.memo, timeout_height=self.timeout_height, ) diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index fe927a8..bab8ca6 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -134,6 +134,8 @@ class MsgInstantiateContract(Msg): warn_code_hash: bool = False _msg_str: str = '' + encryption_utils: EncryptionUtils = None + def __attrs_post_init__(self): if self.code_hash: self.code_hash = self.code_hash.replace('0x', '').lower() @@ -153,11 +155,11 @@ def from_data(cls, data: dict) -> MsgInstantiateContract: init_funds=Coins.from_data(data["init_funds"]), ) - def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> MsgInstantiateContract_pb: - if not self.msg_encrypted and not encryption_utils: + def to_proto(self) -> MsgInstantiateContract_pb: + if not self.msg_encrypted and not self.encryption_utils: raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') if not self.msg_encrypted: - self.msg_encrypted = bytes(encryption_utils.encrypt(self.code_hash, self._msg_str)) + self.msg_encrypted = bytes(self.encryption_utils.encrypt(self.code_hash, self._msg_str)) return MsgInstantiateContract_pb( sender=address_to_bytes(self.sender), @@ -208,6 +210,8 @@ class MsgExecuteContract(Msg): warn_code_hash: bool = False _msg_str: str = '' + encryption_utils: Optional[EncryptionUtils] = None + def __attrs_post_init__(self): if self.code_hash: self.code_hash = self.code_hash.replace('0x', '').lower() @@ -230,11 +234,11 @@ def from_data(cls, data: dict) -> MsgExecuteContract: sent_funds=Coins.from_data(data["sent_funds"]), ) - def to_proto(self, encryption_utils: Optional[EncryptionUtils] = None) -> MsgExecuteContract_pb: - if not self.msg_encrypted and not encryption_utils: + def to_proto(self) -> MsgExecuteContract_pb: + if not self.msg_encrypted and not self.encryption_utils: raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') if not self.msg_encrypted: - self.msg_encrypted = bytes(encryption_utils.encrypt(self.code_hash, self._msg_str)) + self.msg_encrypted = bytes(self.encryption_utils.encrypt(self.code_hash, self._msg_str)) return MsgExecuteContract_pb( sender=address_to_bytes(self.sender), diff --git a/secret_sdk/key/key.py b/secret_sdk/key/key.py index 539c070..c7f8da1 100644 --- a/secret_sdk/key/key.py +++ b/secret_sdk/key/key.py @@ -145,7 +145,7 @@ def val_pubkey(self) -> ValPubKey: raise ValueError("could not compute val_pubkey: missing raw_pubkey") return ValPubKey(get_bech("secretvaloperpub", self.raw_pubkey.hex())) - def create_signature(self, sign_doc: SignDoc, encryption_utils: Optional[EncryptionUtils] = None) -> SignatureV2: + def create_signature(self, sign_doc: SignDoc) -> SignatureV2: """Signs the transaction with the signing algorithm provided by this Key implementation, and outputs the signature. The signature is only returned, and must be manually added to the ``signatures`` field of an :class:`Tx`. @@ -175,8 +175,7 @@ def create_signature(self, sign_doc: SignDoc, encryption_utils: Optional[Encrypt ), ) ] - # generate the .proto of all messages, need encryption_utils - signature = self.sign(sign_doc.to_bytes(encryption_utils=encryption_utils)) + signature = self.sign(sign_doc.to_bytes()) # restore sign_doc.auth_info.signer_infos = si_backup @@ -191,7 +190,7 @@ def create_signature(self, sign_doc: SignDoc, encryption_utils: Optional[Encrypt sequence=sign_doc.sequence, ) - def sign_tx(self, tx: Tx, options: SignOptions, encryption_utils: Optional[EncryptionUtils] = None) -> Tx: + def sign_tx(self, tx: Tx, options: SignOptions) -> Tx: """Signs the transaction with the signing algorithm provided by this Key implementation, and creates a ready-to-broadcast :class:`Tx` object with the signature applied. @@ -215,7 +214,7 @@ def sign_tx(self, tx: Tx, options: SignOptions, encryption_utils: Optional[Encry tx_body=signedTx.body, ) - signature: SignatureV2 = self.create_signature(signDoc, encryption_utils=encryption_utils) + signature: SignatureV2 = self.create_signature(signDoc) sigData: SingleDescriptor = signature.data.single for sig in tx.signatures: diff --git a/secret_sdk/util/base.py b/secret_sdk/util/base.py index ce2257f..5e2304e 100644 --- a/secret_sdk/util/base.py +++ b/secret_sdk/util/base.py @@ -1,16 +1,16 @@ """Some useful base classes to inherit from.""" from abc import abstractmethod from typing import Any, Callable, Dict, List, Optional - +from dataclasses import dataclass import attr from betterproto import Message from betterproto.lib.google.protobuf import Any as Any_pb -from secret_sdk.util.encrypt_utils import EncryptionUtils from .json import JSONSerializable, dict_to_data -class BaseSecretData(JSONSerializable, Message): +@dataclass +class BaseSecretData(JSONSerializable): type: str type_url: str @@ -21,7 +21,7 @@ def to_data(self) -> dict: return data @abstractmethod - def to_proto(self, encryption_utils: Optional[EncryptionUtils]): + def to_proto(self): pass From 4a57097d5e9858d12be7ec4c5ac0b78ddf78c72d Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sat, 15 Oct 2022 23:37:09 +0100 Subject: [PATCH 24/47] gas adjustement default, small fix in lcdclient --- secret_sdk/client/lcd/lcdclient.py | 25 ++++++++++++++----------- secret_sdk/client/lcd/wallet.py | 21 ++++++++++----------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index 72e612b..f163b21 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -1,10 +1,8 @@ from __future__ import annotations -import copy from asyncio import AbstractEventLoop, get_event_loop, TimeoutError -from json import JSONDecodeError from threading import Lock -from typing import Optional, Union, List +from typing import Optional, Union import nest_asyncio from aiohttp import ClientSession @@ -70,6 +68,7 @@ "GET_RETRY": 1 } + class AsyncLCDClient: def __init__( self, @@ -142,6 +141,8 @@ async def _get( and callable(getattr(params, "to_dict")) ): params = params.to_dict() + else: + params = {} block_height = 0 if 'block_height' in params: @@ -168,12 +169,12 @@ async def _get( if not 200 <= response.status < 299: raise LCDResponseError(message=str(result), response=response) - self.last_request_height = ( - result.get("height") if result else self.last_request_height - ) - if block_height: - self.session.headers.pop('x-cosmos-block-height') - return result + self.last_request_height = ( + result.get("height") if result else self.last_request_height + ) + if block_height: + self.session.headers.pop('x-cosmos-block-height') + return result async def _post( self, @@ -270,9 +271,10 @@ def __init__( self, url: str, chain_id: str = None, - gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = None, + gas_prices: Optional[Coins.Input] = default_gas_prices, + gas_adjustment: Optional[Numeric.Input] = default_gas_adjustment, custom_fees: Optional[dict] = default_fees, + _request_config: Optional[dict] = REQUEST_CONFIG ): super().__init__( url, @@ -282,6 +284,7 @@ def __init__( custom_fees, _create_session=False, loop=nest_asyncio.apply(get_event_loop()), + _request_config=_request_config ) self.lock = Lock() diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index 6ec39c3..a18e466 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -68,7 +68,7 @@ async def execute_tx( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -85,7 +85,7 @@ async def multi_execute_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -109,7 +109,7 @@ async def send_tokens( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -126,7 +126,7 @@ async def create_and_broadcast_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -135,7 +135,7 @@ async def create_and_broadcast_tx( memo=memo, gas=str(gas), gas_prices=gas_prices, - gas_adjustment=gas_adjustment, + gas_adjustment=gas_adjustment or self.lcd.gas_adjustment, fee_denoms=fee_denoms ) @@ -233,7 +233,7 @@ def execute_tx( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -251,7 +251,7 @@ def multi_execute_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -275,12 +275,11 @@ def send_tokens( transfer_amount: Coins = None, gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): - send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) if gas is None or gas_prices is None: gas_prices = self.lcd.gas_prices @@ -295,7 +294,7 @@ def create_and_broadcast_tx( memo: str = "", gas: Optional[int] = None, gas_prices: Optional[Coins.Input] = None, - gas_adjustment: Optional[Numeric.Input] = 1, + gas_adjustment: Optional[Numeric.Input] = None, fee_denoms: Optional[List[str]] = None, broadcast_mode: Optional[BroadcastMode] = None ): @@ -304,7 +303,7 @@ def create_and_broadcast_tx( memo=memo, gas=str(gas), gas_prices=gas_prices, - gas_adjustment=gas_adjustment, + gas_adjustment=gas_adjustment or self.lcd.gas_adjustment, fee_denoms=fee_denoms ) From 472539aaed8862b9725f0faa0a3741cd6321f801 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sat, 15 Oct 2022 23:58:16 +0100 Subject: [PATCH 25/47] Add multiSend, add send, multisend test using localsecret --- secret_sdk/client/lcd/wallet.py | 66 +++++++++++++++++++++++++- tests/setup_network.py | 52 +++++++++++++++++++++ tests/test.py | 82 +++++++++++++++++++++++++++++++++ 3 files changed, 198 insertions(+), 2 deletions(-) create mode 100644 tests/setup_network.py create mode 100644 tests/test.py diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index a18e466..e481f24 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -1,11 +1,11 @@ from __future__ import annotations - +from functools import reduce from typing import Dict, List, Optional from secret_sdk.core.msg import Msg from secret_sdk.core import AccAddress, Coins, Numeric from secret_sdk.core.tx import Tx -from secret_sdk.core.bank import MsgSend +from secret_sdk.core.bank import MsgSend, MsgMultiSend from secret_sdk.key.key import Key, SignOptions from secret_sdk.client.lcd.api.tx import CreateTxOptions, SignerOptions from secret_sdk.protobuf.cosmos.tx.v1beta1 import BroadcastMode @@ -120,6 +120,37 @@ async def send_tokens( return await self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode) + async def multi_send_tokens( + self, + recipient_addrs: List[AccAddress], + memo: str = "", + transfer_amounts: List[Coins] = None, + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + + ): + inputs = [ + { + 'address': self.key.acc_address, + 'coins': reduce(lambda x, y: x + y, transfer_amounts), + }, + ] + outputs = [{ + 'address': recipient_addr, + 'coins': transfer_amount, + } for recipient_addr, transfer_amount in zip(recipient_addrs, transfer_amounts)] + + multi_send_msg = MsgMultiSend(inputs, outputs) + if gas is None or gas_prices is None: + gas_prices = self.lcd.gas_prices + gas = self.lcd.custom_fees["send"].gas_limit + + return await self.create_and_broadcast_tx([multi_send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, + broadcast_mode) + async def create_and_broadcast_tx( self, msg_list: List[Msg], @@ -288,6 +319,37 @@ def send_tokens( return self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode) + def multi_send_tokens( + self, + recipient_addrs: List[AccAddress], + memo: str = "", + transfer_amounts: List[Coins] = None, + gas: Optional[int] = None, + gas_prices: Optional[Coins.Input] = None, + gas_adjustment: Optional[Numeric.Input] = None, + fee_denoms: Optional[List[str]] = None, + broadcast_mode: Optional[BroadcastMode] = None + + ): + inputs = [ + { + 'address': self.key.acc_address, + 'coins': reduce(lambda x, y: x + y, transfer_amounts), + }, + ] + outputs = [{ + 'address': recipient_addr, + 'coins': transfer_amount, + } for recipient_addr, transfer_amount in zip(recipient_addrs, transfer_amounts)] + + multi_send_msg = MsgMultiSend(inputs, outputs) + if gas is None or gas_prices is None: + gas_prices = self.lcd.gas_prices + gas = self.lcd.custom_fees["send"].gas_limit + + return self.create_and_broadcast_tx([multi_send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, + broadcast_mode) + def create_and_broadcast_tx( self, msg_list: List[Msg], diff --git a/tests/setup_network.py b/tests/setup_network.py new file mode 100644 index 0000000..8db0a2b --- /dev/null +++ b/tests/setup_network.py @@ -0,0 +1,52 @@ +import time +import subprocess +from secret_sdk.client.lcd import LCDClient + + +def run_command(command): + p = subprocess.run(command.split(' '), capture_output=True) + if p.stdout: + print(p.stdout.decode('utf-8')) + if p.stderr: + print(p.stderr.decode('utf-8')) + + +def await_blocks(): + while True: + try: + secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') + block_info = secret.tendermint.block_info() + latest_block = int(block_info["block"]["header"]["height"]) + if latest_block: + print(f'Chain initialised, latest block: {latest_block}') + break + except Exception as e: + print(e) + time.sleep(5) + + +def setup_localsecret(): + print('Setting up LocalSecret...') + + teardown_network() + run_command('docker run -it -d -p 9091:9091 -p 1317:1317 --name localsecret ghcr.io/scrtlabs/localsecret:v1.4.0') + + print("Waiting for the network to start...") + await_blocks() + + # set block time to 200ms + run_command('docker exec localsecret sed -E -i /timeout_(propose|prevote|precommit|commit)/s/[0-9]+m?s/200ms/ .secretd/config/config.toml') + run_command('docker stop localsecret') + run_command('docker start localsecret') + + await_blocks() + print('LocalSecret is running') + + +def teardown_network(): + print('Tearing down local testnet...') + run_command('docker rm -f localsecret') + + +if __name__ == '__main__': + setup_localsecret() diff --git a/tests/test.py b/tests/test.py new file mode 100644 index 0000000..8fa8ce2 --- /dev/null +++ b/tests/test.py @@ -0,0 +1,82 @@ +from tests.setup_network import setup_localsecret +from secret_sdk.key.mnemonic import MnemonicKey +from secret_sdk.client.lcd import LCDClient +from secret_sdk.core.coins import Coins + + +def setup_localsecret_test(): + setup_localsecret() + secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') + + accounts = [] + + # Initialize genesis accounts + mnemonics = [ + "grant rice replace explain federal release fix clever romance raise often wild taxi quarter soccer fiber love must tape steak together observe swap guitar", + "jelly shadow frog dirt dragon use armed praise universe win jungle close inmate rain oil canvas beauty pioneer chef soccer icon dizzy thunder meadow", + "chair love bleak wonder skirt permit say assist aunt credit roast size obtain minute throw sand usual age smart exact enough room shadow charge", + "word twist toast cloth movie predict advance crumble escape whale sail such angry muffin balcony keen move employ cook valve hurt glimpse breeze brick", + ] + + for mnemonic in mnemonics: + wallet = secret.wallet(MnemonicKey(mnemonic)) + accounts.append({ + 'address': wallet.key.acc_address, + 'mnemonic': mnemonic, + 'wallet': wallet, + 'secret': secret + }) + + # Generate a bunch of accounts because tx.staking tests require creating a bunch of validators + for i in range(4, 19): + wallet = secret.wallet(MnemonicKey()) + accounts.append({ + 'address': wallet.key.acc_address, + 'mnemonic': mnemonic, + 'wallet': wallet, + 'secret': secret + }) + + # Send 100k SCRT from account 0 to each of accounts 1 - 19 + for account in accounts: + account['balances'], _ = account['wallet'].lcd.bank.balance(account['address']) + + transfer_amount = int(100 * 1e6) + try: + tx = accounts[0]['wallet'].send_tokens( + recipient_addr=accounts[1]['address'], + transfer_amount=Coins({'uscrt': transfer_amount}) + ) + print(tx) + except Exception as e: + raise Exception(f'MsgSend failed: {e}') + if tx.code != 0: + raise Exception(f'MsgSend failed: {tx.raw_log}') + + try: + tx = accounts[0]['wallet'].multi_send_tokens( + recipient_addrs=[account['address'] for account in accounts[2:]], + transfer_amounts=[Coins({'uscrt': transfer_amount}) for _ in accounts[2:]] + ) + print(tx) + except Exception as e: + raise Exception(f'MsgMultiSend failed: {e}') + + if tx.code != 0: + raise Exception(f'MsgMultiSend failed: {tx.raw_log}') + + def update_balance(accounts): + old = {i: account['balances'].to_dict().get('uscrt', 0) for i, account in enumerate(accounts)} + for account in accounts: + account['balances'], _ = account['wallet'].lcd.bank.balance(account['address']) + new = {i: account['balances'].to_dict().get('uscrt', 0) for i, account in enumerate(accounts)} + return {i: new[i]-old[i] for i, _ in enumerate(accounts)} + + balance_changes = update_balance(accounts) + print(balance_changes) + for i in range(1, 19): + assert balance_changes[i] == transfer_amount + + +if __name__ == '__main__': + setup_localsecret_test() \ No newline at end of file From 235df55de312681915a34801f4a3213bfa086a25 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 00:10:21 +0100 Subject: [PATCH 26/47] revert MakeFile --- Makefile | 1 - 1 file changed, 1 deletion(-) diff --git a/Makefile b/Makefile index 60f53bd..860fe35 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,6 @@ clean-test: ## remove test and coverage artifacts rm -fr .pytest_cache test: ## runs tests - export PYTHONPATH="/Users/stephaneguilhermegomes/Projects/Secret/repos/secretanalytics-secret-sdk-python/bip32utils:$PYTHONPATH" poetry run pytest qa: ## runs static analysis with mypy and flake8 From 47b76f36fcb724569e0f86d145748b7ba7156c46 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 19:38:25 -0400 Subject: [PATCH 27/47] Fix test, clean shit --- secret_sdk/core/bech32.py | 24 ++++++++++++---- tests/client/lcdclient_test.py | 51 ---------------------------------- tests/core/strings_test.py | 3 +- tests/setup_network.py | 1 + 4 files changed, 21 insertions(+), 58 deletions(-) delete mode 100644 tests/client/lcdclient_test.py diff --git a/secret_sdk/core/bech32.py b/secret_sdk/core/bech32.py index da7f26e..93fe64b 100755 --- a/secret_sdk/core/bech32.py +++ b/secret_sdk/core/bech32.py @@ -53,6 +53,15 @@ def check_prefix_and_length(prefix: str, data: str, length: int): # """Secret Bech32 Validator Conensus PubKey -- type alias of str.""" # ) +bech32_config = { + "acc_address": ("secret", 45), + "val_address": ("secretvaloper", 52), + "pubkey": ("secretpub", 77), + "val_pubkey": ("secretvaloperpub", 84), + "valcons_pubkey": ("secretvalconspub", 83) + + +} def is_acc_address(data: str) -> bool: """Checks whether the given string is a properly formatted Secret account address. @@ -63,7 +72,8 @@ def is_acc_address(data: str) -> bool: Returns: bool: whether the string is a proper account address """ - return check_prefix_and_length("secret", data, 44) + prefix, length = bech32_config["acc_address"] + return check_prefix_and_length(prefix, data, length) def to_acc_address(data: ValAddress) -> AccAddress: @@ -94,7 +104,8 @@ def is_val_address(data: str) -> bool: Returns: bool: whether the string is a proper validator address """ - return check_prefix_and_length("secretvaloper", data, 51) + prefix, length = bech32_config["val_address"] + return check_prefix_and_length(prefix, data, length) def to_val_address(data: AccAddress) -> ValAddress: @@ -124,7 +135,8 @@ def is_acc_pubkey(data: str) -> bool: Returns: bool: whether string is account pubkey """ - return check_prefix_and_length("secretpub", data, 76) + prefix, length = bech32_config["pubkey"] + return check_prefix_and_length(prefix, data, length) def to_acc_pubkey(data: ValPubKey) -> AccPubKey: @@ -154,7 +166,8 @@ def is_val_pubkey(data: str) -> bool: Returns: bool: whether string is validator pubkey """ - return check_prefix_and_length("secretvaloperpub", data, 83) + prefix, length = bech32_config["val_pubkey"] + return check_prefix_and_length(prefix, data, length) def to_val_pubkey(data: AccPubKey) -> ValPubKey: @@ -185,4 +198,5 @@ def is_valcons_pubkey(data: str) -> bool: # -> ValConsPubKey: Returns: bool: whether string is validator consensus pubkey """ - return check_prefix_and_length("secretvalconspub", data, 83) + prefix, length = bech32_config["valcons_pubkey"] + return check_prefix_and_length(prefix, data, length) \ No newline at end of file diff --git a/tests/client/lcdclient_test.py b/tests/client/lcdclient_test.py deleted file mode 100644 index 63670e1..0000000 --- a/tests/client/lcdclient_test.py +++ /dev/null @@ -1,51 +0,0 @@ -import asynctest -from aioresponses import aioresponses - -from secret_sdk.client.lcd import LCDClient - -TxKey = '{"height":"991131","result":{"TxKey":"CDsaA2YSEdWkzI05p3eVeVhi93MGRVc7K8wsGSDFPAQ="}}' - - -class TestDoSessionGet(asynctest.TestCase): - @aioresponses() - def test_makes_request_to_expected_url(self, mocked): - mocked.get( - "http://testnet.securesecrets.org:1317/reg/tx-key", status=200, body=TxKey - ) - mocked.get( - "http://testnet.securesecrets.org:1317/node_info", - status=200, - body='{"response": "test"}', - ) - secret = LCDClient( - chain_id="pulsar-2", url="http://testnet.securesecrets.org:1317" - ) - - resp = secret.tendermint.node_info() - - assert resp == {"response": "test"} - - @aioresponses() - def test_does_not_strip_access_token(self, mocked): - mocked.get( - "http://testnet.securesecrets.org:1317/access_token/reg/tx-key", - status=200, - body=TxKey, - ) - mocked.get( - "http://testnet.securesecrets.org:1317/access_token/node_info", - status=200, - body='{"response": "test"}', - ) - secret = LCDClient( - chain_id="pulsar-2", - url="http://testnet.securesecrets.org:1317/access_token/", - ) - - resp = secret.tendermint.node_info() - - assert resp == {"response": "test"} - - -if __name__ == "__main__": - asynctest.main() diff --git a/tests/core/strings_test.py b/tests/core/strings_test.py index f28ef31..11c0ba4 100644 --- a/tests/core/strings_test.py +++ b/tests/core/strings_test.py @@ -1,4 +1,4 @@ -from secret_sdk.core.strings import ( +from secret_sdk.core.bech32 import ( is_acc_address, is_acc_pubkey, is_val_address, @@ -10,7 +10,6 @@ to_val_pubkey, ) - def test_validates_acc_address(): assert not is_acc_address("secretvaloper1xey4ymz4tmlgy6pp54e2ccj307ff6kx647p3hq") assert not is_acc_address( diff --git a/tests/setup_network.py b/tests/setup_network.py index 8db0a2b..5863057 100644 --- a/tests/setup_network.py +++ b/tests/setup_network.py @@ -29,6 +29,7 @@ def setup_localsecret(): print('Setting up LocalSecret...') teardown_network() + # 9091 grpc web, 1317 rest run_command('docker run -it -d -p 9091:9091 -p 1317:1317 --name localsecret ghcr.io/scrtlabs/localsecret:v1.4.0') print("Waiting for the network to start...") From d6909264d85914cf046c9249e6c9e8530d49606e Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 20:22:05 -0400 Subject: [PATCH 28/47] Spring cleaningzer --- integration_tests/estimate_fee.py | 38 +++++++------------ integration_tests/execute_tx.py | 2 +- integration_tests/from_contract_events.py | 8 ++-- integration_tests/lcdutils.py | 5 --- .../{query.py => query_balance.py} | 2 +- integration_tests/query_contract.py | 4 +- integration_tests/send.py | 6 +-- integration_tests/sign_direct_via_pb.py | 2 +- integration_tests/staking_apr.py | 6 +-- integration_tests/validator_rewards.py | 2 +- secret_sdk/client/lcd/api/tx.py | 16 ++++---- secret_sdk/client/lcd/lcdclient.py | 5 +-- secret_sdk/core/wasm/msgs.py | 2 +- 13 files changed, 39 insertions(+), 59 deletions(-) delete mode 100644 integration_tests/lcdutils.py rename integration_tests/{query.py => query_balance.py} (83%) diff --git a/integration_tests/estimate_fee.py b/integration_tests/estimate_fee.py index 0f8b470..f44e995 100644 --- a/integration_tests/estimate_fee.py +++ b/integration_tests/estimate_fee.py @@ -1,29 +1,17 @@ from secret_sdk.core import Coins +from secret_sdk.client.lcd.api.tx import CreateTxOptions from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id -api = LocalSecret(chain_id=main_net_chain_id) -fee = api.tx.estimate_fee( - gas=250_000 -) -print(fee) - -fee = api.tx.estimate_fee( - gas=200_000, - gas_prices=Coins.from_data([{"amount": 0.25, "denom": "uscrt"}]) -) -print(fee) +options_to_test =[ + CreateTxOptions(msgs=[], gas='250000'), + CreateTxOptions(msgs=[], gas='200000', gas_prices=Coins('0.25uscrt')), + CreateTxOptions(msgs=[], gas='200000', gas_prices=Coins('0.25uscrt'), gas_adjustment=1.2), + CreateTxOptions(msgs=[], gas='200000', gas_prices=Coins('0.25uscrt'), fee_denoms=['ukrw']) # return nothing -fee = api.tx.estimate_fee( - gas=200_000, - gas_prices=Coins.from_data([{"amount": 0.25, "denom": "uscrt"}]), - gas_adjustment=1.2, - fee_denoms=["uscrt"] -) -print(fee) - -fee = api.tx.estimate_fee( - gas=200_000, - gas_prices=Coins.from_data([{"amount": 0.25, "denom": "uscrt"}]), - fee_denoms=["ukrw"] -) -print(fee) +] +api = LocalSecret(chain_id=main_net_chain_id) +for opt in options_to_test: + fee = api.tx.estimate_fee( + opt + ) + print(fee) diff --git a/integration_tests/execute_tx.py b/integration_tests/execute_tx.py index 3820c01..e59cacd 100644 --- a/integration_tests/execute_tx.py +++ b/integration_tests/execute_tx.py @@ -7,6 +7,6 @@ sscrt_addr_testnet = 'secret18vd8fpwxzck93qlwghaj6arh4p7c5n8978vsyg' sent_funds = Coins('100uscrt') handle_msg = {'deposit': {}} -t = w.execute_tx(sscrt_addr_testnet, [handle_msg], transfer_amount=sent_funds) +t = w.execute_tx(sscrt_addr_testnet, handle_msg, transfer_amount=sent_funds) assert t.code == 0 diff --git a/integration_tests/from_contract_events.py b/integration_tests/from_contract_events.py index 9132085..929d72c 100644 --- a/integration_tests/from_contract_events.py +++ b/integration_tests/from_contract_events.py @@ -1,9 +1,9 @@ -from integration_tests.config import api_url -from secret_sdk.client.lcd import LCDClient from secret_sdk.util.contract import get_contract_events -api = LCDClient(url=api_url, chain_id="secret-4") -tx_info = api.tx.tx_info( +from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id + +secret = LocalSecret(chain_id=main_net_chain_id) +tx_info = secret.tx.tx_info( "9F90D988CE4569CAB07AC0331E188AD873FCAAA21B9701FB8705AE6053620C72" ) print(get_contract_events(tx_info)) diff --git a/integration_tests/lcdutils.py b/integration_tests/lcdutils.py deleted file mode 100644 index 2283d52..0000000 --- a/integration_tests/lcdutils.py +++ /dev/null @@ -1,5 +0,0 @@ -from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id - -api = LocalSecret(chain_id=main_net_chain_id) -validators_with_voting_power = api.utils.validators_with_voting_power() -print(validators_with_voting_power) diff --git a/integration_tests/query.py b/integration_tests/query_balance.py similarity index 83% rename from integration_tests/query.py rename to integration_tests/query_balance.py index ce0a298..1b151cc 100755 --- a/integration_tests/query.py +++ b/integration_tests/query_balance.py @@ -4,7 +4,7 @@ def main(): secret = LocalSecret(chain_id=main_net_chain_id) - result = secret.bank.balance( + result, pagination = secret.bank.balance( address="secret19y0n2ru9dae9w6vt7fwgfptp5nxq3hwtsz4u75" ) print(result) diff --git a/integration_tests/query_contract.py b/integration_tests/query_contract.py index 20132be..d1eb420 100644 --- a/integration_tests/query_contract.py +++ b/integration_tests/query_contract.py @@ -6,6 +6,6 @@ hash = '0dfd06c7c3c482c14d36ba9826b83d164003f2b0bb302f222db72361e0927490' query = {"pool":{}} height = 5589677 -a = secret.wasm.contract_query(contract, query) -b = secret.wasm.contract_query(contract, query, height=height) +a = secret.wasm.contract_query(contract, query, timeout=30) +b = secret.wasm.contract_query(contract, query, height=height, timeout=30) assert a['assets'][0]['amount'] != b['assets'][0]['amount'] \ No newline at end of file diff --git a/integration_tests/send.py b/integration_tests/send.py index e413512..230e421 100644 --- a/integration_tests/send.py +++ b/integration_tests/send.py @@ -8,12 +8,10 @@ secret = LocalSecret(chain_id=test_net_chain_id) test1 = secret.wallets["test1"] -print(test1) - result = test1.send_tokens( test1.key.acc_address, LOCAL_MNEMONICS[test_net_chain_id]["test2"]["address"], - Coins.from_str("1000000uscrt"), + Coins.from_str("1uscrt"), gas=250_000, ) -print(result) +assert result.code == 0 diff --git a/integration_tests/sign_direct_via_pb.py b/integration_tests/sign_direct_via_pb.py index ad8c44f..6b7dff5 100644 --- a/integration_tests/sign_direct_via_pb.py +++ b/integration_tests/sign_direct_via_pb.py @@ -56,7 +56,7 @@ def sign_tx(tx): account_number = wallet.account_number() sequence = wallet.sequence() - public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(PubKey(wallet.key.public_key))) + public_key = Any_pb(type_url='/cosmos.crypto.secp256k1.PubKey', value=bytes(wallet.key.public_key.to_proto())) mode_info = ModeInfo_pb( single=ModeInfoSingle_pb(mode=SignMode.SIGN_MODE_DIRECT) ) diff --git a/integration_tests/staking_apr.py b/integration_tests/staking_apr.py index 89bbf62..98bbdb9 100644 --- a/integration_tests/staking_apr.py +++ b/integration_tests/staking_apr.py @@ -14,12 +14,12 @@ def main(): community_result = secret_client.distribution.community_pool() community_amount = community_result.get("uscrt").amount / 10**6 - supply_result = secret_client.bank.total_denom("uscrt") - supply = supply_result.amount / 10**6 + supply_result, pagination = secret_client.bank.total() + supply = supply_result.get("uscrt").amount / 10**6 ratio = bonded / (supply - community_amount) staking_apr = float(network_inflation / ratio) - print("staking_apr: ", staking_apr) + print(f"staking_apr: {staking_apr:.2f}%") main() \ No newline at end of file diff --git a/integration_tests/validator_rewards.py b/integration_tests/validator_rewards.py index 9a9b061..bf1816a 100755 --- a/integration_tests/validator_rewards.py +++ b/integration_tests/validator_rewards.py @@ -2,7 +2,7 @@ secret = LocalSecret(chain_id=main_net_chain_id) print( - secret.distribution.validator_rewards( + secret.distribution.validator_outstanding_rewards( "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7" ) ) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 1ab6664..006efea 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -58,7 +58,7 @@ class CreateTxOptions: fee (Optional[Fee], optional): transaction fee. If ``None``, will be estimated. See more on `fee estimation`_. memo (str, optional): optional short string to include with transaction. - gas (str, optional): gas limit to set per-transaction; set to "auto" to calculate sufficient gas automatically + gas (str, optional): gas limit to set per-transaction; gas_prices (Coins.Input, optional): gas prices for fee estimation. gas_adjustment (Numeric.Input, optional): gas adjustment for fee estimation. fee_denoms (List[str], optional): list of denoms to use for fee after estimation. @@ -328,15 +328,15 @@ async def create( Tx: unsigned tx """ - opt = copy.deepcopy(options) # create the fake fee - if opt.fee is None: - opt.fee = await BaseAsyncAPI._try_await(self.estimate_fee(opt)) + fee = options.fee + if options.fee is None: + fee = await BaseAsyncAPI._try_await(self.estimate_fee(options)) return Tx( - TxBody(opt.msgs, opt.memo or "", opt.timeout_height or 0), - AuthInfo([], opt.fee), + TxBody(options.msgs, options.memo or "", options.timeout_height or 0), + AuthInfo([], fee), [], ) @@ -357,7 +357,7 @@ async def estimate_fee( if options.gas is None or options.gas is None: return self._c.custom_fees["default"] gas_prices = options.gas_prices or self._c.gas_prices - fee_denoms = options.fee if options.fee_denoms else ["uscrt"] + fee_denoms = options.fee_denoms if options.fee_denoms else ["uscrt"] gas = options.gas gas_adjustment = options.gas_adjustment or self._c.gas_adjustment @@ -369,7 +369,7 @@ async def estimate_fee( gas_prices_coins = gas_prices_coins.filter( lambda c: c.denom in _fee_denoms ) - fee_amount = gas_prices_coins.mul(gas * gas_adjustment).to_int_ceil_coins() + fee_amount = gas_prices_coins.mul(Numeric.parse(gas) * gas_adjustment).to_int_ceil_coins() return Fee(Numeric.parse(gas), fee_amount, "", "") async def estimate_gas(self, tx: Tx, options: Optional[CreateTxOptions]) -> int: diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index f163b21..b109b8f 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -63,7 +63,7 @@ ) REQUEST_CONFIG = { - "GET_TIMEOUT": 15, + "GET_TIMEOUT": 20, "POST_TIMEOUT": 30, "GET_RETRY": 1 } @@ -135,14 +135,13 @@ async def _get( timeout: Optional[int] = None, retry_attempts: Optional[int] = None ): + params = params or {} if ( params and hasattr(params, "to_dict") and callable(getattr(params, "to_dict")) ): params = params.to_dict() - else: - params = {} block_height = 0 if 'block_height' in params: diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index bab8ca6..f164dcf 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -210,7 +210,7 @@ class MsgExecuteContract(Msg): warn_code_hash: bool = False _msg_str: str = '' - encryption_utils: Optional[EncryptionUtils] = None + encryption_utils: Optional[EncryptionUtils] = attr.ib(default=None) def __attrs_post_init__(self): if self.code_hash: From 38aa66419660369b7d09e587c171ef70fce9c827 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 01:33:07 +0100 Subject: [PATCH 29/47] add gzip to MsgStoreCode --- secret_sdk/core/wasm/msgs.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index f164dcf..42cff96 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -4,6 +4,7 @@ import base64 import json +import gzip from typing import Optional, Union import attr @@ -16,7 +17,6 @@ from secret_sdk.core import AccAddress, Coins from secret_sdk.core.msg import Msg -from secret_sdk.util.remove_none import remove_none from secret_sdk.util.encrypt_utils import EncryptionUtils __all__ = [ @@ -26,6 +26,10 @@ ] +def is_gz_file(byte_code): + return byte_code[:2] == b'\x1f\x8b' + + def parse_msg(msg: Union[dict, str, bytes]) -> dict: if type(msg) is dict: return msg @@ -58,12 +62,12 @@ class MsgStoreCode(Msg): source: str = attr.ib(converter=str) builder: str = attr.ib(converter=str) - # async def gzip_wasm(self): - # if not is_gzip(self.wasm_byte_code): - # self.wasm_byte_code = gzip(self.wasm_byte_code, level=9) + async def gzip_wasm(self): + if not is_gz_file(self.wasm_byte_code): + self.wasm_byte_code = gzip.compress(self.wasm_byte_code, compresslevel=9) def to_amino(self) -> dict: - # await self.gzip_wasm() + self.gzip_wasm() return { "type": self.type_amino, @@ -85,7 +89,7 @@ def from_data(cls, data: dict) -> MsgStoreCode: ) def to_proto(self) -> MsgStoreCode_pb: - # await self.gzip_wasm() + self.gzip_wasm() return MsgStoreCode_pb( sender=address_to_bytes(self.sender), From 439e7297c2d87a1927b45bc3cab2acf031bb555e Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 01:34:22 +0100 Subject: [PATCH 30/47] Add ModuleAccount, accounts endpoint, testing --- secret_sdk/client/lcd/api/auth.py | 39 ++++++++- secret_sdk/core/auth/__init__.py | 2 + secret_sdk/core/auth/data/__init__.py | 6 +- secret_sdk/core/auth/data/account.py | 7 ++ secret_sdk/core/auth/data/module_account.py | 89 +++++++++++++++++++++ tests/test.py | 16 +++- 6 files changed, 151 insertions(+), 8 deletions(-) create mode 100644 secret_sdk/core/auth/data/module_account.py diff --git a/secret_sdk/client/lcd/api/auth.py b/secret_sdk/client/lcd/api/auth.py index 8a9dda2..49f6923 100644 --- a/secret_sdk/client/lcd/api/auth.py +++ b/secret_sdk/client/lcd/api/auth.py @@ -1,4 +1,4 @@ -from typing import Optional, Union +from typing import Optional, Union, List from ..params import APIParams from secret_sdk.core import AccAddress @@ -7,6 +7,7 @@ BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, + ModuleAccount ) from ._base import BaseAsyncAPI, sync_bind @@ -21,6 +22,7 @@ async def account_info( BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, + ModuleAccount ]: """Fetches the account information. @@ -29,11 +31,30 @@ async def account_info( params (APIParams): optional parameters Returns: - Union[BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, PeriodicVestingAccount]: account information + Union[BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, ModuleAccount]: account information """ result = await self._c._get(f"/cosmos/auth/v1beta1/accounts/{address}", params) return Account.from_data(result["account"]) + async def accounts( + self, params: Optional[APIParams] = None + ) -> Union[ + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, + ModuleAccount + ]: + """Fetches all accounts + + Args: + params (APIParams): optional parameters + + Returns: + List[Union[BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, ModuleAccount]]: accounts information, pagination + """ + result = await self._c._get(f"/cosmos/auth/v1beta1/accounts", params) + return [Account.from_data(account) for account in result['accounts']], result['pagination'] + class AuthAPI(AsyncAuthAPI): @sync_bind(AsyncAuthAPI.account_info) @@ -43,7 +64,21 @@ def account_info( BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, + ModuleAccount ]: pass account_info.__doc__ = AsyncAuthAPI.account_info.__doc__ + + @sync_bind(AsyncAuthAPI.accounts) + def accounts( + self, params: Optional[APIParams] = None + ) -> List[Union[ + BaseAccount, + ContinuousVestingAccount, + DelayedVestingAccount, + ModuleAccount + ]]: + pass + + accounts.__doc__ = AsyncAuthAPI.accounts.__doc__ diff --git a/secret_sdk/core/auth/__init__.py b/secret_sdk/core/auth/__init__.py index f499f34..77b0df8 100755 --- a/secret_sdk/core/auth/__init__.py +++ b/secret_sdk/core/auth/__init__.py @@ -3,6 +3,7 @@ BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, + ModuleAccount ) from .msgs import ( @@ -14,5 +15,6 @@ "BaseAccount", "ContinuousVestingAccount", "DelayedVestingAccount", + "ModuleAccount", "MsgCreateVestingAccount", ] diff --git a/secret_sdk/core/auth/data/__init__.py b/secret_sdk/core/auth/data/__init__.py index 3ae0710..1c3ed6e 100755 --- a/secret_sdk/core/auth/data/__init__.py +++ b/secret_sdk/core/auth/data/__init__.py @@ -2,12 +2,12 @@ from .base_account import BaseAccount from .continuous_vesting_account import ContinuousVestingAccount from .delayed_vesting_account import DelayedVestingAccount - +from .module_account import ModuleAccount __all__ = [ - "Account", "Account", "BaseAccount", "ContinuousVestingAccount", - "DelayedVestingAccount" + "DelayedVestingAccount", + "ModuleAccount" ] diff --git a/secret_sdk/core/auth/data/account.py b/secret_sdk/core/auth/data/account.py index a2af03c..d175fc2 100755 --- a/secret_sdk/core/auth/data/account.py +++ b/secret_sdk/core/auth/data/account.py @@ -6,6 +6,7 @@ from .base_account import BaseAccount from .continuous_vesting_account import ContinuousVestingAccount from .delayed_vesting_account import DelayedVestingAccount +from .module_account import ModuleAccount class Account(JSONSerializable, ABC): @@ -29,6 +30,8 @@ def from_amino(cls, amino: dict): # -> Account: return ContinuousVestingAccount.from_amino(amino) elif amino["type"] == DelayedVestingAccount.type_amino: return DelayedVestingAccount.from_amino(amino) + elif amino["type"] == ModuleAccount.type_amino: + return ModuleAccount.from_amino(amino) @classmethod def from_data(cls, data: dict): # -> Account: @@ -38,6 +41,8 @@ def from_data(cls, data: dict): # -> Account: return ContinuousVestingAccount.from_data(data) elif data["@type"] == DelayedVestingAccount.type_url: return DelayedVestingAccount.from_data(data) + elif data["@type"] == ModuleAccount.type_url: + return ModuleAccount.from_data(data) @classmethod def from_proto(cls, data: dict): # -> Account: @@ -47,3 +52,5 @@ def from_proto(cls, data: dict): # -> Account: return ContinuousVestingAccount.from_proto(data) elif data["@type"] == DelayedVestingAccount.type_url: return DelayedVestingAccount.from_proto(data) + elif data["@type"] == ModuleAccount.type_url: + return ModuleAccount.from_proto(data) diff --git a/secret_sdk/core/auth/data/module_account.py b/secret_sdk/core/auth/data/module_account.py new file mode 100644 index 0000000..68a6f63 --- /dev/null +++ b/secret_sdk/core/auth/data/module_account.py @@ -0,0 +1,89 @@ +"""Data objects pertaining to accounts.""" + +from __future__ import annotations + +import attr +from typing import List +from ....protobuf.cosmos.auth.v1beta1 import ( + ModuleAccount as ModuleAccount_pb, +) + +from secret_sdk.core import Coins +from secret_sdk.util.json import JSONSerializable + +from ...public_key import PublicKey +from .base_account import BaseAccount + +__all__ = ["ModuleAccount"] + + +@attr.s +class ModuleAccount(JSONSerializable): + """Stores information about an account with vesting.""" + + base_account: BaseAccount = attr.ib() + + name: str = attr.ib() + permissions: List[str] = attr.ib(default=List) + + type_amino = "cosmos-sdk/ModuleAccount" + type_url = "/cosmos.auth.v1beta1.ModuleAccount" + + def get_sequence(self) -> int: + return self.base_account.get_sequence() + + def get_account_number(self) -> int: + return self.base_account.get_account_number() + + def get_public_key(self) -> PublicKey: + return self.base_account.get_public_key() + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "base_account": self.base_account.to_amino(), + "name": self.name, + "permissions": self.permissions, + }, + } + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "base_account": self.base_account.to_data(), + "name": self.name, + "permissions": self.permissions, + } + + @classmethod + def from_amino(cls, amino: dict) -> ModuleAccount: + amino = amino["value"] if "value" in amino else amino + return cls( + base_account=BaseAccount.from_amino(amino["base_account"]), + name=amino["name"], + permissions=amino["permissions"] + ) + + @classmethod + def from_data(cls, data: dict) -> ModuleAccount: + return cls( + base_account=BaseAccount.from_data(data["base_account"]), + name=data["name"], + permissions=data["permissions"] + ) + + @classmethod + def from_proto(cls, proto: ModuleAccount_pb) -> ModuleAccount: + return cls( + base_account=BaseAccount.from_proto(proto.base_account), + name=proto.name, + permissions=proto.permissions + ) + + def to_proto(self) -> ModuleAccount_pb: + return ModuleAccount_pb( + base_account=self.base_account.to_proto(), + name=self.name, + permissions=self.permissions + ) diff --git a/tests/test.py b/tests/test.py index 8fa8ce2..59e2de0 100644 --- a/tests/test.py +++ b/tests/test.py @@ -28,7 +28,7 @@ def setup_localsecret_test(): }) # Generate a bunch of accounts because tx.staking tests require creating a bunch of validators - for i in range(4, 19): + for i in range(4, 20): wallet = secret.wallet(MnemonicKey()) accounts.append({ 'address': wallet.key.acc_address, @@ -37,7 +37,7 @@ def setup_localsecret_test(): 'secret': secret }) - # Send 100k SCRT from account 0 to each of accounts 1 - 19 + # Send 100k SCRT from account 0 to each of accounts 1 - 20 for account in accounts: account['balances'], _ = account['wallet'].lcd.bank.balance(account['address']) @@ -74,9 +74,19 @@ def update_balance(accounts): balance_changes = update_balance(accounts) print(balance_changes) - for i in range(1, 19): + for i in range(1, 20): assert balance_changes[i] == transfer_amount + # query auth + all_accounts, pagination = secret.auth.accounts() + + # 20 accounts with a balance and 7? module accounts - ordering of tests can affect this. + # it 's more robust to check eq> rather than flat equality + assert len(all_accounts) >= 27 + assert len([acc for acc in all_accounts if acc.type_url == '/cosmos.auth.v1beta1.ModuleAccount']) >= 7 + addrs = [accounts[0]['address'], accounts[1]['address']] + assert len([acc for acc in all_accounts if acc.type_url == '/cosmos.auth.v1beta1.BaseAccount' and acc.address in addrs]) == 2 + if __name__ == '__main__': setup_localsecret_test() \ No newline at end of file From a582ae07e8dfcf1950207a972e8dd7a36a56e8f4 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 02:04:27 +0100 Subject: [PATCH 31/47] Add pytest, configure test, account_info test --- tests/conftest.py | 8 ++++++++ tests/test.py | 41 +++++++++++++++++++++++++++-------------- 2 files changed, 35 insertions(+), 14 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index d39845c..0d5d6bc 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,6 +2,8 @@ from pathlib import Path import pytest +from tests.setup_network import setup_localsecret +from secret_sdk.client.lcd import LCDClient def _load(file): @@ -26,3 +28,9 @@ def load_json_examples(): @pytest.fixture(scope="session") def load_msg_examples(): return _load_msg_examples + + +def pytest_configure(): + setup_localsecret() + secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') + pytest.secret = secret diff --git a/tests/test.py b/tests/test.py index 59e2de0..3cdc45d 100644 --- a/tests/test.py +++ b/tests/test.py @@ -1,23 +1,25 @@ -from tests.setup_network import setup_localsecret +import pytest from secret_sdk.key.mnemonic import MnemonicKey -from secret_sdk.client.lcd import LCDClient from secret_sdk.core.coins import Coins -def setup_localsecret_test(): - setup_localsecret() - secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') - - accounts = [] - +@pytest.fixture +def mnemonics(): # Initialize genesis accounts - mnemonics = [ + return [ "grant rice replace explain federal release fix clever romance raise often wild taxi quarter soccer fiber love must tape steak together observe swap guitar", "jelly shadow frog dirt dragon use armed praise universe win jungle close inmate rain oil canvas beauty pioneer chef soccer icon dizzy thunder meadow", "chair love bleak wonder skirt permit say assist aunt credit roast size obtain minute throw sand usual age smart exact enough room shadow charge", "word twist toast cloth movie predict advance crumble escape whale sail such angry muffin balcony keen move employ cook valve hurt glimpse breeze brick", ] + +def test_setup_accounts(mnemonics): + #setup_localsecret() + #secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') + secret = pytest.secret + accounts = [] + for mnemonic in mnemonics: wallet = secret.wallet(MnemonicKey(mnemonic)) accounts.append({ @@ -77,16 +79,27 @@ def update_balance(accounts): for i in range(1, 20): assert balance_changes[i] == transfer_amount - # query auth - all_accounts, pagination = secret.auth.accounts() + pytest.accounts = accounts + + +def test_accounts(): + all_accounts, pagination = pytest.secret.auth.accounts() # 20 accounts with a balance and 7? module accounts - ordering of tests can affect this. # it 's more robust to check eq> rather than flat equality assert len(all_accounts) >= 27 assert len([acc for acc in all_accounts if acc.type_url == '/cosmos.auth.v1beta1.ModuleAccount']) >= 7 - addrs = [accounts[0]['address'], accounts[1]['address']] + addrs = [pytest.accounts[0]['address'], pytest.accounts[1]['address']] assert len([acc for acc in all_accounts if acc.type_url == '/cosmos.auth.v1beta1.BaseAccount' and acc.address in addrs]) == 2 -if __name__ == '__main__': - setup_localsecret_test() \ No newline at end of file +def test_account(): + addr = pytest.accounts[1]['address'] + account = pytest.secret.auth.account_info(address=addr) + if not account: + raise Exception(f'Account {addr} should exist') + + assert account.type_url == '/cosmos.auth.v1beta1.BaseAccount' + assert account.address == addr + assert account.account_number == 1 + assert account.sequence == 0 From 8fa3fd9f1f345fb5c8d1921d7b3e47fd91ebda40 Mon Sep 17 00:00:00 2001 From: phd Date: Sat, 15 Oct 2022 21:18:56 -0400 Subject: [PATCH 32/47] spring cleaning --- secret_sdk/client/lcd/api/tx.py | 24 ++++-------------------- secret_sdk/client/lcd/lcdclient.py | 2 +- secret_sdk/client/localsecret.py | 2 +- 3 files changed, 6 insertions(+), 22 deletions(-) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 006efea..07d2e1d 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -136,23 +136,12 @@ async def tx_info(self, tx_hash: str) -> TxInfo: TxInfo: transaction info """ res = await self._c._get(f"/cosmos/tx/v1beta1/txs/{tx_hash}") + # if "tx" not in res: + # raise Exception("Unexpected response data format") + # # TODO: update TxInfo interface + # return self.decrypt_txs_response(res) return TxInfo.from_data(res["tx_response"]) - async def tx_by_id(self, id: str) -> TxInfo: - """Fetches information for an included transaction given a tx hash. - - Args: - tx_hash (str): hash of transaction to lookup - - Returns: - TxInfo: transaction info - """ - res = await self._c._get(f"/cosmos/tx/v1beta1/txs/{id}") - if "tx" not in res: - raise Exception("Unexpected response data format") - # TODO: update TxInfo interface - return self.decrypt_txs_response(res) - def decrypt_data_field(self, data_field: str, nonces): wasm_output_data_cipher_bz = bytearray.fromhex(data_field) @@ -548,11 +537,6 @@ def tx_info(self, tx_hash: str) -> TxInfo: tx_info.__doc__ = AsyncTxAPI.tx_info.__doc__ - @sync_bind(AsyncTxAPI.tx_by_id) - def tx_by_id(self, tx_hash: str) -> TxInfo: - pass - - tx_by_id.__doc__ = AsyncTxAPI.tx_by_id.__doc__ @sync_bind(AsyncTxAPI.create) def create(self, signers: List[SignerOptions], options: CreateTxOptions) -> Tx: diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index b109b8f..dc7d489 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -63,7 +63,7 @@ ) REQUEST_CONFIG = { - "GET_TIMEOUT": 20, + "GET_TIMEOUT": 30, "POST_TIMEOUT": 30, "GET_RETRY": 1 } diff --git a/secret_sdk/client/localsecret.py b/secret_sdk/client/localsecret.py index f608665..4cc8ec0 100644 --- a/secret_sdk/client/localsecret.py +++ b/secret_sdk/client/localsecret.py @@ -10,7 +10,7 @@ main_net_chain_id = "secret-4" test_net_api = "http://testnet.securesecrets.org:1317" -main_net_api = "https://api.scrt.network" +main_net_api = "https://secret-4.api.trivium.network:1317" LOCAL_MNEMONICS = { "holodeck-2": { From c12d4bb100c74a844cf184d373457e9faf7568d4 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 17:53:27 +0100 Subject: [PATCH 33/47] Fix search tx --- secret_sdk/client/lcd/api/tx.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 006efea..68f4355 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -504,7 +504,7 @@ async def search( actual_params = CIMultiDict() for event in events: - if event == "tx.height": + if event[0] == "tx.height": actual_params.add("events", f"{event[0]}={event[1]}") else: actual_params.add("events", f"{event[0]}='{event[1]}'") From e6072690fbc7593d2bb0b22465329df0206bf5bd Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 17:56:34 +0100 Subject: [PATCH 34/47] Add Params, params test --- secret_sdk/client/lcd/api/auth.py | 15 ++++- secret_sdk/core/auth/__init__.py | 4 +- secret_sdk/core/auth/data/__init__.py | 4 +- secret_sdk/core/auth/data/params.py | 86 +++++++++++++++++++++++++++ tests/test.py | 13 +++- 5 files changed, 116 insertions(+), 6 deletions(-) create mode 100644 secret_sdk/core/auth/data/params.py diff --git a/secret_sdk/client/lcd/api/auth.py b/secret_sdk/client/lcd/api/auth.py index 49f6923..4ab6cb2 100644 --- a/secret_sdk/client/lcd/api/auth.py +++ b/secret_sdk/client/lcd/api/auth.py @@ -7,7 +7,8 @@ BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, - ModuleAccount + ModuleAccount, + Params ) from ._base import BaseAsyncAPI, sync_bind @@ -55,6 +56,10 @@ async def accounts( result = await self._c._get(f"/cosmos/auth/v1beta1/accounts", params) return [Account.from_data(account) for account in result['accounts']], result['pagination'] + async def params(self): + result = await self._c._get(f'/cosmos/auth/v1beta1/params') + return Params.from_data(result['params']) + class AuthAPI(AsyncAuthAPI): @sync_bind(AsyncAuthAPI.account_info) @@ -82,3 +87,11 @@ def accounts( pass accounts.__doc__ = AsyncAuthAPI.accounts.__doc__ + + @sync_bind(AsyncAuthAPI.params) + def params( + self + ): + pass + + params.__doc__ = AsyncAuthAPI.params.__doc__ diff --git a/secret_sdk/core/auth/__init__.py b/secret_sdk/core/auth/__init__.py index 77b0df8..edffd79 100755 --- a/secret_sdk/core/auth/__init__.py +++ b/secret_sdk/core/auth/__init__.py @@ -3,7 +3,8 @@ BaseAccount, ContinuousVestingAccount, DelayedVestingAccount, - ModuleAccount + ModuleAccount, + Params ) from .msgs import ( @@ -16,5 +17,6 @@ "ContinuousVestingAccount", "DelayedVestingAccount", "ModuleAccount", + "Params", "MsgCreateVestingAccount", ] diff --git a/secret_sdk/core/auth/data/__init__.py b/secret_sdk/core/auth/data/__init__.py index 1c3ed6e..7035841 100755 --- a/secret_sdk/core/auth/data/__init__.py +++ b/secret_sdk/core/auth/data/__init__.py @@ -3,11 +3,13 @@ from .continuous_vesting_account import ContinuousVestingAccount from .delayed_vesting_account import DelayedVestingAccount from .module_account import ModuleAccount +from .params import Params __all__ = [ "Account", "BaseAccount", "ContinuousVestingAccount", "DelayedVestingAccount", - "ModuleAccount" + "ModuleAccount", + "Params" ] diff --git a/secret_sdk/core/auth/data/params.py b/secret_sdk/core/auth/data/params.py new file mode 100644 index 0000000..fea4384 --- /dev/null +++ b/secret_sdk/core/auth/data/params.py @@ -0,0 +1,86 @@ +"""Data objects pertaining to params.""" + +from __future__ import annotations + +import attr +from ....protobuf.cosmos.auth.v1beta1 import Params as Params_pb + +from ....util.json import JSONSerializable + +__all__ = ["Params"] + + +@attr.s +class Params(JSONSerializable): + """Stores information about auth params.""" + + type_amino = "cosmos-sdk/Params" + type_url = "/cosmos.auth.v1beta1.Params" + + max_memo_characters: int = attr.ib(converter=int) + tx_sig_limit: int = attr.ib(converter=int) + tx_size_cost_per_byte: int = attr.ib(converter=int) + sig_verify_cost_ed25519: int = attr.ib(converter=int) + sig_verify_cost_secp256_k1: int = attr.ib(converter=int) + + def to_amino(self) -> dict: + return { + "type": self.type_amino, + "value": { + "max_memo_characters": self.max_memo_characters, + "tx_sig_limit": self.tx_sig_limit, + "tx_size_cost_per_byte": self.tx_size_cost_per_byte, + "sig_verify_cost_ed25519": self.sig_verify_cost_ed25519, + "sig_verify_cost_secp256_k1": self.sig_verify_cost_secp256_k1 + }, + } + + @classmethod + def from_amino(cls, amino: dict) -> Params: + amino = amino["value"] if "value" in amino else amino + return cls( + max_memo_characters=amino["max_memo_characters"], + tx_sig_limit=amino["tx_sig_limit"], + tx_size_cost_per_byte=amino["tx_size_cost_per_byte"], + sig_verify_cost_ed25519=amino["sig_verify_cost_ed25519"], + sig_verify_cost_secp256_k1=amino["sig_verify_cost_secp256k1"] + ) + + def to_data(self) -> dict: + return { + "@type": self.type_url, + "max_memo_characters": self.max_memo_characters, + "tx_sig_limit": self.tx_sig_limit, + "tx_size_cost_per_byte": self.tx_size_cost_per_byte, + "sig_verify_cost_ed25519": self.sig_verify_cost_ed25519, + "sig_verify_cost_secp256_k1": self.sig_verify_cost_secp256_k1 + } + + @classmethod + def from_data(cls, data: dict) -> Params: + return cls( + max_memo_characters=data["max_memo_characters"], + tx_sig_limit=data["tx_sig_limit"], + tx_size_cost_per_byte=data["tx_size_cost_per_byte"], + sig_verify_cost_ed25519=data["sig_verify_cost_ed25519"], + sig_verify_cost_secp256_k1=data["sig_verify_cost_secp256k1"] + ) + + @classmethod + def from_proto(cls, proto: Params_pb) -> Params: + return cls( + max_memo_characters=proto.max_memo_characters, + tx_sig_limit=proto.tx_sig_limit, + tx_size_cost_per_byte=proto.tx_size_cost_per_byte, + sig_verify_cost_ed25519=proto.sig_verify_cost_ed25519, + sig_verify_cost_secp256_k1=proto.sig_verify_cost_secp256_k1 + ) + + def to_proto(self) -> Params_pb: + return Params_pb( + max_memo_characters=self.max_memo_characters, + tx_sig_limit=self.tx_sig_limit, + tx_size_cost_per_byte=self.tx_size_cost_per_byte, + sig_verify_cost_ed25519=self.sig_verify_cost_ed25519, + sig_verify_cost_secp256_k1=self.sig_verify_cost_secp256_k1 + ) diff --git a/tests/test.py b/tests/test.py index 3cdc45d..1719c6a 100644 --- a/tests/test.py +++ b/tests/test.py @@ -15,8 +15,6 @@ def mnemonics(): def test_setup_accounts(mnemonics): - #setup_localsecret() - #secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') secret = pytest.secret accounts = [] @@ -75,7 +73,6 @@ def update_balance(accounts): return {i: new[i]-old[i] for i, _ in enumerate(accounts)} balance_changes = update_balance(accounts) - print(balance_changes) for i in range(1, 20): assert balance_changes[i] == transfer_amount @@ -103,3 +100,13 @@ def test_account(): assert account.address == addr assert account.account_number == 1 assert account.sequence == 0 + + +def test_params(): + params = pytest.secret.auth.params() + assert params.max_memo_characters == 256 + assert params.tx_sig_limit == 7 + assert params.sig_verify_cost_ed25519 == 590 + assert params.sig_verify_cost_secp256_k1 == 1000 + +def test_ \ No newline at end of file From ed993d603e7a51810bd852705e94235c15c2cbc5 Mon Sep 17 00:00:00 2001 From: phd Date: Sun, 16 Oct 2022 13:18:22 -0400 Subject: [PATCH 35/47] final spring cleanup --- integration_tests/endpoints.py | 22 +++++++--------------- secret_sdk/client/lcd/api/wasm.py | 18 ------------------ 2 files changed, 7 insertions(+), 33 deletions(-) diff --git a/integration_tests/endpoints.py b/integration_tests/endpoints.py index 08e7afd..adadc55 100644 --- a/integration_tests/endpoints.py +++ b/integration_tests/endpoints.py @@ -1,4 +1,5 @@ from secret_sdk.client.localsecret import LocalSecret, main_net_chain_id +from secret_sdk.client.lcd.api.tx import CreateTxOptions secret = LocalSecret(chain_id=main_net_chain_id) @@ -12,7 +13,7 @@ print("---------------------------") print("Bank") -res = secret.bank.balance(binance_account) +res, _ = secret.bank.balance(binance_account) print(res) print("---------------------------") @@ -123,27 +124,20 @@ ]: try: res = secret.tx.tx_info(tx_hash) - print(res) + # print(res) except Exception as e: - print(e) - - try: - res = secret.tx.tx_by_id(tx_hash) - print(res) - except Exception as e: - print(e) + print(tx_hash, e) +opt = CreateTxOptions(msgs = []) res = secret.tx.estimate_fee( - sender=delegator_address, - msgs=[], - memo='' + opt ) print(res) res = secret.tx.search( events = [ - ["tx.height", 42508], + ["tx.height", 5599260], ]) print(res) @@ -159,8 +153,6 @@ ) print(res) -res = secret.wasm.contract_hash_by_code_id(code_id=5) -print(res) res = secret.wasm.contract_hash("secret1k0jntykt7e4g3y88ltc60czgjuqdy4c9e8fzek") print(res) diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index c40c9fd..f41fa04 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -54,18 +54,6 @@ async def contract_info(self, contract_address: str) -> dict: res = await self._c._get(f"/compute/v1beta1/info/{contract_address}") return res - async def contract_hash_by_code_id(self, code_id: int) -> str: - """Fetches contract hash from an instantiated contract using its code id - - Args: - code_id (int): contract code id - - Returns: - dict: contract hash - """ - contract_code_hash = await self._c._get(f"/compute/v1beta1/code_hash/{code_id}") - return contract_code_hash - async def contract_hash(self, contract_address: str) -> str: """Fetches information about an instantiated contract. @@ -172,12 +160,6 @@ def contract_info(self, contract_address: str) -> dict: contract_info.__doc__ = AsyncWasmAPI.contract_info.__doc__ - @sync_bind(AsyncWasmAPI.contract_hash_by_code_id) - def contract_hash_by_code_id(self, code_id: int) -> dict: - pass - - contract_hash_by_code_id.__doc__ = AsyncWasmAPI.contract_hash_by_code_id.__doc__ - @sync_bind(AsyncWasmAPI.contract_hash) def contract_hash(self, contract_address: str) -> dict: pass From a0a172a229a62f75f18b4d93c3544034b93c92bc Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 18:42:33 +0100 Subject: [PATCH 36/47] Add snip20-ibc + snip721 contracts for testing --- tests/data/snip20-ibc.wasm.gz | Bin 0 -> 180256 bytes tests/data/snip721.wasm.gz | Bin 0 -> 246044 bytes tests/test.py | 2 -- 3 files changed, 2 deletions(-) create mode 100755 tests/data/snip20-ibc.wasm.gz create mode 100755 tests/data/snip721.wasm.gz diff --git a/tests/data/snip20-ibc.wasm.gz b/tests/data/snip20-ibc.wasm.gz new file mode 100755 index 0000000000000000000000000000000000000000..f4564d19e422f4f496b389b059a6edcf215c4493 GIT binary patch literal 180256 zcmV)OK(@ahiwFP!000021MFIRa9zcD-~INy?mhQPM=wj31)O`)A98I#v_^6br9Mh! zm7$qwJDsG^&In;E#aBiKSvaMCSON_3bV_0z$g7!#5)!!`NJ*d>C#8unE^&xyT!uCt zhe-&fEq_4bv`#`38uxqbd0bgGn4yzNCo<^l>)ZWyzu$hZm73UbqgG1kk3#)An444d zOV3?r=BP}+v7)i4so>0UvpXkWrKE+2=v~(-EO>LavrL~|yXb!<{*+>nepB zR;z^?4K5Xi`g6@wq+^(ubSyTet1*$`E@KDo+C^W(OX*$6tL!6Zn)bcRes-m&pm)KH zXC|k2`dh9apP8K4qFky4SbOix*4as=s9NIA8@KPAR1VcUH&0A&pWeE8V%yd~nH-KJ47*_y9is4}MFRQjUZFQ%!-w zqVn(`fTMH;<>x5y%Q&L!g3f*%`N2+G!Zu@&N)>;whVAqL`-^CSir{-y0MGThsoh)A zR;_^Nw@09=9U7GJh`pB1R^{P%tz4v_A6+Ve!yKrRrwLsS&glh?>);qygGNf;g;P=n zO31rnQqOoE?M3SV`jGvAmUUg+H10yUM!p;;-J`EG(JA^UjdUwr$MbP&aFrZDKxgA% zx11PH0NMfQ!Q;aP&-0YVv7sHRb-7GzJ0UOPV4tHxCk${xnnsr$K2=r1h2;3OcI^+( zo>uuxwF-zaJRC5%tX77(1{9fZJl}P}MOIho_i`@kIXh_e0gY5ivP)D<0a`>8-Qs5$)YDF}-Em zqG;mU@pa>uj&I&RJv;fwv*Vi)@(A*O(fwx~ zwq|6j_Uwx+cy(u2cW!VGOK+7x;Ag$apQYYt&Q)*|0ZX4Y~4OR{wr!8%H!i(CT1tb zC#Sa<9gdIRFgbD4`1KPzCJ};r5Wa~HAJG47?sV3?<2myhylSp^Ku;fnM`2^K{h#zr zV?TnwgU8{EuxWVxuYL}uKWujEJM^{h{*7zi_4~hm`ISe^UZ?X(__cK-Yc^f`5BfoLnO^e=Gj`2xbEkP7ehjynzc$}A z$IU7DnE4-gR^M(OG@mk`HVbCcf5W={=C90809i3l;pivLLGz6HmU+hu=9sz78T&E3 zXik{#n|;oIn*TB<%?F)(obsvHYWF$24LGRzE>uZ8RrmW|)#G^j!3eiAj1#z{`;n-et_eH&tb0HV51%oxt*(^x<0qp9k^1hKywI_srj zqhgg*kSS_aacLNw5WiYxjT`+c{4C!8Igx?sS9JLJ4{+mGSBcn>Sra{5ceu;BY85UV z;F$(juc~Pz0OY|WJ&i=mA>m@3_)$nW1QE&3BvisLQsKGacA`Is4fZE`6BF|>)YWKJ zQ?nDR=qpAMr)D)c!!#>1+ZslPvHj5uID=DlHwBK#fnz7EIlMRl2W6E5$5_Er51qXc z89M|VW985U9HOmz)Z+-fBlPJqp^!NiI7Wcu*hz6d?wv~Dot8QSPEK0)l9P8Vs!J5h zpG2Sh5bGByMN`sj#?EGULKEtALRg+1ize!!K@9<8jDUz90W2Y|3_&kOcJVV1y$JN} z$60lBw_#XjIAct@MVz^@OE~kF;><7N%uNOfXLtVMwx8Q=XA$CNNhWXKb^m@Qh8NT? zZh;Vt+z#}FDTZF$t%cDGK>w!6f*Zwtep4&a`+uom-iHJp7*BIrQ577-CSL| zq121&(p^qnx^G=wx>mcnsdn?0QI~G=B&x>&rG}Jz_l(`q4|kT3Xr`zGmCrCcDj|d%v5CZet_Y9)2!5-)_PsPJFQ!el9xS+6&*> z3t#MoOQQ3avlo75FI=G)?UOAN3Ylv~=ZolEJ85PwT(%cTo!g6?w8>t$me4Ydlp-Zs z8J1t!O39a#6-D9j7{tK>QS2IVqy)BYv3AL{CxDpd?xn zTY69vLL3d7m+9L!Y+j%*8q??Li^4dD-{gcQw`qMNIjT@rH2rFGOxL=waS<9UQuHGr z*$a*6OMrzVz^hlWcvy-hV&o7|B11N^2*QL+LDU~#LLCToy(|h}=uJwCXH=lwFSKPk zhju%(oDT(=3YC7q9v6xmlB2w<$01d@IA}FI2E*nsp8=0sq((d(I_A}QICRLX%^s+A z(03kcD`Yo&q3#d}Ai0<4qq4)%N7qQaN5*_S8*_j2m<2r1t_6|ReyE3|RWvurLw1lK zhd8L>6C#d5CiA0UgLmlv3Rh&%W7#YRmd--VFXAN)1u_|09>KO2K~252fEa|xusNWmd{_^g z{W`Aj)Gr{uLQCHow-jj(;J9O!X1^xHCG6h&=(HpO>#C@ee7I;Bud9z26Lp0jvmfr$ zwRFhB4N+px^2z+-iW$Ec!&HRb;=;$YU^-=)1~4t_jQg?5KMSZp7L zE%*tB;14Mf8G_#<-(d)T3qLD{&0tK)jz(N&LJE*$SBgimSe4>oENUrkoQgY;*AZRo z#M=7Ch!!;*=f|d!lQ_O&cfibG@Ux9nbLX%bpe+OG=D%ryXs(=QTR`%wqH^&QkPT4@ z>2^9~jz6X-VyIZnnrYbLznE#AtJnvm!D6~tHzdJqGC%*ie=`<)W@o5jXEOg&!}Xmr zGehXNkqDRxrei*^tq+~IXf0t7&60SVowZh+Q8!^DreWo?N86o&%bzE;0n)Eb}TAE8m?EPhuk@` z+YSor?F;OaI-5{CoYHrUIKRU>pgp=B^=_pSvJK!hqFGIX1&M(6^fgPg9C)2$%ad7c~qv^X7zmq&FSWImT1mHLfyiw zQK>ALBZ9SckB#7A8Dk)q8g&oU34?WXZ?38;a+0t#MPZa97G2eSmL_^BB+cHlOA}2d z2@~Uu#Irm~Twx>LC7_Yj3TtV*79(fX8>|JgmJSo&t`(y7E|117XoyO2nG6vgPsd1n zSKNcvXg3<}4zWs|3kdKYv^NR*-*G24E-;|*d|Ae*$jL$;QT8naP<6l+*z(xji>N8q zV+q^)`9j3V@o#de(xB8LNsZ+febq$YgBnjeD8_fKxETXAjX0!5k~+q2b@Y1wUQ=e# zp%|`_ym)t>eW3T4<5YAP(`@iI{2e+`hY zM|xq9g|&$OF8&HpW)6BWt+e}ycdz1b0|wn_;wY}c%OV!&6*MkJiZ5faMT#%wHtcyU zb`NLftdyIx6=I$cf@BY=h_^iM8cr>nBaOJ9RWfq05%)?7@wZY+{h3)rn^%!iC9|4A zW+^F{e3)FeyLJm9Mh1Lu$cv*Uy3s6Jf<~I72F{;1rKrhZQX)G%M2S&r=jilXi~ag0xNaKby2Thb;Iv+& z?oxUojd2Od(F#tXaV_f3VqEE3-UC}ARZh$~Y4rP=Sm*P|(HGlE{=x|m-!s$v$~?v1zCVjCTA^= z>t@|XrLHVgZ^=USR#s(1v5Fl&D)rH(E9h_(!*{lRePk3dYU^9T(Avr4d7Cso!x4rp zuEJ|x4$$aVz2qRq<@n2*glbT!QM*pA#O5p0R$M={ZPqqa$)Am{8K>XUPLuHy_W%t@O}=qA}ns1lpEE^fepQB7gZn4@!{^ z^a;v>+^;DW4#{3^Gbj&HmMI17ehvXCWEg-4HRr^!biYpXFDdn+P@D87Sh}*M3sNe) zxi*EP>xQG~0c4U2CJ)2+=6(0(eF>WIN;h4}$8`q(13JV1V^WMH-sZefrR$uA$IfW1 z(ZTFszo*jiHlXtYi_Rm9&B%Cau^Aa(T7rzvFG0pM&W>|KXUkhcXGPFivFO}m(Yf2Ab3RAs?KwJc(^d@|ja~>ZIVHSRY)RjI-nYAe zJM>a2o#%$T^0^HU&JCu)CK}{1*KUeZl?To1=%Xs&|P&9y|s|D zeZu+jI7pN{Qy>z&CM0-GNbs7FV41F#DI4%sR?V^Jrz`rhcmK^z2hv^oUhIHv{j?8q36%(msPYdZ1xQVL#u@)zig4sBv+$VF14fH@V z8g~m}7Y}seaHiJ7zHrBAyh6G<^bDncdV?|j6_iS#43mn_=ZtrJ0p+1p91oiqKi!o1 zRdE;1r)b(v{IpV(q$m+U>GeJd;a|>k;*@Y$Aw|lccjUQ;m3b?3pIG1j+T)KHHx%Bokwk`CF5zbRANnxXPtU zjRbeqda^~_jJLBcM;Bm3@2+8d(KDj&_-$(M;p=Sq;M`l>h%U`i+K{ERb@H;Lw4E$X zo<1}mDh9!6yqwLIn(D$^fn@x%`JgagXFgw;&F44GH@9TAs*@Ny8G(_SLgdRIjl)q& zc>AP=YzO}V*eF_xnQB?|Q@WYDzRU*brzPtvh4+Vxi_aJ7J3^~$=-z*{8!F+Iu)%x! zhH!qKO^Dp}4ap=-$tLiC0&2ql}^Q3fQMle!=hQjf)elLnmtCjSvRhcfA{e!h z6{G67Eetrw9*6Ot#oWuCm9>W3^85=t9wz@RgBvV^04EXPfJhwDfP+M0B?1f)!Ql!} z5&_Pj5GPT+ za|R}G{_K_a?-@m451j)l=ywKUh7Le)NOYQ|X64Se>c&eXu%H@3!yX z{=upaVbaziAR4xcVFH0^g{5NH+NELG{6f_*oT+^OR6h;FZ@X-9 zmyt!k8BPKS)%nqYhXxeNK{0KThixF!9h@t2pdyo6*cm9LM;l1Ox=}913~?TkDp`Cg;Do<@X)H z_2p2Bx!m1j}EdpbmE|OTTwPT zIQXEoQVt>{XIW8Z=5dq9ine1-o~jkt{}XCRfq4}k{~io0rFT@*12jO_=>;8Pn9}1%|@I4nv2-U}nRep<{ zC9>7LRxHNx%cp%&tZ>g7s%JPoaOQ@KEuLwbc1r}y8@w_^eub$0ULoIYjMeb)@*h$^T zKf9lt0hZoJJn{leA@jTzSJ>&S#Ti9Kb!&O5m-G)kc2GIv7hbs>0d`HkP8>tlAmU!f zIzBms@#;0RHTca@`sSwg7(Rd8^y;{^1hA3~g1u!aoUPl#GNOOL;f!W$QLs6oSC#r> zdc)47M=f|gT8IDTDdUbWx#i!G^|1}FCfnSfGC`o-O?H2#jPy>Ez2+vxCZ`a6f6?KjO=A-7gQqM@&wr+qq#WD+g|J%kk38%3tZB?#}!If zzUgtLyd7Nf5uk3I@k}>Pd(@42>c$8z+6iCyEZRNHh|%uJjqCL>vT;LII!Y!#AF`?a;SoAm6WMB$EVY0iCoWZcpsUntYa*N<{ zH64WZH+KT)RW{>vu7UqI`n{z$_x7Nn5!28}XlNib6zC`7lR#)^#V5A-SHJATLED3K6h4}Aobu^!e)d-)L}4yD z^T7FJ=D(h}|LfoV>pyz*v~yeADe3TvVoN2T9`d~)1|)mUjC)(VnQz<$(3EME1BB)0 z-+7+I52xDhUrQ>Fq)sWZaAB%zpRmhlWKeJtF#CSa}^TS7n79Ys(jOd&WrLFALv}2j~wc}IBx-WG;Xn50>rDU z-H}=&-ByJ~6YyQ^8w1H6>NM2kbTeX171U?qG`s;moJOkPngyvaW3I)FrG^;`gc*xa zv_tNwi0W8ZvdL+529_pdR6z zLzHXYErzACpR`C9*Y*E1qziRWq2Gs8^*sRgCth%XpTMJ=MZnafVeT;sd{o!oM6_r* zUcPxC6@xlf@EPxn_4ym=^JRGXe``{vUL7{%Y}k;qmSCYs_Fd3T&Qd04Q5gZ*@K^5dFVpaTj$`XoMT;v)x$84xX`3`!k3y$ju!jLN5^BODkC#{-F{QEwe^@!I z;2GeQwU%$7wWQ1ctNgaJ6G*45;7NLmLHzYt#T}ivWV8dQ<2YcBnPl2Oili3he=!Rc z==EI!`U#3`J1yLu@bp#&{}BXzD8kL#^7}|Q{)7O0gie_wD8Y-7YzeD$Ts23S=9M&p z_A0!-8Ko9u;th{=v{q?!*wLV-XhpG+P6+;SmZ%depgw5o0IR z)BF4O@v`0K^?8}+Fk`&6IUr~1S`)i>}|-@sFSzDarugeEuu zUA+csoux|2>+P=gI5~nL7)_z>=31eM*WmBoptBJ>x+h@K$}yk4=NaRNSs??XF(3EQ zmmP(0;oWmZfTsq;3BU($#N${%X9sd=&#y(@aFAa^$29F^kI;dVUSfW60*Z~;^J{Q& zuf@K@T9phdJD5Tc$Gd1{%fNkP;NFnEz^3BeWY19j?sMFzmb|0^a?K=p>9Izm z_8N`$mAtg`k=c9%7X>L;sEO99e5A8F4?E-eXeV#2f~_tG|1~Lth?*bx(;@;i+^Yb| z(2%{kyD1u%C>cbjhH=|Q2I1QC+lJ-n05P|zbT1TxqX{~ruwFP=fDtzQAZWKX)YJBc zLRw7AzA?WR1@&r3sIc$^@RFPy8xiCPHOS=W2}W{Z8}J6dpl!g}afFwlfbrlaA<)+Q z0(ESOSd#Eurr7X^;UR}FoJ|_;&nC4Dn-mF~gmfoh_G~MoU&SiDoHxQ&!z#h66n14W zyW|tQgwy6)uzTV7g@6{Jmyn5gl>)f~s%9){$QUPrUIfg3wH2?`foG$_dNq2pUZnV~ z0qYTq{W@Z^UkTBS&)e)*qS>#*7W?%mg7HC?)gN{XPbxd8DswtRCC}z2=acAdBP`fZ zRR+&;^ZqQBi=#5^72SH=8??w%%`TWR&@1rhqb|l`;Obin$dtVS9^d*4?vrr>l17>3+NO zNfhn@VLB)iDipo zT}$FF*!*Zk>tTy9)(B{m1Y=E2>tSgMs&btT0#B3D zIi%Q1^R*~5K!2kDKo2v4v8OzdW|QPx6c*?XNh$)5R0OCoFF*4Ez)TY&)L(~Y6NM-& z0yGNvi0gETlf&IZLl{Up3`3v7EeE(Olo|yNaDXsrqbP+7Jc5;`s1qb){L{~W{J^iC z{M6IVZEcT9l&kbUbg(5$R#$1Z=wM6OIYh3>DJkx!lY847H+@{<#hrCTNseP{@$SR* zoK(SA(e`;99z6W>M>)<5n(u9-;BixIzDKegbZYg{NaZ?IVkje(&CJ#NWIdrAT{*Pa zj@{WQANH3RSdhS=Zec+&;5MUis#A_@Wdrg<3X!9f0%m(p!}B?$*gX65v2lzGAibEJ zg!!mI-@Ux>;aIzSXkFk&?x24{H==NK#qOch#3m0N?d$i)9@dvgtSyvq`4oF=<4y1f z&YEZd3iKRVP8W%@r@z4%TAtp1sCz*Rm=+sr;1&5|WIRB8lXV3F8-f-)+o9A*QWzJ> zz4jgSjqf0N8Qj?+Q@l5_V?PErfJT-}BYcH1ReadaZH}oz0S|K1IH_DPD8MGCLlOZs z9uDjC4YIAAz=rXaHSqQ}=O@@Y_6^cSGNsA>1Fygv3Ay=n{eP38wf&BIgC>T|4hx^1 zBu(@W93aKj*hM2O0u*F4QavBPPhEN=G6*-B@wTNtJy(UVgXP>=gjgHH9~-rV1ea`V z++ufaJtd^f0xIf>7OUM*Q!-_yWJ*oR#{N_C@0Tzo|NerfBsEj=M9(Q{UHFs`*dm=r z=1i(di)0CO*3o@lf) zq1}nc71H6;Ipduc$D>G;%Mm)>vLiNIow?-o%{FE(+nD))Y>;6IpotF#9p7FUW9NtP z6KHRSpjW&Ba$gZob$rgCrr>nPN}Pb-@@z*_4K|4M3eY?H&qTpOnJl^U_lP=s4VTO0h0;v!3v_Y^@M-rn}A z{6nMCysKCW;R_HDtx@)G5Rd4-1*8-~{U4j&D6fGyznDeny8uMa+{(N$Im>Y;<13T! za*=LxuH(3Ro0$=agfvcQEf+_ALAwZXF+lUj28Z8+s}?x`aAZAa4o=A_#xCt|uYt!Y z5}AZ7kqJpy;^!$zW5}_Ng)=CNP^%VI7^o3qpg8;t`(*&jd|fK_21*p;le%kXd!!tL zcSnTbQ&lBY)iAA{lEBbg(&|=x^^a)EUdc{rH!>>R!9Ic8*`tO1TA8IYA4r@dL=G@SLl!RvRaa*mz{rJK3Ct z{*kaWt9Bxxs@WJ_Jzi_-iIrzZy{CZH$9EBaBg6L1a~LPvIOuHfcN7#MsWY4p0WVW5 zlgJR`2Rb7dR&W#pta122Xjtm))o{vV+0J9xDiN{zuLlRWLZwy2=XQ9!3-%=)+uM0V zj_qv(gGS}pF3WvI)s^Q)4BLSXG`WGq#6U_bQ*ZZ$JHhMp8_Mpq&pL_cjP8Gussj=8 zd0UliOk!($+ozRnysCz=hifrmO|%nCB$$<>@C#sou|sS~zeZczPiW&XsBu(zC-Pg+ z;K-qTSUu5wGgG@&O>HA@$<*Sk=B?V)@`9|#gCoj}F25~$!cu_M8pdZ`TGqM=0bKayAFvmTG| z1dx}&in8M|bLWvUdZ-yZj~P5xP=sRrj}feqgsp*rXeM|9Zl>l)#b`y)!e`lkfm+e= z7bEio%w4hOF#xhW?I-9N6WK9vX$$aGpt;9rn?s`{kqOav9gQAaU%h{iL-j2)lFGgMl*w{U^dezE_ z70Z{6kByFG!$a*>+H52-TgN-Ag%na?vtRmc7*ad?OHcFntJ(duMGk5lxYMWP1KZVS zh@xOqW^Mk)XHbOG4q^q|sN1tAz1DVpPE#>JIb5c{qjkOAgP+D8thf|CxW0c6w%I-S zhu?x8j9-c#Z0p~Hm)kw~OYFherRc%S`}bh0-Gguc76~XXK@Ya}@4>X)gA>?;^iuR- zx_=M0*gg0%_F(8z^k7T>9=y!%!LMJkIe1zB9$aVl;LvZ8LDD7Y!FBz6@KU=6e|SGx zM_z&+ytIE0e#q{@M{o{?FGUZ2sDBS$V)x)@u?LMy(Sw)t@4;rf2k*RObFjI853aR) z@V#S~3MXFMzXvb2d+=AsF4Zc$xPK2e***A^W0#6LZ|dKJjdl;devGtK=h=hu&~a3a zArFlCi9E?qw8nbl1Mjgj7^yebT5sHkZ!}0WmNf?sW}_O6L@cb1=NfxFpYIya+6y1g z6^oAN$_pCLH3P@m(KToao3#|bdT zD`_HH)8367DrQG(%3htlxH{RTfRCyE@Nu=>gFVOU^!#G=;OhQ8xT?b6f2GdTT&x~k z)xQVp?H)Y!l{#m6v3jt+e-9?@9(?k?OSKA<{d=&^?!oD=kdM{C9$ZNK>jomr!tTN! zeT9ULmtYc#{*%zD5cIE*$;c(>L8pHYax+8YDo2-K4Jf^GVCfYDOVlr$>;YjF)K1*D4^Yt*VUlb;>jfkTI7?Z_=P0C|&i&akeU#ic$aMsy zw_-J&hZzF7|Ii^cs?cwl@45bxZDT!_w_X+r^q*Wz33Rw53AB5WCD32E(Hmw7^nx;| zTY~sm3yB+X(rBhF&vl|y+baF-7c2_(Mx7bwPD<=Y21?A&tK4_KPVN^}lluiGxnGdx z!h!obxnH38`B3xoK7Z&}vikXwThF(%`URBqlFgj>)7@osi+mktF(>6Tp8`LR}9@}oC zxfj4=a4*4U>(04OoJX@1XFHhdL_X@5Nxkp#Tt_m|u1vHm6V2Idahl!AG>ZwD|B^r0?5 z_iaFT4WLsPbut*hxrQS>!Z{S)*%{7*SyG0dWYdzSKtOPpN|k|^n0d)Jdm!P}NX%*^ zvKoo3MxwVt(qkJWWmJafgE3c7D)jB8V$y;)X)V)y!`FQ z0m6XX0u*MMfbGt9!d43bTj{)pOhv5R$pL4p4a{Hy$yOUkw%UNR)lyitppvbYKrRBvGWW4Aim()f1dr6pcV>bu>yq&#TB}CH64cFkIOv zDySaF`d8QU)nq7&vFkuSywXEl^4 zz1@Ya+>X6%sowTNiO}8Dbhn~yQRHcn?*4tx?uM0jzOjddolEL&x=44Mrn?m(!W$)l z-Xh)Ihusb8-Hj^muxoOyyE`fGX^$~IvG|ypi;Sru1}41#>JBdL4{q@yl}Cd=4;T47 z82q`v$miZ7<*pifukt&fSRvhgE;1%O!5YU>*5vGJy+mkB(-Icieyx>FsTJbvr+pg? z(h3g$0|b{QG(%a8Ei~>`Ui&kAtp%@buDr&*C1d<4Bo2V@vu}IcM*l9LsZyTG(W;4b zHq};C%vjyQ(>iF{1{IS@&>c3PH_RsFhS95JfNx8TXX=dZN0WNEoqM#E(aeM}g!b9> zPR)3sluBrL;oH#U)74hqCw=Qk2bNlUOqy`*CR_!uiCN%N$3+y}o46D9*s2&)OAyCj zZ=EZD|I36-DvasQwrjugkB$8G@abPW6qnpQ>_|jUzxC=_iX8j!h`$< zKc8`L(-bJo{woErr8v~Dx8qRXp#c=xY$XYCIrk_OWS{eh-=JCuSKyyF$N}*Vb`OB7 z*Bh?~M$oQxE(=*nMa&mTlOC!hdxk^ev`!Ap=%Me{R;b1AI?ts8PkT)(7W4_HM=)Dmq$23ax&=Mq3scaOEK$%C58S~+eRpts;0|sLEM08(FO4B^ z2iB4dz-`Hra9eDU$alYB*=M{_`xc--FYyC4sj51$yIL^dR|NyU5e!h$A=)0U77X|b z3Ie^^T>j9lNCaFth`Y8#z!$@Iz1dtX5pYQ&;8#C|&GxP1mQ)o$@K29xi2&9XNo_I& ztk6{zdcC`&$Q*fBRYe0Ru-HB1xt?R4-@i@_-D!{cV}AJ6uaiOVX(op9@JnB(qvL5W zRX((4b%Xlq_NEYKar=V3B}xCg<6^wklV%wCrx1;r1oYI`gwf2zTBt@f@EvwAS(=nI z83^-B7*x-_9Gc;>d6OoW7ck^5BdZ=m?lQBg5lVcg%h0MuDDj;~=^%g{)Mm;%j%T>x zMW(Q^DB9>hg>m00j0V;k4lK2fuHU%7hahW-6VFaql-op4SieaK`wk=+I03!|DPI+v zq@HksGQ?e%QWAgrKSN1;a-NcS5m4NTMtCHOKj+-pX(~~CZ=w5AC%)ITQ{T!2cDIkA z-vZ2VLWk6Dp?eQ;`*!WshrusjV2XvMQGvASkoWB3rdwDqy)3{BEuwEnA|wRg0$rMs4s* z3BhY9PWVwVBKo!vi2*%|2TKN{MLu7$;IU8nMUg!AFHeooQ8CF)jse_9N=E%T?et*> zUtf{j^+k-9Xt2MaObPJ(syq~rxZnO7Q^XB^M%kUcb;ljRvb#%R*|nujW-M*is7O2;yz$NmBPPkz zg8r2zQwyJ#B<9M9oRM6~Fw1LNo_!FeIQ7M9iE@zwrd$~ zhhk?PC_C$rPs0_%?XW!YxFu+V%AR;!Q(deryf}v25rJ_I0E*mzhMI_C3^3>vWGoaR zdK@oecB|ILL}-$QPRndZ6md9`1$#-tB`rx*U6RNw2}NIts!I~}T9W9(mqgjp`)US* z?jG>-TJOx~A%N`sqM{y$a`ce)F_4O_Tlyb?0c;Hcj(Yb;{t3Mq(SBx!ne5?+v}U z5{d*v$WXKkE6FG2_Y8D?&j9m#23D?3U-EnUnBTK$<@appOq&fmS!@Gy)A~v;*qr$R z{4;!q1R!c2K=Zv@#2KC&0QNJxFE9a%#2rPMS4Wg?7dzysI4k6Y5oezg&x@FO<_N=W zH{@$zUdk50Hz$_F6>&)RhB-Y^B)%VGHD>$*<-GRu24Z2K0{SuQ)13+Q=r5{FpwJUi zVB>N~Do|ErPw70M5=?=-%)gFzUr{n$TuVpA!J2liw>p9dqCuM%3Z1Rfj>|jAD_=3k zVo_y48rcSpemiN zRHs2yTkYc>$09TF5FdLt0z``$hyy16pY`R*}6@d=4fM%iRH<{ZC{ zQjgO5sqE1KMJglJ&}(ef&?|NDxZ_4OEcg z0SqTyKKgFTZ!D*j9lLFm=G!TYeJf?L&r#?CL1_V^wA7%qP7_f`3$T>JY)u=pH4(GX zu_vu!we$cUv~N*Sc6`QafnYT&7d9sgmjtE}<1|;}G)$iOZi=7+jDnH_5KE3`cEF)` zQaH0&Xf5c4)|zT{T?{Sb=FMqxRwJ~ACq9ayw9UC%5S)PNlW-YoI7M9d@J9yVy7KBd z(W5rv==j`{_2YY#j&11DS;q*ft{&LW9d$g6_5P-8tG z1tYr|Tmr#*v>Za0n>yr9szda&G@*_et}%hm0qkQep={hixbaUt;3SDqXB6d-?Y=uu7;=s`-gO#w@ZMpB6p?t04XGJ^fVCB#&Z&QM<;=gENUKWn2&9kkFC`2 z06ozG9nYQeEy@;+W|F-?*|CNp&vP9;+ukgx)rhIV46X2j1O>#Tv;U5EDkmRsc$d&& z8UUUmSh_mKU_5P`^i#Sqic>`~1wEQt3cn{A_5^Y3`TZGJ0tXTo3H%;T#co0nxl7wN zP+|2nD>_R7*(Ccrl%o|s$`y1NAJXIDBEj!S;0S_)KO96lSw(B3lf3VSLj|#n%MIR_`H0&6jd54n-Mun8SChdnf&$uHh;03>k8K(~ud8P;(L?auO8G zJ!DQIEFXS|If;-XorWmB+K%#QMB8vo621bjwh~_v(s2s;iV*pV8{t;-6?oJ-L1Nz> zyS2qh$by*@#8j9Vs38j3x?`Y*8~h#h7^tDdQsW_TNY}PA^Yq_;X9X{P^*29N6>TU;Ds^ z?o9)ftz4~Z(otm-jw*|IpM$n$FLTnCu&r+PWiS0{SAT{4pTh~ZF>2@+zD$bEfACqn zgM@O!DN(YJ_M8Xq|a<37K$c^3XeUc3xT3=`QJT2@^C8O|79u9zRR)2ChgAs zmS^|WO_%dcVYA%-=+~KWcv62c;m7}nJy3-?@ei?0Uvrx}Hm>l}81NcB6Gg;IN8@fgfrOBBc@$bB44wUv zufoRuhU^hmt8}BEr#MO^jJzLb19claTVf zyL`$n-&iTfT@HJ)@Ho7*!`K`(n|E@!SVbq&4$O&~ehK;-RAavSj+_1u&!TTVU*p1- zD$Keg%TCyVW!Lohcv2N^ym&!#Cpl>DRCmzaO5ZlyeY>tl-?pnlmO4}Cuqm|H;YD?= z#R%qV9c!VSj243`<4!S`?r^67dhRrxO85D+E)^PslRwnJ6a=p42N<&+7a@BU{4n?1 z4rnk>Rzmoma_Z5E&**YQrB6wDz|2U%6B5`}B;AWSAU?8MU6zYD3UZfHwOz4iDn^~a z`F!e{PmySz&!^qP8BY24Gq?p9BfGrEpA`%^3(bKGj{m z2;_4BX;n@TTP;6c0k+3$@uGirIpK|G5y23Jr$eg=;3M`=Z4V7+Bco&E%a*U0Sh;Go zb6)Ga+N|&D)|&JBbd~vZ6-FztK3r)&T-jQ6QFqXU*+H1+^VwESFBdp0nwt$<1zppB=m5C*YLn zYBql@=yMd}BTmEh5D@tvB;M}n?dRLu4^6Xq|M|TC zX^!9qXrHLOak9r7rz&rp?(xQi{lc2=@~0{_oUPVC`xp&pt&QwgHnLCibk32T zOrU|;%#0KazuG$FJFa&zL=!r>m7+yzRy>9=Z_zd?08~J$zb&{{3tFvrUN!XSY zZ%~D&Yr>cJFG*;7IVDUY487!HRn69gu1!^?(S9#!v}d!( zo-K{`Q5x+_4|DF}<2Dfal`4D$BD94CAPR8w(7`nwfi5|PBj$8jrQy+B5$;k0;!Y3Y zh#c;6%kFY^UWi_Cj97}c0Na)7z|*ROf%V(`lW+JZpTGCd>wC|9@A3EEQoh%tbIs^n z{@zVZfWBG%?Ok+e=B3BwqttForiznx`Bc3#n>BoFy?F4kxg)G-H+;AZAGl|iJPb96 zj$W{f)6L0FWj(2z1{eDF45^M?SLZ1r!%c)0ZXzUva9nW{6#g_l0h{37Zq7S&0#q*; zt_|i)s3I-CBAROP73m(g8PEyCfaV^;ws6(l4A(FeU>b49Zm1pTrubW{$Tvk=cb3?+ zv{h$l#%+FPqH?xg`pBrAal4&~dONw@&ZO1Oh1KGkT8u^1l33&+ZISS=SCvlshY~hc z85Q7a1K7;FuO)ybqXD?hUQ2N&-SQQ0hO)c1Ic>U&-claLyH-ig;|_bm~&1#P4iZ8oSfaS<`Lv}a2wTckFw;FtumTo`*V`<4oxXwUVpr9H$k>D7sYhq zwJ!QuF^j5vKz!Y6hkEU!MV9KdBaR>x)54Q3L-`zgG`&jd8!!Q0j|nhUc|3Zk>S34B z#l0qHX%3hVBM+mw>nq!_82jQrAd6rh;kV7_Q?bYFko*oUe(+rJMY7?-jYCFv*>Acj zqE%Yvj$cxWOP{-mUrRtp$>ivD$o(X&Br{IG1Gr232vrgi`gTG>7ZVbaeR3Y$yc(w( z@%5`$ADTJqysZdl^1Zt_Az^rcT!P(NIzl|r-8mp1VeqW;5uSDazx@&t{+a7}dW^mr zBdmEf>7vJD#G=4Xx_D@&rH1I;4b93BJ#wI$5c7GTP8~Qx-yWeaBlLM=@Cbc9Lf;;t zZ;jBmMkp_pEqj2zJ;45pxTLI-hh|RLi%28%d*+lpF>n#tPwLq$;)(u?_^bi-+!6ux z+$9FobN$Eosiouw_3L0t)`hQLO=loq4M!5$`-5_Tmglov4m*eT*jvvI^rn^uc~h4b z@TLYKk7qZ)F62=eV4w!ry0imqUBJd#;sB2?5qTWH#K_}#|BZDKlI~tTw=QiFw_e&c+}d{uAM#XsT*XHc_lRkoflI>t%p7WtQq8xWvW*Y;(MlNh zrrkq<=eiCa(zD;gRM5WgN0_M{2KJKOd1FM{8zZv4F(P(36KC2`yPW|56&^d%qLZe# z+iD}oRb)CH2|2mktX)r5HgzE}Vt~pU;jC97LmKwMcE?JIaZRJ?K4Q=UbLsNwMIZ z4t!cUVCk>P(W2^uRpIZn@0a!;S%}=`y_HnaId2BzQL@R&InWMVb;@r$JLz;xfK40c z8w6o%IuuTRf-k;?)WiA_@=MIaHplhY$nQ*bltX9s`yPiMam(d=P!D*u9PK9JSF*V)t);{b z5x+Y-q=?E1Fa8=5YY%1QP`MI#Y59a-m$7pw#oS@@`*1c7Q7E1Vvv=JEP=|6ing$q4 zE&)oWFlNEO<#CaZIf?Na+$f-)1c5lpo9vg2gWz@5VW`lnS1kv{6{f5%Z-x#K0MEP~ zFu_rb96|yix;=#(QDV2?Y?9zzjnl1;Gp>y@w#Vu6IB`7eW}q|xfjB3IydFHKIM=CO znMAKlQ=|@@1L&!)9in`9DkC#-EAmp6|qnxQ*P@BhHWb-6T-aLWYJW9a?pweLy>*(M)mQqr{1%V2Ht+shw z+&pZrK+{m$JV0^&O~38qB5VQWL105N7V!27YTGB$+sC!Hk6+zB!Fl11e!DH?-4^PJ z36)BbT(@i5x5(DM`TcfVD7!7_zuTI6DU-@>`!$aPnP}cj1Xg7^|xq6 z__W7&Qe*;0SLbi=GxqPs5H;+FFCFsn6Y`<=jSszVeCU1lq4%{9z0W@MKARk&4?SM8 z5512=*af$=OW21Vf6L%5dWc^1K6+GcWn4ccG);WqMO=^F-8ya063z{Wk(>4?fCf38 zr{{b=s%^Fz8yk`++LwkR1`-PqQU(Xaf#u(DoMVP1tflGqWul?bK(`nYr}uE}US8zk{Wn+O78_ zy7m5*PpA|>!jrDUgfIK=+Ryj@tT&Kw1L8K#O&|+G_1kX4d-rqwFj!>jF+>d6=~V0g zuWpqtT4yu`Ho*=}`P^qk`8=EQ-PH;d<+}?hAFGt>yogt2E-sLk-PenjStsX=Y1yYd zCJ>p>GCXOIPuF=xHXjgN;iHiqcg4qJ|Bdj3V_fZEn)P}jR40*U?aFzviDtp(BI?4# zYR7ISR+|m6l7q=+O{}h~5vv{D#Ok;skWOQwKvsrsec4mN_BPjfARB!pdc_+WSy60* zKVker=&FJvF<=X;_8p;8jG9QYLEuusLIO^F(yrs$`ZHJNIp8BgrEE;fh)xM!$n_Cf zFoRpAK9UrL=s^(y1*#wcJhMz!6P{9gngX1?T)X8zn%(jrYrAEU862upwE-K32Oip6 z=hM|VAY{cB?;dJ9ffvv}ZV>oEB_aqJcDND)#8uI+;kl<`gY=6C!ucxuMFe^1YfFp> za@khtKbckfPtWNpJr%pLkcoKGIWPZXU?z7D4g1Z8<2Hk4Gxg%I88zup{uQ;L4ZWQJ zpST+wXXfeC_kZtm|K*QA{lA>s$UTc0)Ui~I2cE)DhwxMMf|^gTa1^bgVDi8BwaJ%*+hSb#Wi zeh3TDXr|n+3eZK*EkAE=QQPo!{TagO{Brzk2pdD4$uH|d1l0LaEF?d_`Ek5#VSSR1 z5$kJ8-nO!_dnk2$^^c4EZwFPLe|1a)c!aEn+rb$9-#ey&oEZBxST#@gF-o6+uj3T{ z(r?QxzqbY7YoxWsBhf?o&fhYFO!I`E{j7P0XqcXT#5}{`eDn+hTne3;I|)oPVw7i8}WZOBmU3N>4^W%v%@P5#NSAc{brCf z9Ixp{&1Os>E!n&(*gM4n$DP9rFT2y)TmEI< zTlW}9yXQHDw2#;v9u5V-$paLr{&DDRFDZs(dE5%y<*KYiW{r?X_}-b{yzhVi%Kpzi z1w4Wyte?%R30rsO>m*<5$JV8vM#-%lc{vKIQ-mtSQ_*b*>57n_O<7ICB}Wo2ab$Ej z6u0DIfySE!8C`nDGLuEX4%H&c{|?&(plv2kwa2m6+_^$RODjJ?w&0YUlH>^7vzFXF zG%eMTC2pcBQcf*78;E*19+i*E`aBeyRvcG~io0Cm-XHYc2%&h#9G!Pv4V5r^8L(YA zY(4T=k33|X)M~fGTB8B=IkdVPa1Kq=*P!=kQ89?!<+kuWj*E?<^iV6OL+SDP6%W@c zaU)wMeva&~DcU>FG3m9`5PJ50@T3QoNsqf{Jm?yNt4(rUiOlYc@d%yLS>q$R!yUWP zyx2tj^}D0~KIVF^j$>&;;%R3c0(8Jug+JrogLZ?rw`qozWFLzHEb{ZeWSm2J@9l77!o`i5+p3Mfdr2s0qs%s=)At8Q+2Bd`aQ>| z)(Lfz0|GSHNB_woWwxvK8D|V~jY<9DNesX5aHau@jQ{9EgbTmp^(FVDzmP1^7t-9e zZI08;Ll9xxJrqYFC7_Q})uAuEQ<9uf!$`Cejsd+917rFmvZCn!lS==R&y~mCNqNmY z&TB>=`a9bV>y59!lXClboYjoqU~}V)qCe-TAEIO_V=1YQs3FOff)+6T6sj6VbwB^$ zoszp$`nl7pY@_NW);Fr_o1)w^p0Vbq%qI@kJEH6T^LI*4yYm_U-@H?TQuZDH(-^kW zU&{DL28}<{{d~G>of?bx^B;Tmvw1=N%m(#ySoib3ch&pZT)dwTyi0<328;D#cu+5f zbT9V3s|qbk>V=+*MSC$cs26SBi-+DtLXu0>i}s*iv~(|i`CW9lzEr(v4eCXz3&oj_ z9Tofy-o_$i;cQFst!#=$x__tgq29gt8P?hu)MPT~%XrY2(V#EGL0<-gzVrtbdV>nx z0fpqCkpXsFBB5|fpLw7rz zU=<8%T;A^SG?5RLPjY;8pZa%$$X_nl9pkCCIF-R;k8>)6nq`UrIR?jGX4fvY+{7*| zlSLbAar@Phnp&3kti|J6hDhn#ua+j);=PSbFIA9ouM&OSr!eJ(=%&b6Q!Pgz@yExl zTnnSvr4{+8Hhdkm4PQsCFy!NDK0f2#w~KQ}NVmpk^1U~Bfs(Z)HwVTHH>AEK)xNl- zyGrPA*BP@+Z&eR=mX7MfZL6`ZF)PbMK6app%K1FUKWN!alirE>NUw5}#Nv@O#mc!! zOjCn+C?Xfmc0z&OJ&FQwZysRycBeC{yWJTpm3awSy2|8vGI^uA&z&&@bQm5wq>bqb z9J42I%$h*p8b;LwD&--?-bEOTpe8to;DcP8rpRzYPHcIHex^DUh(4Z!nv%WSC1Eh9 zAD+siHswuFHRl-3J#GVj?GKffo$rvcB?i^vE^*2v^gVnqO5yH34tMVdj@|naLCEUW$7L zN9Oh)nOh%O&^@w1kL=kEDC#?)Xz2rro<{=;`VJ^q`hbG-9Z=XkpztCMsM&Ww&7}{h z*<(QVU@AzmYbfqT8cN!CDCyFNlBPXqn5L)0h?JZCaE@1{VVEC?5b#)yieb8-%IY%R z2y1kM3D`=Sk|mRn1W8E3B&4AXmZ8-~*}4Y8F*>)=>NFZ%b=cw z%w-19@(fx|5UnS~#1&&Sqa#>2u5dg#-~3zRv)Dmn0;il365lyjH1ZJ~b0Z%E8Vf%e zb4&{3PvlA4O;h1lF#4}Zl8J_R7W|Ou=gI@&p;A>2AuFSCKkC@!p}e_{EYegn7>!er2JVd z2|oi)_!lJGMYnKFKzsDz*9)0w~i+VB4Sho1W5Pk)cHy}6_d=Fg?;Sc9u-@Orl| zSw92vI+CQTD6#Cc*?uhN1doN6{e_sR-J!%>r#RC&xmU{p{PpO>7Tild5_fixKSU=D z%o~JtQL=MocGhVCs*KTmkab%$>uz<{T{G({OVXU4b64j4*@VHb9P;A4%@LYWCP}et z903N87c|rz^GwIQlT1y&y%Sg7k?c1Z z(I^{|cbGT<+Vn96wl68L^OVg48Cq-!#U0cBj@Ff_z3kTfF1GO1`F-SmvW}_DZ>(xw zdZm^5b+Yf);hhKfdYWX+;_j-!MYb@Pv$XFZOuR!$LhQb@^Hz~6q1NNtyM@FWH%|L` zYqAP;%?pIOUt;xnWmYm(bMw5Qt{(ObHwX&s3Bz-1KevZeu@*cw7lp@%@tZdB3>K`V zm3Ka+-kGr9Y1!{^8sGF;0-_qo7qP*_9!P7^f&4b-imDByOwtaysJyZk7 ziN(P2ioxKx)^zeaUEnx$ft?&a-%hR_+{rZ;hd6$;2XS0>VZ_nf(T%8fYM2VjXYM16 zXw9X&=v>~{6GwTKcfN!5j@EIMUz_jAxh&CzL8SsF<`kAs6V#nZ(0k)C9?gmSEDZ{c zX4#^n`8Le}Mbd`#%rf29^4xKaIe?q*bcQQDPxAtKo{!uwDtl|&tWY&KFO27TZx>IwI7Iyn zev`oQyaG!|_gq8wl!X!-X))caXoV7^6+)9frhA@N2-WExep@88^KX(Mz4X0mCgsmO zp?fYH{&-TUlk=y$%jPZeb*c=G%%?#2K6IZ&_u#Db5xAdnC>b)=mey)>Rc&5(ZHn&U zcS83xu1blWqCm1TwQl(?Uf$CzlaYt_<3kT0dgkFj?IEOg+M<_k`81QZ(~4Mn*4A>F zSgssQEIlNa6PiywUFB0>k9=xAaNn&Qyfr2U7q1xD@|uAyj}NYTY;f`Dz`92Uf1C~c zczE!~Ljyl<5B|6{aKZ);sxi3gWN>jjxHuYI91iSvYhb^p%Lb62i$A; zwqfsy2DO`un63BW&bLO?>u?tjXx3wueZOWS^C_ADTg~oldua{XTchvQ4L{W+fK=_J z+wm;&FqFqQu|+|mImOCBTB8!nIeBh~;F|FBl|v#c*4p7sJOhxA!;H2nKWIU1f=M9LSQmy|DDf|M`h@573e zFO)eBt5QC5{EFnj^qJ+*E&Q#A|M{+|9Xc$eqn9C)TV@fp%(gu z6``Ni9b4!Z+CsmOY(^Vu_!tLLpElB*^UuM=xr1|mmefDnup9_Zsm<*ia&fmv7n*mbGIrw znbX)dW98SOtjE{8i6b*8M6(q)lPIWqA*tNjhuvQi{O1J!Xq6B9r4w@8uX2J@pWxn$ zdhflBm0dl_d(W-zy{*r7>&5l07gx6)JE(uow|snKwev!=^Fo0^j9rBoD#kQu;;)OQsIPXgSS~(Ih-C$TEBiS$z1N zG;Y|jwQw=Z?X882^B5PdQD3-*y>K!6761K|H+FA`>$c$UE`lzHpL+)xL?xxayIg&X zY!`~IgHJ|ok@&xzA=XZYfB+(NED?j1a1+gni?IGBhvWLKyan}z6tM86677!N5wD#q zAN#20x>3+qe)gl9D@UPFdC0z>m@9wDzR%{$U$E~1kbc&_|0#Ww{SU7b(~Ql0W`2JD za3ql%uum`3eL_|0rn&NdyAJ5ne63IC7OH(ZyHM@ZnT2YfPTBV-7kc#Rv(Tp#kvIsQ4P`X^I#y2&#B)T3rm6^C*D$x+y4= zySePHa(+Hxra_lwR@pq9^H77T3nx_Jp<>0%#NGqYffX|usjXL_{Q!0hmK)j*@wHAn zRS8KtB=1{8mN%!t(YtS$Od!(k`pz+J#OD0?FG0$ zkAUk_*dWXGDv!50A-gr%{Xj=(JXK&KIEBC1ttKQAvDv$qtrB9ici6+O5uI2}-I)Az z#uXEocG7&j4DTk}$UNqFh4#dkkHU^$#`D`*UOJs*#_6m;WCHkMMP~vK7a-||WPWL4 zEe%X>5uzm|CAoro#&cub%?8Z2EYh2RN%o!2Dq@`RYIVMh7h)OCgM6@h+CPZlE?3dA z1sJsJuq*Jg9DqeZ2gRBx_qsi&WgfpkSGRJ(oy$IpKtv&?IxF&EgP%bkc+@9Z}srCx<;atS~PYl=D#Mr>P^YPLtW9G3@co)H`S9>7S!NaPEWq zt?%3ee<$SWsaN2$gzwH?dEXu^O!ngKxnV4t!0Tt?`|$Y`T>q0#mF(TKXV0{M1pBz6 z*2D^GVnwBi71btISWT?3npmNmSfQFYjKkltJ0HuNGCx^1k*|b*SKU*rd|lDZn}_lh z`NTc<6!7<Up}{khouNE{sRR)2y*WW_ zG=Kup!IxkcIF1=XP=21C$f#hsolki<9vlN2^q^_S#5A?g#&M9z&N3J}ZYDe8rWisap3NvA>2_TPdQOW>EOl|Eo>_>$+cRN{HMXTTN9lXX`aqcF{fSTvLD%d0^=_UQ^}(i z;CGoMov*)jpTb{ng9nH0Qwl&Cx6|ro?{Vog z1BiXW#bYwbB&g&z_;6*7B(5ZqxUxbLS5`^lN{b|}v`FGgO%hi=*HjlqTYl>cWci~h zFIlMuh^Y^A9BY1!V>HNXE)eLr?b3dsZGzZ^aeBy{a|Nd(^nS{%2NJ?X7$DJg};>Y zHPxEj4$LiOT7XI&LK_hUHKLPY#NTj;yO893{Z=WqS1InjN@Tk%nin<*qE!kx$)ckd zNx@fGgRfA^6Q=r6>Fj(nzanXHv5OIfy;eC{Bh$Bf4E6|3*(1rxiWPF#IKQpWUGr5M z`ltrlehsvBR(5`#+j(0j>v>!2@Xz_F`^~It&#b#N_;cX!d81Qs7U{{h#MF*daU4{0M>m=?o>a~+@XM_6Mq1TVJO zrw`*O05eYPQc8id(tHTmS~$C8>=Kf46%@h)1HrYCpGN&Ve$u8;WNlz6Qv9S1EukzH z5owb`L{sdQCRsfY(r=RcK+2cL%_X`KwD}TFye+=kKBunoil)7ZoLnT*`6jWJu~mw3 zB@+0_FdB6;Pp19N@YBFp`ptZVzCn2}eEkNrB*S!+jH_p;Tut zxEbNIGZT~skR`f;xpXM%hlFP~J@ZV@G^tI>qN&p-6vNQrVIWqWh@gaf3e_j{t%u*{{>wav zKKCg9NC!1Gt=$Fs2&?dhBL@I=I6sOS9yl4G0NIn(_Zf*Ya}aPwA^;jW0#imNb;6Es z3GT&L$f<=yoUHCeO=k{l`#2p}iG|0wxk=u_;s9tdCmY2mJ1zb+K(91O8%y!C63jZ< zAf&&FUz9p123i9(ecG$WR~>M;15}HjlY^GS30qVT+TA^95AH!*_n>WhFtOwwjMaOP zcK0A1+=Ep2AXPm;DFX&*iE8E!UClSPN%O9JitY63xNa5Oj1Sd&9h1i+YW$#G*7;$G zB&h5rsmJY6PgmjH0tz%iP?np4;YL{oFS9 zn&-B;Tb`@tI9pA;G|;1he?@pyQl9$skLF$O=mFO7t%5t&%{kVhAi z1%&+>9({}r1P&{dPf^zbXtl|5Vz>OgFOa(dV4)2#V;Q=OW)s4}<=Fvsx*)X~I)l);Yiz@>oolxG*~92iHNBYOygbv9&~!Q(CBKRk;fLCH~RD}gc1b{4fzs| zBnS(Mf&~uJ$^hgtK(wj=(K?`V+4G9ZBD)ejlan?%ay$?90XM9tg2PqB?I}r{bXt2W zZ{}B{(?)6csb}+2S`WJxTp2sDg_vf;oA}3d} zi9;Qc&teJG5&4!-VkuTN&;Nh(h_JWB?OW~nK^VnJqnWnaL&Mqn$#q31zw(N;YgVsf zD-|Ubn%LR?H+avY<^@D7$d*jA%=0g#}R@xHj$NGC5)#v9LNKjT6}|0Z2p3kV9mTOe3C>D606==d48_5Vqw zeXFj+LAPoN4NCWhq*@B9swFt>&8vxns=~Q!pR}Z{S{6d|*Z5aFE|~EXs-;r|!0=EW z37CckOv72rc4q5b_9*Fhl)2*Zh&!=$+CPfsvXA;~>qThn5uY>R!R5n&lF9v8jw^?n z$8oIxp#YFK%G^2$;$_&4ogw(i=g?s=>x|*gL}xfp09`d@-w!Lx3$pG*A~u!}D~X2S z?-=oS+{XFE_KyOFN>O2-io*Way&}!Wcbe0S24Z@-Ky@MO&3$JNg;+v;0T;4e2gOwD zOycOLI>i7aaVF}6Bu+(o)lNlySIuRBuvZNik)cFA+T?sIW}Br6Ro(kYAvghhuDGXI zmv?Rld>9@g{UHhkI{D;1_Y~{lIl$xkTUTSo(R^J^;k1qvPU|WPr*&0@(>hDxw9ZmE ztttQs%Cf2Ja7D67q(P`m?qBV({=>>m| zjCp#@G{W`CsHa`e30bPT;SMeExqb_LHd2;5XX%v_uq^MVWl4Bh3Ts(1Ygs0FStemw zV%l!_C0qW;fsTlKUeqSDpvf#MlUYOYqHkFBsDQvX=1Y4#H7{4 zq}9ZvZep^sUT2AYh$@S9JfiKj9w+N))LB=C%tiqQSxw}={MsRH=pL58eMno!q3+q| zeYw|H8v!RG`gYvYwd@P)sxgX6fNudYWIF!^} zuzPsQ@XeF*JCFEr65xkc3-BfWc4XX#149#di63M$B4F9jj3{Jmd@>Zfk@Cr~!sT%B zXuike8_{wdK7hz1AIRxn7TS6@0gLuKY8*=P=T5 z)kgZw+DN}<-+#I1NPh{zX{jT9U0P1-K21QK*Upt6JY=;oHCO(OeGjYiu0z#6|De|A z|6S|z|FG}>vS*)v9d~=Q#6JHRuFn4OBCpQvsb-0e1z8G@d|M_eFh#~>wJpv z<_7Q4pi^A7ZB=G>3xgG@uhrht$~mA&tzBkhM{KHsh>Grr-xCB@V1*BdDCK|}fbl^a znB=DRE>so01!{Y3T25(*8D)t0Vhtibcc=;xzj~+&5udQ{KXRxSL>xo{5H1lScBLvR zEpgRTf{I1mOy}=$u>u#ZGzuZ>JU0-DK0G%uqw~bv9u0-y!!5@cqJx++(L|6gyhW3}|dVfhoAI}>y0r3{^!B{Lw?6bzHNHGTb#KC+6{yi9GKTEU#PK*)K z0+)>8s3v1WqUtN>KXuf}CVPzWCgKSZl%%K18|(}X4Z3M<$1`5VY=yStjBLcydLxpd zS6l!wJLSuuiw=V%P&khk`5C?bw1Ycb2hv4Pwojz@$J0@5@0>Dar=totudyv{ZHFy~syZ~pdAqMCG2)$qAO4BiF|Se-t~Sb}fgTjDiNgm(HE`9D z(`FTL7K%D{)ysG|uqL7-%ZZ2K+gmsH>A}+Hxz`-OD%Ck6JL{AmTxU|5adeC~!H_cj z=wPS_b`lv=?nS7?XWbtKL}oP7)M%uw(Z~vgG03u$#bqsJB-0t?lY9~D46QVM`+PL^ z@Qg=mKuL8N7yCM`&WJY8SgSMDUZJzsu2$9(m@8eSi67Qh5O5y$@W{Icwc`n(MUQbJ zrit$?0Yu8>``;jWMpQJKapaJ7srN(??T)1^Jv7_ z4pAE#P@)Y3LGCCoG9j5Jzuw;Bokn!A0$%k6MpLnK-2zk@4Jx;I1bv7*#U~>Z+__wE z9dYuw9+5dzF&;h1_Ic3YWWG*#YsRU7U9%4oE?o!_m$DV-emX+$k2o}qL2Qvogm8LJ zDXc1U6`KRZh>T9GG1OMD5M~!L#Z3_NE;G!JE`7#q#g1TB?hfxj3w8EEk85W05f*H& zq5IWvwHnQW;(RTd1%(xpa@RH~cWsmM7|nu6o0eZOn_r=AfYx&O#@W2V_si&h)oeb@ z_p9iBVm2S2y{mmkK7p9|4jX?0C)0&LKNZ&T=O@Dp!=E1w7r~!5rAtOtkxB90jj(tT zj+#X{X45Ey%={(nzMNertPMD6sPT`RO6^& zjiW|1j*5Bx@V7uy_L!=8bL;n)D{3pY*jgO1>+ zG5hr~dYzCIHqeWUBfQha#R0#RAQxx2pRmIHgogXsXH*0a8Wll44jXfdLN2(i*;H{n zjc!WZsDpQ72^>#DQRC9yu?OSs9sAL^zGFWeU)YX)U#xd*(rd@E6}p5|WnVXy71PLVm=z5x8kY#6EVWM<*XvbDQ*#2bi5rx=e;DLgs?s2N&-4gMpf>}>sr z+29j;gRjyXJP{@&>SjX1#hH+nWLe?=8 zGQ>WcY6S6n%?OPe=Nj_0VcNb{onoq!) zD1qbc4__om;9i_Ci2aEQVn0lX9XgP`2C3dE=m#w54S9kKdP7RskepPP2{ufLN&-I% zeY^oEC$qK71g{lvMQD#O4WQ;?44zDy?ja}Fgh!jrBjQ%z(RMR4%NV;dhX!|3bDH6U zJ4wMpoS~6Gf895%J@R0hRU5N8p;HmFA%q3HcqGlJHR}vvg-<(d@oDpMolh$&eA>Ev zz2VcEeC9>0w_`U4ngPlbwzgjuj-qMfrwZ!C^(C0ZXv#b0%IH5WF8Lsa!w;1j8Y6fS%`uEuxNhRKMtHW*-U{1e@^y#aT6FStuLI^{ zov7&6%juxQ-%D`5!&*P|dOoJy(Yf@>HsZWGwI({$M5oe3r`klvYNBH`(a}wGR1>5- zXZ?_pb+LY^AMhhi>RJxMN$g&aq72rIzOtBPJXdtyTCBraS00i@!6+Fn--=o|UWEcz zp@3BgF1e!gxtdsH?X{xR% zHh^%*OabbA@`sePlQmz=TkHu-=7uzXL4t4W>6s%{iDzs!zhXh+s>E|I(VxBHg-JZ; zL&OL3G09X|RCXddABiU%0Tg5LU|d%w43LH%Hf4`m3<(^xm-7j7LY*+%_6al72lb5Z zhqQQrb26+TXQvfxIf$fni568cTU5b;byQnYMOFFi4s|MKOD<;BQ6sS2%#T9+de#~L zYi{i{J$b-9$tM`{6x*g6yFoQ}12=Xn^ttvzIeYUC$*=yg=f3}x0|VTtOoK5N;&o|dw8{lz-z^l4@rH?u9}B`7_8 zmMp@O6GqH0PvBlMT zg=zO4VUC;poxrxa&a~Tq+VBf^KAd*{)Vs*rsQq%Dlb5Fy3g@V!A*u~?ycHnka~1>u zgzf)aRRO#2b5#i2`?)HF&3~>6VdrWPcGkW>(-XpuBHB-usBW9SEQ*Y{&#^vfZBeR( zxLcVKcPlgE^HgTUgOnL)Aa{G~WvODsHESMfhCJ>mVJr81k@Cb=_>Fm2v7(>$6laRD zKsXEt#k-i$wx4dr_LCq`N6rv}S0#4k1pBW8!D#RsC`4D8sBzX#`I;Yw{iZTfmq$M> zzWTW7=7aW+%V9m>u4@9#R%Gg{Z+x2VbFHs%hZ2OGvGDc7vDhJ2h3BVe>G#FjF421^ z=9qOboiUwEDY{%D07UWVWFd*k{&Y=?Sv`b=T8F8qH=T#&M!4~?E{=aYMkUiC`8?jz zo49vGm0|Q98epEO2AJoo9EVi^Ay&L(Xm?!vnnx1kW*VB zWnj;)Y~7aj(2X^%V`|r~KnAkLg+CO_rX|p+1YL<`6dLf@{^IGqY6R;4^TU2qPdzJhiP}R%~4Fh?C?n=-H(-^oY`lEbZz#Tr~+ew z3srZyM%QKJ_XrXOd(4N{&Rf)AARourNt|R%Gq|jBY0u_keBV|Kaav=Dhc7WhjOUp$ z**z3^p&x{b3m$nkT=4Qb7Ywin-J4dhIL%z}^hK44_R%;#|K`5Eh2`s8QpP3twWl!* zUb`HagvYfs@E9{7bEMc_}a4OV4ZJe#lz5AL0sr=)5X;iB-W%xPq6Y-Bk2UUo*B- z1I*aY#~`gY3F%`@w(nP%4YR3}GAUZbf^0E@5SrK_*Sk zURTaz>?yR*HS*NGZf8C4hU@aH^T`?Kwjx~3fezgnC%-DcYR0`a@8nni_?wGpb&h2u zS1D%h&DZBs_Y|Fc>h>Z$lo$Did(e9%#H-u!&#kMWsytea5JuwT_3%w6=Vu)w@2!qk z7{Q-cMhawV>h(U0GRvF`1T(L>H&*i+E8kPSjTc0_F&_&9+GGY)#Pj?5@}iO9MPnUb zF03ITa|G;l0PNl|e9V(WUWYNOrW}40gwe$kvtj3HqrHq|y%Amzet20bXHW$|Jd>xq zISpMVLLxzyIXxl8LDrAih3DKrqheA8MDW?NS7hdL!Mv6Fx))q|;qnV_yV!ifzMg!7a1U2$Y+kINac@JALslWb>h`ub<8;=;|HX_$S(h#@ z1=^&5WD~=|ri(#=u1Ps6u;y@pbGe$M=aRyF3P-o!EjqU!dMmIfQ}A!+t#Aii%GIyK zKg6owh>1T*2|S360n7K6Uvgcwm5=^~OkWt8-er+#+kxshfnyh$PP)l-a-L*5 z`4=+XgG^szLD)6irE4w;nck2tN^gm9`W8*md32C=Dxa)EllzYLwMw-ARjhroOc0lR zps&&K-r_3DS;;=#FWpaxzugx}hM%-Y2aL+4p93d`b1@E_d&IYZPSI@K>S>x&cL6{G z@Q~$jWKPr-m5r*aJo=fcn~~K^U*v2x(HlE2?e#Cvl*z~4Oln%iL7(!UE9cE?)Ml|^ z{vwIxxP=X>g$>-ohG*>_+RJV6>gSPb)B4MK%t94HYcgdX?&8kzdP!NVkPlmD6871y zb<w3p~+jhi-VFRCf+B|53`Rjv)O*Jv-%2~j31&(TzSjpI!uqT#Um4jXp46) zVzbSsBeu37XUQ< zWE^=)n*jWR#jV?}naAs{nYMF5x$tNooGIkN?~)XruWDj3*UY2DbCzsC;3#$MKI5VO zVARcET{hqCb(ddkX!=Gc=-XR`Lj9w43^7{A5Tm_N|ENO!nN~Gw)nmg}J+{dy)u<|4 zT2;wejYhO8b3_<@#A;Wv`~UvF%DH_}mC=!Gg7vski;5QzR5~%Au>pSQ!~GHLhpl%O z<8uXUwWoa9<36(^r{x}C5rFJUtUl~=)_e>eHJQmI9_TRqCKCTL6dxrDRgD&nonc-M zVtd46^D6Cj29GA`kpxNFPmea*ew_>Sh%*wXn3l$`6L_6aJ3fWoew|lozs~i1HKBby zF(5wIS4c!E37>=$aX1v*lXUrdo)KTqBC2_N5|3E-4`r7TVhDRVhni3;XtKUU=g|Hf zBI3P=6yA%ijB&tOMHS8}s&H0Og|mt(hgMbgXjm(I%#hI^Eb@_{7tc{_c`yT zHm3AE*!!5Z5cP2&ZBnSiI}vMzh@YCBsI?;HC~Tdz$VR~L6)X?#tmZ&%7!spA;m@JV z7}}b4)-ZXcoTBKizMO3a$#(Dv{ElKYNsSGGv&4)jm^yiAw!Km#tMv+rb=EQ3niS3? zBa~S2%xse>xPG)39pmAVan?kqlwt%P9d{~ZV2$`|LIYDwRq*L`A_@;NsT=v4kY9Qs zaqT+!vV6I6<@ApPj2{n+J$}AQr--9%=NEbTgCG3h6>kRWlJA5qm}4^5F-&-ZHmUhd zrGGa|Dj)HI6pi7uW6msq$6=I9k0F9319%sZUig+0zFG}zbx3)?IL1G|BN-lYBFIqn z7$!3uM>pMkm@*AEFhj%|GHjyG6SEidYzqrSF-yddIOK4a2elz7LUq1I-y|Zz4RhL+ z4L;dp!fY5t12alDl*Dbkkj{*eJrT=S$C(!{DxR+=J;C}ok)t$`bfok-3MiS%u(1c? z`4#X&nor~_c|1pGPaHQPS}C~TG60c4ZohqZP=#bIBEiH<9MHJ*qNp8WC91cL?QxR#?%qV2ZgW7moau0$&2bHWgv6UOtbM_8A!yj}PD z1;i2OBlgo1>cv6*$krCN8-cHgS}9jm-Lu8QNu#=FG6zMya{b@0_X_K_J<4G15y9gL!lIE<9Z{D zhQzdbL`{n?HHo<(LbJ5+{w>Pa-lBOMH-u(L2n|a69*^<79AoxR%1sJA8A1UlW>y#@ zp%xI?2(dd-9hi8`qJW875`*S3XAGtjQnX}D=6|Q0m~bo+9do9<6LCI--=z6a_HQX# zQf&H@<_&6@;E|@zlhc~gT1w-b|hSHAlg3niN0vte<7l6d+8%s z-}BruBeY*eX7d=gOvD^w^!&jVmk1wv&qLzmKL3c5tDw#DV7X+FILp9zSJ&C#hO}?; zA3JLfCjY@;Z{0%5qx#;n<&J#3`X z6hBLxdHjWkGYySm5Q^sR%{xK`ghSdBXL zwS(2DLtj2vjXLxj2dhzsK5gIs^1){v*J^2p;pZGz$Ab{oAT;s3!>)^T_Ib~2HYp}R z^Fm_+B(s=blv&ECf|jp0XgTg73ur!vX!%kgW8y#0S`$ad80Suayr1oN? zrBE$m$cq^Mb3jYIxU(sElO*^d$=+LHAK(<@xX0k28FV_rHh4vg#nlPIbO#gKVv5oZ z3d9pjyq|Q5_fsR@Z?J%W%$B&1=Z!vM{jr{6{Z>D*zOKJl?M9g2stWUy^A+YN_-2x) zD9nd1^A-#96Ki&G)JavC-?D`H0R~OlO%Vh;mK#_PUq)-s7v_EmI5^6OZ)!V) z)gq16qB>SXd0hdo)(*fveI{~HcZRm$ANhJ>JcMaWsz>6H*B=il&i@&-f#M2V5-ghf)O{&|x_tZMGZ zia2)Ocw*`2wUfX8FXy!jJ+JNjm-E`coY(&4yw?A`_HsiBMl~hKDhY9xNC|XOhMp-I z7y+J*YTDSrlptIpC5TnszsSKMV#bksGmoYQ*5;MK# zZGxHhg~AMaXro4i4hvOUr{R^Y3})7Z+V8>WX2tE2W5ZEtwAMju9ca0M>9iVc7y73H)iZ9JaaC;kU)Hhd zlisoEbv$}DGwv0S{zy=XM}Ih=c=Re>)Op3Ezi_BO51{wd>S;Pc7=i70|CwYd0Wj>9 zr37*L7`xpK^~B{%jSWP=JCcu5KC#%4;)`mL5U7-j<81EDE_ngy&PNiB)3dRhaL$Q(Fq`BzX?QK=we0@!u2sb31}Z0hHO z3u9A174*(%W_h1A77c4+l%x+@O41QP&mOt=P|-s=ZpuO}s7kz(K=`_=V7FuHTG+H z^|d%}?yR;=Zd4|_LywT{>Nx96cKa|I5?@vU%0|oX?3)d$n;yzWDAuscE1Whe2@+F%7RBLookdq!XVF!) zv*>W`EIQodEIRxGK8voRv*@aeeimIln=j-0)hZYJDC~%sQn9yUmHA=Wv&sChx}N!g z6Urqjpk_#0D%py9CPxehB8T977dg(OIH;E)EEG~@mx`2R#7mV-D7v16g8cy}0 zb5X8PsY5b5b;ty=#rcFN6qEB+D6X8%SLz-m)&%s-uxXNdw^dT_HlxaRTK=wN_9OA3 zTiy@w0MCH+=!7;l`(4<4CmKt{X3yD#1Ik~+D8DxkjIbBi&!+Jr0*hElJ)gT_*klrq z*gb|3E|>OYd zV-#i2uikL(U#M%SiVz)z5bK#>rj0soM62W4b;FGMLFoxzFM_ z_aetR0=z|}&BPlpRvR$p6^whRnV#<{jaj>Ln;BH324!1dTpB6+V-oOgzh8-o z*OFLx;}Q$6S%o?Dn?--v%nps0v8=t3=7s2?SmvHpL*$*MM-`cSCNlT+B$&uJNkXP& z?&BQjZd?by8?VaTDbU@z9)a$fU4iZ}v~v%cJH>TA=So6KN<@UKLST%#0*V(3zvC!Y z31bCcoN=*-K*rW_5cs0=*5ays-Rmeu5C+LlDANG+?RAIV3WvD$uY>FLx2{HZAEuMd zMkFj&dCFDoeVVN6`jYfs+`BJs-DNLvd&{yS?95<^m*(mbspOv zU-Ba#$**uyfwIcd;CZi*sauB=RJ<;q%z4s^d>todn8aiZlQ3z432?Yh0vt}tacj&d zXHpx)Qlp$vkzWnSOyaW1X${Y49@Gq2nLt1LPz9DkEyN5fLQG3LGau`+J#nq- zhDH!SjN0P4qJf&5rVeYkxSFQb3qQ9k{LGOIL)D&bXrQd3>_|?^D$0)J#8y$yE|OD! zt0+BXZe_}9q2~iN09%OuaNIZbI|WGM)b9jrwbbwAhgwbj4%AtZflvu^@zPU_5jr3hkjjmxY4u2fEJZWMAY3$$xk0u^V3Hc zZVyn^^gU-0zXrg`pg8V}!H}n5sOCiZZ0hVEBGh4#b%iBvZ09-|VAd#qxu{UX2zWR}UEH zo&yc*+4Iw|_7r7tS>Ll8aomICglK|*u5p)FW7>awrNb-p>_&(V+gsCo1jBi=?lZbH zx=(7%Ackp143v8NU|+4}LZmgInbwL9YfWitCrwj&(P{s<=sJ%MI(nZ`NAIeR6F0w= z7v)rBbet17eGiA7WxaKrJrl2lTD^HX)QZegp%x6B47E;^b0m>YQ!*#DjIME1qjWlv zJr?RL3Y-;(jJgiPp_1f+No2scIb`4LBOEI#m^Xs+z=86&?`eEV@rJ^X;eX zWv*(EPgRe}sp<%ysxGbNA%}s#q_m6(4NfYbsx+19yZbP5e%At#I_{vWtW8mpw81~< z7L)c0z&rz72oU9J5hi&Nir0xnZ1m4&R#Dm3O}3kRpOFnTwb=wt9Q~ zdY-19!A=Ho7;@w`Wsh34dD(0}!3^p$x?eS$5Appfx*wg*TYNv-Q(V82EHhSKsAb0T z*?f83N=oIT8d4b(hWMm1q|7lUY;%mq!n!#IkfEA6#v|ql+HzFQF}SgoYOKYLwQSk# zt6vzh+um#0Zqib=n(2~Ni*YY`idHc8X{N!=G}5K1{sy*j0U!%od6ibGDxr>@-%AN~ z?EGFV)OmLKy%rPdT(nIISZsXG9&yKxpQ5h zBHRHp+$1SvvxD+^TyGt1IJ>@29Wk&b)9JKB?FU(4$2~>Q(U=~6juVeWGMm< zk82_F<6SwOQ6@D@(}ZVq9mB@Df0^-1IpeuC<2lcGPNsQH+A*z)QP~yg;<}ANJGc+aHUS(74{d@O9L?~o zfLD~L^6aiMGyaABj}Y!XACtDw&q=smxB(;}9#YyDP2 zwa|-jcNzW1>@~<5uPURvD>jHr;+^(=x<)!NMBZiQpBCTeeRNV?>^3smyoXm_&>j{R zTW!~sJ>j7aFKuSDS5kgkT&OBN4=)Zq50}jHEpEAU!dUz~5m}zLjBqGl+VgC3m-FN< zAM7+f&VJDD()^%XVz@AV>HMH6`dXLa!nihE7$(DoJwp1 z>>R@`p1N1MwWagaK#0U`RKqmMMV7!*4?L1T56)YC4&(}zj|^mru~Rn@(C*`XxJK^~ zw!mMFw)wmd*IwX0yka)LLhr-1O7_yI$zFzS*~ILWjX}nPr%c)DDw^ry z><6)jGHoRKKEvTA=0h?4^+d&^Gkl)%Bq^zuuo*k$>q*jvJNzx%oIhieumKvU6Nd(# zGEw6cT_TNBbU_-YLHt`^s}4H}PCvNC6Zvh%)9G?WNgK$fEl-56gjy09UQvD z(BVjE%%JkpcqOhT)ocQ9rh|-+2AC!Jn;d6ojq7-R5Jqv*Xr`_9&~P>~IySy+`HG2E zt5#xi*zDEF4~xlF0W@hsSzY0!gK$29;Hr?UnR4ETldC28qr93d@0hb4ra^IBu zT<%xOJyY&+xtA)}yn;f3h{qmYI&!ABzIV*`4wa`Ewkga#;BZ8vI;|C|E>N0l=gR;3 zv8n>~$&XbPs84*Xsz81GV^sy}v5!?1sE^tAkAAGKKz+cUoB4ILFA|dl#8^gwdcV(< zfJF1|7CIuNWDlq!JDbQUaXnJYf`1WF{XSui;6Sr9RFAY!qwxpn@BX-k>MQT;j|J7E z$4oC&kH&Z#pejc7$Sv5Y9$AH+s2+O$!a?;K*{^n1t(;h~eA)Qe=twp^)NZBCMiNJ% z8~C0e`?Zz5u*U3#HM|$rAPZ-`;g~nnZm{;sYO_~X^Y^QD{T)Y{_>$z-G07I71xKHR zoVsid=cE9*CogD!$_qLsi8;z^9g^2lnA}y|=Bnqi&6V8d%JZ71K1B67>NB1ZySlW( zbjhaUm$OUDO_yxe;c|AV54X~*OD-DIhlCqCoYKOv1yxSBpvti&0#2>lQ&0;Mlifu) zur8-ro zWuWjqS!=46n*)5B4sn2$VRKCV8&%4W~?DCD><=5HeTkA8Zx!@s-3)XD( zr5?ayZ2I|N{FZ55bMfc%eJ?Kme7^5>3OJwd8|Hg`N;seIdz~WA=lj@vZ=W*iTj(|Y zw-D;ydez+LeDXrTTfL4>mwQ*+dpaYzN_wFPtI4*sQ z)*t^Q<#*AYV>sJLyt+&66L?WS>F8Bn#b-)BwU$@Rm4E+5eFk(W7^HoV!65B>3ABE4N?g{MNlpRC`512(X?QiCu=0!a1XMCs(`3M^G`Ey(p8U#3&u7ggd5tmHP z<-R${VqZj@0#|`8O9{%~apnq2E9Dqd>>azwI{VKZV~M>LJN(D=0DCDG*0*9WHzNnX z%?YTB4x-pLc7&j289Fui0z%L~U&EJccg&TJ86i%9>SC3UNX^=g-Ri(CeNZ!tPhum( zC=%)wHK>p3kv^oyeEd&%K1KPEi@UC%6Yh_~C4fdy|K$LnroZ^ZUd|x65bQ3ZNz^RE zM*K)QJnabzlz$M z!+6=;;yr9ftmB zg9~fvMhs<9`8i*-Iw;kM%Eu_eZO7+6;-!d_)YNHE4K%3wdEgEQHyl!iC zTE0}rbwtE_E#UEA)p*<`r>kGpc-$qYEBhXuuIzhsy0Y)l>B_#J|5cj~#MI51&mbL$ zbYDeg7Ms~Y83_Y8V%=g52Q5ovv!H`vKWN?WYF9&AR28Nb7w43NlLy-p-IF79J}uA# z{)|TYv|4YN_7`M(Sx(1hTOQHdGO2IN!}#3^YUMD!wa+D|V}u(fEf^N-xXWMcD&Ui& zz_Z}Zf?Hhu)&gkB>+-Aem>gaG{AvtG=mOgxNuG3Bj9XcU6F5;@ah^`N{*#?I#y zc82Q(caBufczqPF&v}f$`(W*pUIlBPI8Uri2+BgWtJ3T^a<4Jt+k}!8CrG3)h;G8P z&JYV4CSsMQkPMp2$9+*BL>Ne4UBbi^jXdES_>|@Y`bU$o07LszLJbE|2M)gv`!^A8 zT%dJvvzQAzaIA)l1z762^84g;8(}%j)Ind*6ns>E`hI|%Ao~v0dcrH>(%*@j#?r6}nJ8c+ykqHtYdR2KB&KFT_2%hgOXE9p_h|k1)3FH?-d%jCU`s zAx**gt>Hg*gNaPxf?pKa+QWX~qrxxyf4tm3&{@aLamW$4e8A%n;t}ONi!e65Ce@LI z5(S)v>${mYs>g&5R}sJ8jDN1nkQoDBg`a0=u7YH6lQUJiZw7=FaAZnA64pFC;H4d( z`Go~BKBZCH)_pKxZZXIFIr(55hYCFauY%9@z&P$Ai``K1EL?Lji5$ zlk{YdUs=p&V7;j3hdi4FeSl#5U5MQF;$^zUJI3&T6p`D0n+^43xo8yxp&=%JKeczT z%7!ig+IkOu@f7hUKkX?aq6p#fFI>hUrO@7a#cu#Wo4Z?YoWH5-ehyoa#nT#>%E!g8&0u^-+i#%kg}@y#kG#AV$K7aKC`k%d z3;xoG#xsZpi2zQQjOq_P1?4bj%W*xH_B_l~%9Fmr1KvV5`e&tv=&%tK8|1n(3WwFI{A;NvaR%28PT9+Gb2ZfFvcCQ1d4G$+d=)F~VGv`wdb`oOagZoC4g@DQ3Ulxe9yrpx;@Jzx#YN=!^)& zOCooh91QvoKMqnvCoMfT&f$JUm^DTt@u%qtXMUlH6r{P|vldj*X799%7$r`L&>*SH zxfWcGlrNFowdMGY0u*vCX^>8)A(#(7lsObG3kQbW9h;9D9?N;+$MSdaydqOOz()9R_XcTrJ`fH~WBF6^I;RtF9?IZwOpIfax`f zl`H4rQUQXmFHgX`9lpdf$b>nAWW2Cf@!=KUKO?{UV5;(~$!~;YoG0;jN=~4-p^VfL z!cunMJEXO505iS!Y~x%u}KYI!U3d0+0!uD&agpE-83`3*qK^QOW^; zi#iUrf~demn1Lxo1C#-XIKU%mbjF&3xUP6aRDn1f7Nk7xFe-4>)&=%rtwj`ZO7k`5 zft#--oQxZ94PlDMe6(p2nV83(YGzIG!OYv?NSaN1IeZN`bq&!ASN6Rsd_rVw#FV4F z=)_^tSZM)l4a?wR)V2L>thpr)cZ+A{)~C6RSoad(p;Z(ud^q-(ptuUO;wm(XD+c=$ zE>AR46W7)?V~0)IqxG_VrtCpehCYxhY#+$+*?cwMkBiJSRQWc%m z5`s$AJ+WhO>;sE{Dq2HO!c5kojhjp>Oh-dGjN-J~_U%XNE>$p?z*a^qj zo_OUGPTfSEPo7G<7n`G}+bwu>tAa-6Ik^XJ9`?tMokW1WF zj6VUzx%4XvY zaC6q-%)4{t6F&`f@Na#x2SH8ZeO^024n=gc9vMbhx>*kuio~x!32$#^q3{6|3I}ze zaKJ1~NX!GCq{zoa_AhB-AAZcz)WRSidaOFg2Op~r@&WsP&ttYG*5{r)j5?>Tp7=I1 zMTi5zX~AWysH>HgjhIJysC2EFNBx=ax%YZ+W4kDVsyaxqHVQ!smz9m~Jh6((P#SY} z#VQJx`1fm8QIFTGqK?(9q8_vFAN^w0lLnho>wrOT*&fM5J`xLUdnAwTkxoCR?U9hg zI7k9q{0VRXXrLs!_W(PsnLjzNyLubmNwo) zyzv@%Ix)v|2v1W9Z!5rmJJ>c2VG4K3nmj&GM0s+ceC7*eT~VPbIa8GhLscd$sxsLL zg|5I4*~4XT$CSozBhpYNHwQar;5ak$j<3N)eCO>X$U(}2+ccTkBTv&JK0v3|;HEsD z`GI@iOmHjFUJt16J3OQ?8%v*i;IrwiH&?!6pN>uJm-G8{`fj2a*Vz`4Y^{H)#i=#h^p1g8&cq zGn=4MDCe~;LYt`Q?qvP;bH&qVpyPeK2D1KjLwxvTI4y13oDm+eiF_C)}R zLW+J+}@DPbGG8A<?|gL(M2J#~T)(9*T>M(}`h3 z8q+?lAevNe@!rTexg5CMWiE5GOoXV=4kpg-E&R5lo*Z-LidOXzta>q|ADwWRb1jB5 zIJv+x#%XV$4C=rL7NZF7Bl+l$w_OV3Z9luco#Z3=$V_riG5R{V9)*7iL%hs$;01Vu zuC*gL6!RK-*^c5PcpD$VYh)Uij~pm~qWvhYY1<`x6i@6?e9byX7ziTd+1|mBycNxv zw|LuWUbgBPIzcnUqUI5RT)&K8O#r)NcgLqUDZ$BB1V#o-xJ29@Gti^{twZ4(wz94B zjtT1;8Tb|7!Kagi8T`P z8&FvjkhGjWaq3;`W7m9)zTbF1r#}TY7V$gb!}IvY-9~26XkHj+hY6hD$SDxs0R5*4 zaM67wqxTU$+BBx!Wqb>DFQl1j%ZOYVMSKY7q)l_eLbW)jD#G2b=FgzHSc%>2FWJUu z6&2xIbF$rjLLa|jc3Lt!G`|-zMd$sYHBYVjJhgb9@E}jK!=r9e6EaW49YF(4X&~fk zWuBTmvo6mQRpHV+g-ABCSSe5JFIzHCA+r?Kc~WACq02c>LwcSq~aJMMjX!GW}`!DgG>MXXVx#ImytuC|KnNK=QKWjXMO&S^iQVoZ+N`o&?LV}duH)R{=G^`Nkc%rkMR@HkH zrWP|V9ahT`8I@dvgYE0Zz}3d}UJl5t!KUrFJQxZxd&K1>M^7>|_bCqm(m*HyIA<|m z1Ep>SKuh^@o_3rX0hFg*sv1gd2_T9a1VtZ&UK-_f z;$ouK%w_pygPDD$h*SF~(drGAZ^}XY3rD7sxO$mN!`2Hn^HLe9+dWe6yhrNVBlY@^ zv`ITY(gN|QrZRwbj^d_IKN_<`=V92+ZP?CjJO+iB1P`xJ_bIMb$YgBhz0}4D88Sf7 z&WHFI#=u4VLmS!b1s6GjHjXuKWM9V^s#rbdrE4QdND+W}_OmWFvB}w71dI{dcwDq? zK-z2_;_rf@Gfo8x+X97efTD9y)U=D5RP-h&LO}G<*uPCv?b~np%5kPmY1$fgS%V}0 zxT^O!H+cAI6XtJ|yqs%qBN{U!%MQ6bCKr>6xdIZzuCbSMn;hv(bf|WDH3CYTj-kBL zZFC937Qdt&4%-L`ZH657>}%)k4bDqY3Y9GeCo#iG!f+A@h*HB|cf&*H+i+zo4)t%? z6?UOso5dXbSB&^LR^uW@oF*|>vMR*iq3SJq7^X&%XVm292f&a zNU1`sP7Sd-25(AXqr0&GR#O4Gd#di3T^1khT2UMECv4I0C0@)l7dL5hlDPlu1IB>2 zseG$#byW);S{&L6bdDvx18(NLg(63{lTwIp=A=?`8U%U)JMn`7CM3lwQm(>hQkc@o zx~)&vDSz4~PmgvEFW{%J-*6QuC~6bwXz3xyH%VSc`>BbNw7kWa$IT_sQMR^fqHrhW ztL<~@DzEJLCYkYy@TW=m!19A@A~S-{Cv9ZVnmKvAHuJ``KLtM|$!UtK+#AqTH*X=v z8K&W*1Eq^}6nC-65k7Asst|Z@;{GqtD(IuG+Ad8&Mjv(! zN^b%_a^B}6PJdI6tvY~sc|yEQ&wSG}@y=!h!yvI$09hDl1&d9sM1`wY)=G9M;IFAq zxpYF6uBifQ6J=C{&zj|FrylW+XUn@tvvppip7GR!mt(D$E)%5l{TF-J-MfYyxkGZ~ z?i-QK6<2+9iz|{mel4Z}0QL_~yL2=q&$?7a&2!n_wBja4=9D=bK~GT5vSJ%*gtpZ+ zLfa}Dp>0)-&^AjWw9V28ZPOZ|ZK4s{#`d*qpcl}?d&wt2`tqbSHxJ}bUms8l&9E)1%Yv*z-QzQmtX9=zWf^>?r<$SB;smR;9Qc*RQ&vE6v_ zLu5Q(+=}A#8}nOl2ZVbgUeD$?-rk0m@p@-IdwV-B|KjYI-W$O%|K|AHKkRqn^3&hi z`}MdJmQR1}?SC9~lCp^r3^w>jyyB+LYsjhCD`q;k-q@^Kg z*^{35(z8IyS4;UCDPJq)S4jDlQl3kBN6HJBsu_T@nF9bihX8nI(1idt0ZmbU{r$!D z_@K=GQ!$Zm=dv*@%de-0EA#E}*J^9K*`2^3#e?p zsudoN=iA^(3#z^8{$iWz>I%fP@ZU0eb3N3*jh;8T5w3gu5Ojt6u}$@Qm8yLk-6nZ! zt{8{Pn}_lhm3N`rE!@Q+6i%ortDw&%+ZLFN4J_0+=&8NSQQkB`O#9=7oiG(^CntgH+Wfxwy!n*VX0 zj4{)Wp7AjoIC!#K3>;lG<22{%=d5X74>iLGw&C22DbUb8KD4KEQ+~a=ed(c`p@u8% z%m7}!1wbG;l>7ND3?M#_>4z;SAJ1>*vX%wqEApEUAdu|IZ&9xzkmSBp0aag5kA|^+ zT8wcu!D=Yu2qL=D1S?&}bq*f_u(6i|_~!gI(4cn+NXBcpJ44*n^8Vt7Rab}eS8~~M zs`ZEIVV1uVo;0A^*Qi&aUr3A#_-};XTn_dBFgk%$<39TsfX98#Zp~fCh+jXJntGJhRrtCkg+0PK35D|P_aDEcrun*3)llV z7&IDrz`(J*UN^zQ@SFu2%b;c$!7J?%=sv#;;QTdtscyF%${A{=8P0FXe5b^fE=nbq9U+f|JSC;1IrHlk{Uhwc0Zcybj~ z`=j?4H>j>&ov(%}=89|S%@L^o2711k8{xVw*u6pZI#spbK)0*&tLBO}RKEF8es$$t z==N3l8mx|x{p!l_v&!%@>FU)y{Hx6Ht*O0Mh74WhslAHpzPiuUS`$0WQ1S}9W(I|; zWU+okbvYAgxPj+g!vieI^2+cC1Yqx_YBJ!#NZ#hj$V@vo^ZLozKa2*!=t*@g7QZG zYA#DHC?CmReSn9w%i6M2c}J>%s(I6{!}@6`jrx{tz)(!3i8W2@4&_so<(SIz{I$?v zeki{(e=T?CO77~9S@?Wi{wglpVBzx@<*$M#lThtzEquNyzY?mLE4I>`8=!v1=P&0* zxb7Dng09r?`8un1xV+KkH4`kXv+;R5e-V!0RXEzoIzC?qaQ@nS zhq~RM@cD}v&UYC;7)}R3T9@&4iChM=S8!qgRFv`c?TD3`j>9Pemafg$KZa1uc&~G7 ze$63qA%;`OXzA`QM$zS9C!Tz6%6FoHQIy{#K_}z@mQUdE=`pVuo!jE=!3Sgb0FFKr z7(E9ctYk-8U>>)4&!FGdOU21{CC1dj2MM1?;Pz>k40PyN0=H*fI)BsY1a6-quP;8N z!0j2l9nG(U%VREeW@87}XkX0C-R49mA#w{kbS)#*mw1b1t78+XFp6}pKxaTEhq5Crhch}^%9VoD90atNVzVm<%A2Q{^*%di;c(PBPz!}!V zb03Et0rqKpjvcD=75OYaK1r*Goah$s1kFD(&|5r;XXfWkYzZ%y=QmPI{Q3>l2EYCa zs-2&|>Ht}n;p121C7h$-ta2OWia=k_zK7cYnN8&$ph;ww~*eEVv-eGNDII8By3d(h))klQC@n5tAp zC%5Q9Hkz^!X0-I~o-2Ck4u6XgQ+l~CiWqxzpk=P0>LgLscP;Z&D&)(gmP@;VSCQnl4y&ie^&HVYPU;6%M5B>3D ze@3$EXl5^p1l?)x!GJ|Y)E!J_7V4@okC|y0QCPRHl_9dFdgkq|o!;nkj z*3#|7IYoBPKI)^dJ;iIm0ixUwkq$?xfSdaQiErWF)NYpvnkbS?6y^afj#+hYTA3mXV2n;^82vQvS*m?L%$#a>JSExp;^#lzaVBo4|=YTO8KMSZt*tB=E{G- z=!{J?jv-f$HDaGeJ}9v89a7XK=))T14{NzjTrUV*Pqmel%Y>zv**J_7X)G#6s8nVh3=!w#NM zUNWo-t=K2|C}o{=(m#&9CdZbY*B0y(;)O$*=WfR^w7-eM)?I9=Ju&Uy!Nz%H)T=Gn zH?mo~*uHNTQ}!Isw^Kk&lv(?@vS&x1J!R9rxxkn=GhSziOn;|J~|9((#h@$OEf{WUs6oYc>8itGR^V2D@46cxqKGy07w znNlarhYzG3Hl`ZVJ|081kH=8<4zJ^r`kNd_qFM488Ls$@M8G_C(mZ^LC*VcaB#cjNExyt<L)Udu?Wj$T%>c|9`7c3tXPkTpR>Zrt2v_s744-+2a*=eZ#|b`m z59Pk~n1Rp9+wA@ru=^ugT4?hpU6FB_RCP?F$$@fgm_!3RF{PLnze!x)-?4q@j2+~; zE`D0HosBxEkbG07XcJJ{G2GZ8yQYM^t3%Y}Mr>It z(Q{{3&WzB$Cx5LO_tw=1kXWMAfJ>$gzBX-ewKtTDP6OBp2f56U%ul(gN!s?PQfd&g z>!3;YFj;ORN`v`h%ibJzE&NP%JoM@H$qsDVK|g>dWj!PR9#oJ)^?)#-W4E!nJ51|M zQk&RN+qIFRO<91VNi{nnOo%3%zb}IB8YY1>^s0!=utTbfdjptKnWA$AN$)P8MGx#s8ej47E)}fUvYKmPBK?~L0YIr|2!>JV`HHj^{`M)Yzx(- zW}%7@5yH7Gu2`rdkD}sCT?|vz$THxJmtv~QNdeGIPTQ}9##A+0x~Xb3*i_Y5b80M7 z#8lP4FjLh&Bkga3SRH9oECDZ5(YS;-!51AWq{rv<2|g+^**C);92&raL2 ziD>~j=Uv^x6+wg9Vn_h8mAA!ijp~S?j;?Qz3fErGWLHsm93)4FT{hrD5N?ujE!D?3 zuLU<5GNlcEBLhs;+T`p&>srKSt-1+qOPkQP$PO#Ei()aMZPDgR?V?m|t`;qf_$hOl zx53M4QCehE8`|H6%BHqOA?BNQ8C&cgcGZB8EhIN8vb1f{c5RUrT#M|7%_tAaD9PT| zGc=~9X-vzeG2$1dOM>%{FXVPdOW`n79oJ{;D2|rG0obGpU*~qA-JI_(933sitwc+4 zE74M1-L;DoC?&B1rI-}BEj+TdZIj#5K;7n^9_k>f(= z!^Apv$d<8HPUDtuk!vvTS!}Do75_bLc1(@6%CB;Q6>dLoZE#9#JYUR;GT|-Xs2V&| z%YJvu?elKgw_9%aZ&_J9FL`zu%j3B_U#qts3jEZA3aU6v=9kn)Vauq(j~>U zQ{hR@xJ-I{!s4z(B4S|>Ka@w5#q3FOk|$BqP8QhQP68*W|HDCBq)6Fq7H1((%C9?> zj4Vff0~qSBn?Uj&pH{z)Ia3-nKQ>OE<*=)%#|hbV1hfdlUHj!#$S+9jv@P`H3Y6li zRK)aTIm&JMeU(|t-H3@vrrjaMrMdLAINotAZQ5d?x&b8P4q=Q%I3j-CFiG0=^NgUC&ABNgc8xC(UhROAJ9?}`vZMvxQ1X7)U2Lc4gXY(h`i@2|PR&pT-F z4lIe4IH!qyxJMitni2q4S+e_YLSZWTN05($pS@q5LqjaiilKV|GKX$2QnYFawAuR5 zJ@)_%58V!rhHhP5q;y)-(L0(b{cYh-g6WbJD4tAe7W>g(QV#RM#mEx5e z(j4z2{!CjnRqk0Htafoj|rjaJG8^WjfS#dwDzTW zJ@jxlRBiEyyIkg*N9Ud>%60MkpH=PDt@g{6iyg}R_tr_=L z3}}Q-#?2qccP{WV@wl>S%plRz!=e0tkMLA+;EI(0wYey zH*l>&UaP3;-4bhuT{S%sPF{=nlGdD>J`H#x8W>kjEd+^3N@EnE-GLFf5pLoc3YtSd zo1v05l9?#R_&S`KD8?Yia55|(`3#C>aeZPmA%G#_217@VnCB494DfO@85P9r4vZ73 zf*r@@C_dTiDw>Vc0!PYex5-0Qn*@F+3yhm+avYaKD%P>vH460m+KOVH7tSbfNy!^O zeV6OH$U$T}qG0)3Uk2ndl>LJ*G5ku@@MGx754?x+{dlnC<(UrwVSCc&7=KvE`4YJB z*h9Jyri07>?g319#O3?HEalmEePUXmBY*xMy_NTdxMfcz#7PcJwb=Jxj(a#U)O0;R zaNwUXB7W%>^wFble%j-?MRtLh7B1NvC;|UfZJ)JZcubXX0u9 z1h7c6?d3ThZN0naIxVgfnOzF5b20`D0>39>pp~Sfv$8|(@WodXs<=Wr) z;*-yY6{&?UQj0U8G-#=7IS|L0aE{{z?u`hqU}c5JW3nR#@~9D=DF@NLQ4tYSHRU~k zy0Q~71}TBNeNpyHZpSlGztI02o}cpI*fJD^QJfIxeb#3eIDO*uF^wg=!NH>|Sy6k+ z=MmwfwXCkiF%@elwtX#;*_GNoZY^VyHPaN@H#V_%Lp9Y$ z1m|7sy62C6hC#V4x}p^1)2PlcRynY0^u3)qX+m1$c34zyTaTb}zRHYJdi@XM#X z3Ur_LXdR$iG~jb~DS8vpxX#9iY-EyYZn96HZY!qsAabQD=uy4?8oxW>Dv;Mo`KM$1 zlpgCfKA(DVi72XliBtRxy}TOtGCj-=F4k&DL52pkMPa^{+TJG@9VPrp5suT2C+i7E z*JWxwmvKzNWrE5q1(A=ty!L48b!BYrJu2mD%B5?GGPcg?DxO+I?EMUm;VP7;)J{qR*aneUyrzz4x z_>%hzu%|C6oH~f|&{!&A?G;UUK|0YZbAOX_$Zxwd#AP_rzKJ|eT+bDnD;d>7t??}i zzv#}ZMOvm7X&EgNY^a+tgDRPn@I=1Pr9i9LgB+X8I%{TN{njE1fa%C_5fZ>ygcM*F z8Jp28=2y(*dvBolfs6xjA$S_?Nj&LK!;+wCahvn!9*0vs<&ixL(yps8%J`@qWxO?; zhgNL+ygi#omePx|v*6(b)o4lXb^>4QO;pO|I!7I#8ZF3^9%?itXX*>q(#zMjMwbM( z#qz}gcR6bqp`FuSXSfQ2^HkBpI-v*x-$QbDE;7*7GSD?@psT^qrQmbkKq7Bu0#(@x zAul3BVjD%XhkOhGyUF>K4{(g(UiZXmA(s=+5OI%yLHi3Fe6WSr)2*%N@GLB;rS@#= z^=zxe36ULTzDX&7j9PVc7C^v6kYCE`5MVD)83a)WxRwWsmun<}x6FYi%WG<68CehB zO8Kx!j%?Z=uBN@-R9|0g>^eeL#eQCfv|2!dzZkv31qY|3fLxRAt=H!dTp>{ zrrEh-#_i-vOjSm^i(ts}T;fyUyxU2LYr-^kI4y8wzH-I^BNo(Ojt{$MU zB{y%t%eUbRx4jux@F(HoF1*<5@|9Rs6l?I|oAA%Pd(S<^mHC?6?`p5Y`+d;4lr0#k zA>A@646iT`*5b=|6l?b6YxZE9m@%fHhr6KmHBjlAd@WSE5+A(*$ZJsguf~DB1@On3 z&RW8?i$@1HM%J^x~(!ei5*RYBRaJiy0MnVwt_4rJE(I3J}Y1m zQ-E@(p#1%Je)VJF76%S(9k(@Z z>SgjO1I;VTbk5c5RR`^US|R~*BIS8qT{LVd#3v`5@fi9C3P6V za`$w{+%3#z!8pGo_R!&Qj_0t#$^-Bn z40*>36L2t`%f99ksys-m`Cu@Y{f_Vwbg;w){Gun27u|)kNgFzl4INh(66rIVzg+7& zMRGkUA-_!N)kp`4Iz=JXJ{l-|9%{oR#YgaW&9wU);oxyWZKu)m=~zg8JA$JGaKh)D zhc7!$kqLdwddV-aBt44$&j%=hwOu4-KVvH~TN=W;zi*+ywPg^dt_`%t>l7)?TP|W_Hx~ zh}=k0zNe^8iHiDOZY0}95~@Pl3n$-UB)jNPt;F{`LW#B?N2p=Ty2nj#3R3x~f92cXvMaG}Xo_t4oig zU(?J+@QGP8!lMG*uxw{yLf5ct(ELT8(5EimgobMTQO^lQ<&5b3kl2;KbDy4ItS!1o z6G}O}6<`~Fph&X6ux8lPGs=f$(p1Ql121|npu+HOj9ouV+ym5w=W0AzgnY7C>csb& zcC+Nx_ECFvlXE!Q<~$LbeS5-e(-SaiQF6s*i|%Z@l{bFle$tVlo-}Jz_whL%CRVu# z8p*!xvB46vUoa!xDg!n@nvdDkT+6i*k!i7vdcgNYfzAP*#*TWDI1i=Uz|rKpix$!l zC(HxN^jK=@`7(n9qNHc^4Y;V+x$quPs<40ny>1;Ts7qJNJQ3RsN!pzr1 zD+ay?4F;;gphsh&=}rGi;5`^?V9cnVoycpnOXM|3>H_l~v?8Ty3##b-3_{lf6sewA z<2n&I!`#*x0-mP`csw(`J?8(6XfU3p7aoi%EBOGdwz#z;fFGSNUL{k=`DGSlm2(#G(VKz0w?29x{TS)ViL7Jyv zcE0^?f}q&o!=0i(jyod^JEswLMpVufgq;!Was!^}E{|aP2k0`Ebb$LC;dBroc6tOm z-KfA0bO=8#7_7Jg9`lIF?J^>RCD_5|&}1mJs?0aL%itFI8pBXFs-MD^`SAT!;`$5s zYio}Zl`L>O2mo{Z;N5y>VQuNN1%e6ILJJVE;eJLy(7p6QW$B|lgQZ6dd=c1C3*s7p zC`xztkneiF#h>2y9!d>-S~x_0_>KEXYJ6HKKRg&$BCVsvr&CuIDDIX0p@U&YlWE^Mans>&773AnzDRD@z;=RJh zFUHDM*+ygtM@k2$61{!ceUH3+#1l~Sd(7h*4iBg=fj~lbhDE%y7ZlKdpN!|IK3!Fd z8leMHfQKU<*Pt^1y>N07w){lQGjNRF1CG_^Ri6r{y~m`*BeBfHiMSW9`VS9?d}N>B z#XuinzUp|)ysBoP2X)@+)RWbt&=axUDeBUZ7zKi?^F0|t+PfDOf1=X0j0#V zmYnR-NT3eouqYEG*`TsS!<5}m?}L$T6p8S9E%|!DwoF9%AIZD^CelJJ{|w7e_as%> z*BKPvi|p%fqG|U}NwWNO+@b0D+Zel!Wq%s7T#V$OA)qobjQ*N#2-lVbZ^uOzi=m^~O7l2N z5XlzDQ>yknVUxdk+sf};XmslOaz+_aY7-MK0q+`y>L#*lV2|2nyEV& zhx6CrwDVIu^Un9-`se9-%K2~M7U$g&bINDJZO-0^-FLEYkXrDV$Cjr@JyM%+y9+9p z+d;a>PPokCDcxP0&!=h|p{~AYv9+0gwwJhBQqSmT`{0=vSLtUzOD873{IEY~4afbi zhg*Pv2bB*lY+RHWxg@zpsT{Gmzs%r;$7uN0{i2q%7VLS8g4k=_)4Wb!iHzr>Uw$3# zTKewy;jW?Yz8#4LCEcBZyTtC>7h?_N&_@O2B++%gfaCiNE*C+ze1ZV)9HOpY@BB*C zWi{-V4+VTWlMVV{KwU-%`~$Z<_|%siUJzU#1TpetBM-EB-U8+KJ!OJV_Mo&L_xa}8 zzL?kJz1Fk+F|Wr5tY^Ov^A6fySr6wg^m=S?zGsvp|J|B-gb&&n&Y$yyzc;Zb`~!(S z;Xj|)6aMkUp74X@fwqJRKL@jV9|F(!<6aZ~w~Qg3|B1iJHs@??lF4YqO}qi^;ip&^ zwh)T;sPvdx03u=BK`wHHgEl#z4_O;_B*csw*sovdwg8L!XYhXI7LRQDu#t~`m>Y3>H?Z)qUV)J< zOkDwcq9*fTWRzcLy^33a^0!cmL^in4s{okB{f=-D-Ztkrp3G{^KKb577XEmk7XD<| zd*O+k+RXw9mc`c#{zVHG1V7kY)ZV&8=|5s|0QKq6U+ zf_(K(b_{^$EA!Rpd~2CU@2dzGQGdr~dS__ndMN+MX2h+`_a|Hy10V4OCup_n5kY+A zVO|KU=&(ng7%;6&tpiawBM^wf`6+V=JP@aHC!Hv+(TqP$Y)Co(OSo2NW%>?!%ok`~ zD6iKET)Q*YrWM`kDLh}!CmNw4DyxG}Pd#+X9y=j>>;&xWd&--3BNj9pou^X~FP}5w zqnnQis_X$v^bEWxMPN~QAUohz?hRfz=rUAa$w5mfyE@WuNHJ1&32&OWwZGzwx(G|Jy$yNSgoj;a5GlrfM_n}NFV7jrgs1tE7UHbm z!N7q`8PS$(tv1$Wn}0S#bB!5VtPkQu8T{T>bG%9?eZ7I7^lO{@v?@cts(SLjGQ5R9 zJFDM%y6Y`O8M=5r=ux~kP{j{)=MWUGSa@aBh~w&_G}K+9BY{f}Oi~q2;Ql~Gu?Q%N z1sYlzo~*A0^F-OW36pxE1+yoP3EtgR8?Cl{_XHibCF)n5@z-u_z{@$%qfl_lX;09L z7|+=l2I>pUJAw61!0!acNsiy~tao(oR*d+`-p=|x$9m5gYqP1GUe&JhXLNa}E${5y zcnn}SvrxxW=3AASC|&j&p7n-FIcvY+T5q`ghTCg7%9mH-acrF{kA6a{NhrDYkxx{U zYajkZHM#b|PgG-QE_|XILv#NpswSiR?EAguh6vQm=jZ3=_r>Cr!NQ1=PAIf5k%Ws6 z!3pC-@I=Lj0N;77np&FUghNukT*nGVyU|X0dcTDAJ>qc^T=uo?&Txm`V+e`lx~d)a z_I-gJ_R2&@G7TuFJG$laRWK)kDFAt6;#p_r9WcCn+C!pW2DR_Z+nK!mc6d9(w>|r9 zf3de+`)zNLx5+I_0uqp~c#A2I9a)1sfrojdG=qU${Io9z&JSUk_A*dj2{CGl-w9jX*UL!!dzmq z(WstmG^)hgiK_8-A}iibWX0QwbiAENl8we3LhDjDL%iFhKHZr32IRUG>(KK#J7kt2 z;twGqSMkqlb%=OZLc|-!hU3gv9px}qlx)yQkr)o~sdo*Rw zHX?~Cy!9`pUcfNF&r>n1DIz8UJzZ+3uP_&IVBIgl*C=$dwFN@i0trW)9>>tv7;=Q7 zVmB!Ia9AGy5}uj&yBrsrV;mu(;x=_;>`Cbkh1Q#(;LPP?KZRy(*+%XI#+X1$C%{?{ zxkZx}`AzrH&r#=AQmZ?7=4u|$@h1F3d2r}$MPnx4yQ}SLw(3hNIfEK@wgD~=yFz5b z@)1|Ga3SS{_Bh1$!>*j_LOfjJB?X#($n7K)SfY6VS^Y>@{SdiA49Oi}rkOBr+~D0o z@vD=&O9a9S zS^=dQo{p#M97m7JL&c%p$t(CqDBnk&IHjp`NC8Med z#5+`y5&|ne=+uia=|lx!^@t*SM7+IYk}*4|@~#GKXy||qfezT2zsFpf>ua+K_lsjo=7^=83>q>&je4mC<#+oK1O(Y!PWT-4!RszpPJTq zdZQXNp=b)UU%}H0lvXHYJpHg+w7c=N$9TGZz|dI6)2%9=e!{}j3kFXgVLaV}%ST=D z8l;tCIh)4biNW3!?EhiL8UZv+k%h%Ohw$`f#?y#fTQ?A5T@s#ty}{FWFrL1haPnr# zNQPHyC>vQwGfBvtCXdixwu~3LlaoSG^^t`^H3=($$%Sw3qY#mSI zbkUI%yQlE<-Heysr197p3o9=Hb0b{rqFCB$6qq((nLP$Z)O5f<>+p07qK4z0M$`{g z5cPu!Q9mGvdas43(P2NxUXPF8gov6FI#}bg5%o{P%E0@b9{szUlS*JWcPd1^xoBYY z`~Xq#OYp%<5e36n#~i}F2w*#QEBM;3!E396t|{+2j9Q9N4DBK<@Oh}&t?b>~@u)}a zatEgmbaaCkS-3^n9vJYa-WzS(toL65vIE5PTiW6gO+UPI;YhrEd=2rqc_B6kj*l zE$_pKG5a7M#5#$UaHt^(hjx~5e&>`!x2-0z>dX(|pW!=bJ0=GTubj_w{B!f_BE)C{ z0WBfYhC2)6fEse#ZNH@CL1f>!oplpiv5&zHazdqp?&i7d-_hY#ytXLG6zvmtHy(#E zlx!lIqM&el?y{-fR?Y+SZ}8#PPQb@!QX{*lD=5O896rK4xxou~ZD=|rCk!+Ikdw;S zsnGZh-gX9i=xHFKz;yL3+@qw8pcdfB9;nFLxC4plaE%xtlE~VaPCXY?f&)M&R+lvp z9%&$~1X3Oz+`Tdq*+~O4KA|ieaq;HzrCPd;N9H!|$s~vk%($3+4u8n7Du@7|d3+d|T&qLMWD9U_Piog^OLoB2U}J31fy#%aJzQ zOxtnhGZ-N|GKraVNLf_n!r?iP^h|WVmOMHlyw$0hURq1dL0bRql0z6Sb*8l^$!k=4d<3%V&xP$u#wIFjvDWoFIdPHdw zbBt+`$F=aqF@-OVD{_vwD(8qTIY(^CIbtp6h*kJv%CvfEBP9Q%n!MbV`Nt5+5#nnu z@M%^N4FveJ6~jsgc=~h?!5bV@8Xcx6g$xCkjxo4&eCuj7o^#8iDyVVW<7>`pSU%v2 z_j*)5TP&GDBc!d812qD$mo%vnay^_TRnm~)iBDN8MCCgu zurr76KwUn;!yBjF|J*B(YP7-qNgYTvD*wq*@nF4_{l0twffj>6LLhKyV`N`85Rhoq zFw9r7mJqI9V`~UW!S~GPEtIu+u6+9QRR!NupRc0C)1R-R#3w&rMTt**zKRkbx9^XA z-WG^@jJ%GTki_mGo{mJ4%*~VfWi?6J)Hoa&hYmE2yaCYuXU4q-$8JacQ#y%WP88ic z`+(aw4s8moE+6GEdqFXT`BMEnm00baaZa4s!kmh;#B#SuampK_J&Vz$F*NxQa{n1o z;iAoT5Wg`(`fd8Kg&(&0LpYFP6u^8WZ{vp}lp?Zd@rMD$fPpW@;QwJtsnz1ohLJDG zhx5_Ag`W*WKPeLqZoCvj)u_uS;Ihq^C(I>6$Piy1GnZ49*yt%NaWN_Z(((2wr;-84s1vzQVg-ZIUho=D<0C=Y#TW7 zu{@J0ER}q(jrP<0PCSdplUU7GY)?r7r%PxTCWWR1IziE@Mp3JoQa^~^?Dg;tP#|na zkC*)?X2}l^jsGZjQcAI>Qj7yc`IAx-%cSLA9ak=ugh%_VC;RBhe(T9edUD1!Gm5OP zO!i@O`KV%mQ{s?ijUF?XM-^KP%jN2&J+3ctJo6rIe!4sbjP(hZm*k*}PcSe({A`7T zLs~xWN_s$AtT(|=MABhep#82Lm^mpp1aU!!MoQ%2lM5|p^N8sXLLkfDzVt?*-k|eD zNV(39i@$g+VJXa_@)i7M;m^n z4OE$?<^QG(W3+n01Ev@Zt-$^NK5ZsWYYBhf?U_*RIN{FQJyax|au-WER1MbdVX$`U z-Q{b(RiC_|HhInJ`1-rs3|*EEt9zED$&pb zZruP1J~^SjE}!UCyhGQ0W3A*hx@1?aSq}KAYpYL*Gv*JW(- zlYV;GZQLt)gHqdUjO{AgV${RAS&6=pKUu(0{!rF~Ru{lSGT#x|EZGBYjYr#GO_G?B zk|eabv5De(se zTGg8Hfi_6C zYu6^K+ioJHq86n@r3!7Z+VeZ-+&lB$KG?-c)Y@X-%$+;;-nsYObI!~bRf-91YL6sF;ZI+jpZ$4al#}Bk$=A`x$awHltPH( zg7al;kDA!uiRWhV8MqZ1gMcw9+iq-sK@2zLYI6@HuB4<-$K`6K2jWT%%G6z9LJ2yy zIMc9hEo)W`<&RuF)I)a6C#CE2Jju$_vL#+iJ~8tr0_v5GSc%4 zBD0FCGAnsIt_ZD)moUPu3NuH8c7V3_V8!RWhrpvitk~iZpd$R^_5E$H@X}-&8jF}m zHDxK>37tnizl2!E;ii`?U*-qqynOEAj_12#vRoHNEZ~seytDqlZz+G+mMXWC zpEYSqwRBa?mP(dysd7WLu%X(O4V6+OnTr(jUE*Z9To%HOAuz>;iuyNHWHwZ!8!D0w z70QMRWut_4Lxpxjg?2;1h(h(gc0;k6b40FYbb(oo8pzdzZZfuiY0H(_P^?XD$yH@T zg+n$}v}{9Jn)PRqr_$SZn=F;qfG#Kv=t>iGN9Kjk<&Kr|j_e-D<=j$KA~}L~8@en| zn?%QG-|P0>pxRz6$)PM|7u#e||EDwJl`~@HQbqtBLo+lWfbN^E#C~0S$ZWNS%vO^n zNwMZ1`>U3*(z@nqVkOav?CII8f;)RG7PI$2yOMHD?qOc2Q_J@tu8h>dq)dB|x+=aAo=rsv1Z)O)O!*-Z}-sF?MY z^ipyBB8MIMKI|Bt73TgDwJpIG?y#f1x9KM=7>CSF+xSz`l}grd^D!;VyDq1RTmmJ_ zJ_R3?&Ady^{Nan5oQk9JNedhcr&?*@qGqU?>8s@RRWfO=l4e=Mmr>1$v8t`hYnsfN zdIu!YDwi+00)Y`fapoP`VeFnf7i8I4piz2>N6>sImfn z8@(-C00|5|C=;wg-jml^g@EDFFZh^8B^fR}l@#4W`^1#C3q@@1%kVy*(#8&pql9J- z=l;XNvz)*bh7B^p&*RUb+&vtoaKL$(zoA;;kbc2Fd_YR2CxZ1XW{0=sp;+7`_KAw$ zv8X4IW5}d(y;W*rdN^Yqrb8ainTOk#8C`!ykf$aOt_t;Oj?T-fUF3O;GX?xJt~k{5 zYLyQ4yt;BoV;X76C3os2tj_{NVDbCkAQ;~z5SeVDUonYzqq0Gp{Gv6GNOVVC5Bvl~|zZC1IM6KU3DqtDld2l;N5#9%Ji9A@*`QmPJJB0Q#q% zu9#CTx1?ehkEAD#1vCmV^kPSmpt$bztdq$F_Wii&lr9|slmYyFkNAd&X$}qNi8yQ8 zEW#KLyQJ*wNi!8M38d~7JtM4V9GRCrLlc>ItTubZ3Zca6L?}<=#^9+NL%9QjLgpOW zD49p|smT;7KfdZ&%9=6MaN^1m0P1027D#ijFbl-cd`~ZLBxkUk!DqdF`;%wzb&t!M z?GY~nx_ZdiyW^uD&pNSrov7D5#`~SLv%mgKKJtrgKOLd}(Hgad+aSH8CJCPM)=$=C zTtXg$CuoO2h2xA0ld;h{j% z&ts`nt5MMiil{bnxZ*&7z}G3w0_!{a`VPK**4{A zQ(id@mM!74xY{7Kw7Cz$fi~);xo(}!b?X*=)){>Q{WcBKWnyZ|3L@%kKbF=XZu9ZC zlI1TqwH%F?36}$F*ckL1HuBE5#w)OsW=vgt?GI@h)bH z%P*5qNk7TGw#b(S`Z7{9$=h%j(-rK*(mKXN0RU7`0gP-2gX;2ar zj|lc<^D%28WCr-gDIMT{J>u;Yl4+@C`0X16X-@JsNZEO49OV)rS_lqrFmG|xOV(BM z@(v~vHW5KR=tk)8P5yf(>d`#X&Xm7M=5sXUR_B?iSn!f}J)!30QF4iPOy+=9yG94g zQ{8qG*FSWL$A&b{3puh>`L@lf@uE9?}SzvAXKwCEBkL64TWMV7`Q+J@gE z%7Ti&$4POY%D_J^NyO+0klhj+dJdly^|EOi*BXDH_fz^mWe4RvD7K5M@h6T%`=>&J zxCWi5_r!8b<4xqYCSMG;7oUZ(UoxK*NEIsjE`1JU_f73$w8$}YSeTScp za<|)CcgM&9X=n3fe1R}%I@9`*O zgtox(m?IA5z>us}7+h`twg>h(r54iS$6IDV3C ze42%m&ZM*5ygr?^)3vaJz6;(Dx}e4P&#_@7l2DzB)YFLAqezt?yxO7~(XqF-#^u}Z zIE6V*cvyD{aHn(V@@H%FlgLVQNZYsx=5x2is|79$OpZaw>yzDyQ_d zR%^ow6&N+l#_1ZdCO^GdduV%1i~su^tA}Qh@-}TpL+9*ZyQUm_t%Bm_ z1;uT~_19NFMGcywdTTURe&1}`qm|a4bBlkl2y=_wu815^Q$+cU?9SihsU~1KN+SoG zbt4pC4kAT)b$O(}u8Uiz`5WQg_Y{-ogf_Ra;<29H?UxZEfp;81ZBFrz_$+qCBuZgh zmsfZjtMe6uYhP&f$qL>X<9>cEgBG)>Q9+^@QCl3BB2VdNY2fin0|__qE0v=ov7KJx zci!Q7{Uty!s(z^ezTE2^i(m%M;q;h`Bb+3yKUy9j+WHreY&&!JJK3&uly`cAlb1W$ zJp+fuvqKMny3A6YF)?9eM*a?9w8>`y(Uvmc3zcCU;)R~U<--{^IdwORRm9L^ZMiA< zI?13=_{2Hbp5YmriABI}+S&AK#5jtMs1Kax7PA85l`K3g`GSadNsV48Ls)E5~wV#+)Y%-1Vt zh2^>@qI?&7fiz^Kkik5_1^1-8UZW8{@LCq^ce7paT$Mp+7efaT%Q76-Wmv#Lu_j(= zrI5(itm|^TF6A5ab9>Ea&+R!E<+do!L=lGT@xBMg= zH=~b}54`?!@V4Dz)yHMksfq2UX_EcwL<}CPd_LMHO95&0Af1rq!Rq%PtZwCCP0E9{ zsRwIaFxF1le+56-;oL7sc4vVNA2W98#H^^Nw{C`#LBK;~W@2-5Cd$L?ZYIkk1kb-4 zA38U2nQd?dLkioNW=z_jGZ*? z=FMpu9v$u2ZRh-6x&h7(Uhx)P=JN8JKEe=hlAAL=RPp!8%^Or{hg`l&m+R#66jkXU zL@RDi_|TT@l$+yJX{%fwqsx2ca^8oz%w`$h$X;g=N7LAD?{)kl!UTR1`4zwI-QElM zy`R<$zgu>DH)#bB`Sk{V$LYH^PVe^4g0=C}HI}5A-s`;WTTBJ!X*FBPQb>SBua_JW z%J@{ssSB+R^>yAh3x26@MV8ON-XR-i$KEY+?bj={FN9?bDLQ^b4Yw@146eOc)}Eso zP(bvAe7)%b#CUV~d1tqGB9xgsj$eZA1^h-dlc9WuPQc%J(nvW0FZgx>G(+o@wvP!| z2<-&C74<|V$SZh0Qth%SxEQJW*%W*bsealNd>p9)+Z0@mRKslwu12Z?HwD)t)sdTm zHzRce^*Ba;M8_B#YICWm*_0i=qZ$SBT!?n+Dx_!Ezg%C{0q&buf=QS(mi|{lCYYX

?tNFmJYi6^`P6LFg^*=K#!cb?{MPkp`j_5wadf=YPM@n z&|w@?Qj+RPg-Q*SM;g6D7AY9`9vaoXI;!?^7Rj%&NWt(EIV)w1Y%7n`nQpqdOY?Q)i1_8qrZdo=w6o2rlg+f&$L5k>Aa?6sYO78Crg6H~ zLWFYBvqBR5v>{@rPUcqqh_x8U>L6k*n9#fII91{>%N)&6CSCw!t^|;|3V_h@)aI$P zf*S#tZMj?QINS+x$ALkOTikz`(R)#V;602$frl{ihFhgBq391 z;-no)rr{P<1-(T0lYb_FcT%=QL_A?m!nF=$B#~nsiNlyP!R0VfCjAHE9&Y;=5gm;~ zx?bN+*PH$%!FZUhOQUQ(eQk%ACH{%G>Ql?N>V3NRcIX0(wOXs)s$>0|vWjLsH6E%; zY!*evGK%ZBS1+*%3O`%J;%4?UGrRoFN^5@!5jXe;BdE|;&$vcp1M3mc+NgaNZ|449 z=O(C`I?;QeW;lq0w*9)a9pL(pAmR42(bUf{k`44Pp?@y@Yxv7$60yi6VwFkwDwCLu z1qs06M83iJM_;yRgEEn1vG)ESzA@@I_6&6Pw&|?7VrOd1x5~~4vXa5h&Z4t6b=Fw1vqVh$R@oU*ni~c? z`zAW;P-pcOJKG?H)+#$A*dMKS^a?r}r;chXb~GxIj8%3tULw5JaDC;0I35>Xy1`7z zfocBr(!{KYmeij2`8jPp8go#hbGvD85LcazBpNCML5Ywi`Yxcb-v0aZ&ga(ppp`!y+Ii5I0vi( z<8844SWi`(tX>C}HoB}w7z17ey|PY{pEs7vj{K_Z$gj$dY%*^UD`j&`wUoE8$ia1- zZbb`gxrNQvn}fYx(zRWps4A{A09awr$Oqpz?pyl-7)-KH(u@}_Kk?PFOP~Wp6!o#R$xO_`Doh+P#ss9wWFsZhm zFZc!*KroX|srQx&zZ?;M841VxFB6z;Qi&CQF9gd0dod`%INzmWs-Oh+`~fM$26&)^ z{9VIA9xa@qb;t7(_(gt_Y>YpxP(-}6SV+S@3Xs6SLctkgUEp@rG(5;zCx13j({Rq) zWlY0^Ohhd-SikgQ@WnJduyP$ph5q6sO{0fYyKL-1OdcmSy~8f{-lhlS%{G=KuwCUF z&XLX9If%0Ih&>iA`}ReMt(@d{Tzye}5XxsPolIV|&sC7_v0`S45#VJXE&+`5j{0h} zQnkfLg3BA8oFrn~f-iKE=fudt!&Dq-2SUY23!1*usrn2!k`>kytAEsshV;S|->aTN zUX?ZkCOyeXZbeM#t5*gufHSxNPGtccvj9$M{_p4t#5%DKdjJFiKPIaoi3nIs%ocHybFG--SY%EW$2A6UTtjyV zuw3PNGJt%FsY_hX~)yh7XPilgXg%fLBnRRHCg+P@$cngk$d0ZgQFZcsv%UzxXlS_v~$ zOSK+?gvI~nI>XJkkV>QNxL(~4>-=8;Md+O46hAokXMY?WY}XL>6BMs&1b$F?BG4tm z-9{YtQKfP8ARsD&ooo=HZ~x`Led#+No<8yC|KWU*`C#5_t`X_5`ZvgUf4PPxphB+* zGlq88$XvK)E%PL3lG_+{6rs@&-#9lGxO; zFJbarL*DZUT z&n?#t!YR1~{%1)9Rc<1+pe1MY?XP@ln>SeXg_d#oVF;JuY0nSBs0Kr>R=YEjjE;>@ zteIRpwQl|N3}eINjLdI_C5dTyp>osS=lo~*IpmaOslkuJz0U9I_4N=&5n}Yy;m?^Z zFK5cj>GE=YdAY8kN2OO#|TYAiOOWtBQlx*6Cc|*PE_B(2>4)LWUA&^ z!~~2&;f2aUq4q&Iychikk%H4JE_saQ-$4rMEouX@Nv&!oKZ=0h9%AE+mHO%Lkrh9$HoB7xsymvAuFzNhp$Fee=*_cjxXcrP7ZK% zZgoEUI$*POK9%)I+*~;k2jbAO=2pqQQjf^rd|liiJyq{k@tLhE6TI8I5?MglxlAE> z$?Mst*Z42|=eSaGj6rU*6~TLbX4K0mYxh>x&I_RxKi>)U_2U8R%MNrIg^k>lAn<}a z?PBk3dhnIPp085a$B2Gg^bO?al4tC^Z(qcUxk_QrTMD~;R;94zdEdLmbI+@*FoBW! z=FVF}{E`sji%f{0_pNX4k~!C^Br=kvUQ$Y33;>WoZ@ z6`R(G0TU$#*OUV$+*)v>wZOzoz%{c5ZN>%_+6EOmZrY3uMwA8GTnEb12^4EnV5C@k z{>QoJ+($n!Go%%ZENRev`rh+C-~T-SALP`jgHNWycXbiqWN!c(woHy2g$Q9S@(BV? z-O@RA+}m`IuSOH}EeT2b5Z^Lki2O6f_YkGuFd&l_bI4YJL$>5KS93viLsUcZ`j+Xh zRr~LKPVAR|m!Qpo9I}pEtPC_Yj0#SK&LMvmS4wfnTarUwd|YwJnp9#asRZ&h;x!H- zl_ZozVuvIWJ0y|VA&JD+C6WZ@a|HWDlJ5JkWRgI`AU3Ak2l2#cnVr^>;XANh zXa1FKo_!<Yk*BlTLfQZ5w>`J9{0IO!DFOGIxAc|73-G-*XRg(V53h0EXSi<210c>7IB2gk=;5FrZb*}S6bW2>jfdNrOK|F1u%|_QX$)6&{^ewD|(*8qF?xolure6 zQpn*aH>H2CAh0l0xHBd11{N&SP6;0Ty!76s<?&A|EzkL8;yM! zHNbmyrOSrV=1vB?U%(Fh0J5<#W8%2i*nOBLCFPajJY50`B&O}cHKTbRL<4=mLK4VO zKmzC%m!kY%XOy>3CA@v^N8_km1bQ_x5+>f^VwXnv zjXIm$nL`Jy?E<%aYgjG#C^`>$deYj?*?{G@PyFa zA6P2s3(mU6@J@51rwZ;px2|YGkDVm?XAlJua@kSzn{L3Z$u}fJztfPd zLlf^bs2AG}sVt%W<)I1#-I@TSkbb^y5n`pZbJ_~;>{TZ1UthM`Oo&2p(D^$}=s2MT~Dtn+s3X_d0O*yG? zHmcgGHtsPo|^{>{*v~5uQd{tgEvK0|6 zC?Z;CB3f32(dt7uJW_T2Fe3{{G9_ z%ggj~0exAjie#$0Nw5RleUZ$fB$?^!g{1Aeu72w#iKT{Vnh7L_fB3jmRr1A~Acd3{ zZxn^3i#HiboPgkQ9s3}7xnR>yfL3w&)R5;S7wj{n8NXeMmUI1ykEdu$+7d45yFZN^ z^@%DIHGK{H5w(uSD%|IyPt?-G z5j7;SK!S3L1UZTXITXf_NDz}IAU&ma0v9_(dM21U-3|%LOA_P+Nl-CJf+m;*tyC2a zTB-U(=$YzJROn1EDs(!Y3Y~Jj5|AJ-?Ngz&R{|=O739cjmSB1LBm4%;a83*|>rr@3BpGPbEG$shsX1p#>6Ks zjJbs7{}PJ5f)Ho$Ylag~fUE}*EFNeYoH$*}p;ht&Hs%(z;EXuaD2#P@6`^UOL>`Tm590{&>>0>sxGU$3n|oEF-rI~6TlKn8*9Yob#wS8qwL zOru>D9fd|Rf*FsL2Z&oBB!xC;<3{iX}Lbll;0Dq-H3W1FVfx=4-avxZ4 z03mb6fk>l|O*;ju#AN#)Y_gElPTWt4_8_HUs-5~6&P4EMF%orMOb|H8m}$}p2eQQv zqo-gxZ~Chsf0!Wj0fTJASAc^m>7~XcP+_1rL8FpqXuToNP)Uer^hyc#SXsrbMPos? zL1(Fpuj5(jHsB=TL7`T+8Ztg8sv5i4s_1E&7NHwxx$C!_^-A0_M9;?eh{|Za zwtzA1eJ$e~BbO}Hu@D5}6bP|6h^L~yD$C2Nh(u`dgVvFXg6r*y57%#3V&HnW9){~< z8eEHC6)sSrNOx)J9%D9nOE};zCaH|fqsvQ!J<;rBq~W6# z0+k)n`z>6I^;$q9eN;Tux_HUzRs->2#av&cXo4DOlMu973B&ScB?!x}R)Vm+p~3Pi z1k39L%NtQxUe{sy#Xk{PUef?|Eegxe4+qODS}iM4SbpY1SpIH@<+1NSYG}RmJ_5aTB_(upruMg3G_rIRtdDIf%9i8bfucW zd9l)}`xSO7K?@2PkGSGTE4m^Gc9lTnoYD!E+g7s}PyqF@oeZZ6ss~j;;%l8HfU=N~ zc+c*Yk&;y5^Lyp~svz_V+R`%&gYp;Whfa|4ODdLW+-`|CjIG`m7z1gk_n$y`k-Y^9|Ro+ zXDGc7d9E2u_&jj=>r{V1lZH+TG<^uJrWINWX@#Bytx)M9alC!yP>&X5&2lM}a%f3Y z4sC0Tx?R>zg-emjq{TyD)zD4BfO06S8l2`O&+?L&!b^UCKBLV#y&4%zE?!)Bs1Nrrsu@~LG;|aWycYBN{?pZ7D*`$kpAEy(atHU7wUL9_3 z_3Ai0fv1^#X+|WK_QOg5LsFtx(L@|M7=KOkf~(IYYKTdIN~%Z9Xl*{(nGsOr7$AFq1c@mj*y0;>1aAl19T7LYr*%UT$_VT^0H zVVKD%!%UhDGmSd{=Wc()OqvZd4Tkeo4bE2;oIg7poFD52=SSn=e74ux`u0fi%XG+E zCbvdfS@;ZnJEfc8U0{Q@^akW0Hb2 zNRC%O_WjJE+7TJT9BS$2Q2W-*p{BH`WqcZ%30l-F-J+I(7lIZwx+l#O;a@>#Dz?;z zie-A5w$k%TzP}CA7J6(f258t~l!iSXPs2K8<@?wvgOv;(z6tNQQtbWcviIX&iR^pS z#$HL0HE!d*lJ5Sf(=xGf?Fc=4WRQbnDu$jxPEg)vC1s@FEot$?OVYO+$kwq zxl{6K<=09>(aIyeXyxH}T6w6yqfQ3Uu{bP!a{JP!E$#Gfl_K=%&C)*Ib?m6SP9fy_ za_8w&7U)Aj#zViuA|zLBW`REON0jlz3kC6Z(dCJxsp^)39vH8eSjsBJ&?jC2DPD=j zvq+G#6tN8S(>aL8EF?itWeb^8S7m2Is_d+;%1)CiyE5-pWK0SY+A zHxp0h4t{{roOXJ*icx8<_+2B-6+_Zok)^rffBj?*!|rSr1JYbED$Nz+rMaSJcq@|O ztw@HqVrxu^Zc&={Vll?EXk1abJb70%bG=P(8iC6afy>62-||88oA^4$;+*K{m=x#q z5$DMjw5Y6bS((hw;wEy^lqWi=RkNa3lOtbHjnd`(wgJM&l!K8S@-|6F9gJ+EbXlTw z>GscTYLqS=pmZ6cbhc0F0#7rgONS_379(o+p>&QoD87%7pmbcN=6htv(jdq8J(B(q zV&qYC_qdm5nl}zxGaqB_9t)bg9nIWrD|2^}&D{>bcyT^2Ij5i5RB5Fm4pK?(q~kju zVeRkwt`)ENbU+jxRPvZ6ca65e*HscCw%U~y8LM)3875HG;p8#RvYCt!s$35fooWgR zRaMGk8lhSxZp=V|ta#f3Sr*M_4yVeC_RfhML)-0S~@)zA)zur(-BUxH>u!< zm}k-P6XbFw)9j4^i8=zmQL4QoKuV_BbFo0}B70xZ24)j`U!cIWX}pw04fx6SEM^t8 zDt7fMOswMT1r456!#nsENg+FhCdX!b7v68xuOwb-P)?q8*c{v9*_33}3mRTi3vU;Y zT^qRuelr50#ODc4xi=&J@AdPM=zA+TLo=CS*`&_U4f#6(z8fw_*GP!oQ4T@wCdq3a}?^rRS2%9?<0gMC~%An1hb~O4Z$9EwBEEjs9PCO;;Ckjby!nnTB|2`>j({4U~`8E@_j0=h3!7QgcV zi~76>0n^i6QvcIuDWy?dw>VE4j~gjL(e;=6x6Lqat!t-dT|1XvL)0)O1g|o2I|XKy z_1zQiikecvH>gqRiaNzB(ulgEI{FgImP>B`0r~?ABs&a0@5ams1<>fX>y;~Q+@uA^ zbtv@mh#FT?AJ+)P{Kh<=BLR2YxUu0wnL!iacXAr&Z&T23*e4Tmq{L=qV;P1CpJ8yt zkSIiUdfuxEp4`Qw$N3)Ur13%MdD3L9>afZ5#VO2SQ^P3XEWmhP69kw>Qvgb{3An%? zG1CiRf;gXsKL24}3)v>W11b+j{gPmu6u*_~?Os?={8onftu(n8u1O@t(Fiu0FOIDh zVnij6Wh61aCQ36+oJb+Ex$^=@C@48ku9)hKnDzqRdIFTe{r^T)rfGzWFUism<2{;c z6MMc@1;5ToFWH{`QHa-{o--#s3-a^{fv-KY;7!5UEeLB;qfes?kj)Q1)i?)&1sNP? z{0xqk=RD_4Xc-(WErTO48||(}sb4RUvu+m$Z_v3By-Rb(q1hkBWzM7cm-h0a7LM?a zVI7ky!n?sC&ywv){dX_$yO$Mw^Xx(^Ph#Q(XC!)~N@191L1J`hcRKtFalE2SMV~?Y zt$??(8N2=EM$M{$zEho%gDAUJ|(7pkJV2$@I~%*uI7(8Pu>~G~?BR zu3=d%L^LeV7GgClD+OgpSSbMUhlf93&h~dEiXE|wjXz1|`?{i}q12fTWsR^|W0~%4jo^4dY2xrlZD-URbpz%Yn|OTN zurL;SMq`~h7J4QST@T}#W;9-wVxb328v-bhpbET`){25H*nX!0lvH#I`RaVX7<+a= zi;BZ@G#!1>E6_eF!1TbG0j;6l`8qZwL-T2TzfxUD%ZC#jV|7pnzO?5?L-19Dvm%)6 zQM|&-9nd)Z-f9#_s>8)58U=wypH#scSNdq#osds&xO&vG*Ia)W#RoUq%d2gG@ZT;!h=wcbM#Y(@P(}x&w!q$ejs}HZrxmUkF z`~VFcpc@@vWWTBbX7vG9-Ts?_!o>G`pd5||*mr8w_98iJh?AzTU(9RZ7cu%2|Wp!B4RqzS^$j~8zH zE(5Tn8L^pM6_Qq$4r6zT9G8M*15;pSL4b|ZwjOr999q3beTHom6OjrQ7))I`5G(m3 zf?pCjo;omj@`VcKuJX#wx_GJzPw+?h4G2|Dbgj%B9)`I}3-VwDATMOrp7K@vQ*kQ( zC48-Cw5wPqA4Sd`#u>?2el1Uo^|f$>oN-*&AgPr+)uXsZ@|bn{3txAL0N zt(%V+-CocCNgLfZ^GX`p%twrFujYp{x~*%~tmh*}w-@st8r?oLy2TjX${(E3t<1z^ zBd>_bMqU}+Ud|6iOlEo!lY;||Zp}ePx7B>m=(d`V7~P)D#~R&M^2+G;`8*w^m3*wx zZ8;w`x-I7;Mz^Q(ci8B*lvjGVrF_Kb_C$WL(QQ$yVlf{vx;>tcHM({3%IMa~OQYM( ze4Np3FQ?20d%1|w?Y-Q0iqUO17c`LV=9JOx>$zJqx^0E(+{!7V+nc#NZ*;SS;2pKN zS!TjO+uBe4Eg2Q%JKWr+IvO;$arvKSb6ZzCFWp>EbKC2=56x}g#pX6X2;U9nw#{77 z-1cgYmFl_g5_8*5PSNPE<;dK&ll#!z_T6f3Thk=NwS2_f_I&=k#oV@?3!2;BW@OmT z{V6xMVVcm5Tp({oE}AzZ7oRsHr_62ZIcaWtDHmsMTg&O@wzXWWx$XJfcdEHL_4K~tN?^M7b+ z>tkwL(zfJME@EnXBKKdnsclgk-eNAs)b@DpLsQ#_rZ!A{u4NSKVRHKbOl>8Z&LyX% zbIB=F+cUYLw4<}Vw4+DjO>LTFcxOy)Gv8gNwoWc+YI~HK%1-V(*3^cn;`dyg9o%yx z?BIKDEIYXCDpT7xT;$nyT%wq6>zH5RjvE_T@@rt@0T~2eWOLg&#SI>2b6aL8bDK@f zoz3R9e9+vM51QMKQUA9^XOGEC9d5+j_O`3cZAoQrb3}iWVUt@|tE%fpOm45c0h8M? zC0-qin%wd%K_z>d-11~{O9oAD$^Is{WQ@rz88W%$L4Y1$a!UdJ9am?s2oT%)AgBVM6d z;YUt`Dv_;mlj8qp#Q%?5{l)f2_LEh*po#BI5Rw8GxkYUdi>@YQQ~vA6T`9g7!bZ7d zKy-(Ja+4nI;oYpNc{i&q!Zh7A%qpax?q!;jDHC#x^pz;myE3^Apb{ zzpKct_Dz*6(|qdjl?1S^(cJg%7^a=50pe zI*vPk%Jq(OgpZzfrJbyAzs(^Rr0*4vIH2s%hBybs&U(}kcYv2-I;w81`BUr%c88%H z;3uc4XHxMhWB12cBsCJrnFDBbmS}a3gIIHBzVB>oYo}&gn+crGX%@rZ9)3PZ46myB zxWV%g-J1S9h7hz5AW$nbC=<1U`$zALb$t-zMH0^XRY>}b=)iY9p_-rVm>6rwxxD0g)%x)OQ) z@CVx$HRXI9TK%GEu)2>GISn1DMeo=GITX;B4EX|(RW^JsbgKgiNHDOoz@42CsCgXC zvK8;7_c%WD_vLB7FG)cGGQ*qnkAyl@i*;47y&8Au2zIE39V++eP)*+>_@qFQQy{>5 zr+v-EY3~$hF2W!{Ue9vq zpRCe&fXZfsxRN)jo}&!pPU*jAdvB8s-Th{)$&@|hjU_t4G)l@Bvwuuo3RKY;uXg478F zDObSfcyl_m19A7k-bs50Aa$fT9;d{+^?4*$^vEfK!+Ea;dac|If_iAPz7WRC+g*_i{VW+5IMIR1|6cubnMFpGjqk=)A2X9K$G~@C_ zQp0;$Uxvqoh3_#m>}7QeJ5PNvJ{(vI#G90NNG$f~yf@0roZ!?b>3yg@^Fg&IGSZvb zKv=JAG^|%PKCD+(3+t8T6s1|CRB`S-1m=&ukCHr)mlnp9LAnQKcYK2Cg9~tbKDC`9eEOrT2?}%Wt@o-JR z`hYpB$Db(MlERS+!Y z(AOd)e~{5+$rIA6;_twcyMj7;+z7?q5 zbns>Xjg0y!*C93B<%sxssk;5oDL+;jUZZj_R6#j5?Qg+@tYZh8PI!coWmGodVH8ZW zq1LOh3Z{YwEbDAQ%~DYFqwjEW$TEGO5;LpPEsq1UGA)>$8Po%2_M`rr5KoYI2Pj0! z6r7kYYLpS4K;eYyJ!jyBjX3Dgq&YAcRB>Tl7bzBe6b#ceUf`JVMY|bq8brHEytOe6 zn93jFH^kHC$Om|V!(sLn4*+ePwT!Q0!W^E@XV^xYk%A-;hpMk($|(&~uJk{!mZiZO zCL!Q7yj=S-Dwr~)QYw>5sY)uPGrmUYgntubMyi59Q8eN!ie`O9(S)xkI@DiLlmkUk zP6k8MSew@~91JZ(iXsO%B;cPn(90TC9fGfYiNAHLt&FtSMlMPW-iTzS_;Y-Ds@tF$ zgCcHqtHJp)8^lO=8?+_+DU~unX$egb&E;*HX_VQgrB~AkXoyJnLnmMY{M!@vdq-IJ zLnkDIvA^?h$Ht}Q6#X4Wk&_x$kuxANnZ}MUXQPqHvbTR#qQyw&zHf@0QP8IZ6ghZR z!fj^dRSEtm6*(A5cNVH0eOp;K^wF&e3r}F<&$k zZ949y#dpwoB)sF&B?9?UA`Pg7p&mU^FQgscCn7hGRcFyBLhudX6X8sVV}#6ZuHStH z&GX)kIJgU}vkB2`_K8S~Lm`-ytS=|@jByjJSgJtEn&U0zP$zHF3dsr;SPiftvZD%4 zaMb&C%=dmB>*f7=An5%%p&`E!wLX_Z82Ta5uFnn{ z`i?gA9eo?rc-UXt@33oX*f)6ClRWIH=&-BWu*IwJzp5Ov<_I#}kY}maz9UHN{UO7v zNAC}fhVOC&E@||G7hEf``KyCwdRv?6Z6|QKhuv=WJJZGJ25WHl#-lS`&}X{n3PDrd zV9^{rhMVas$f;S(lNAW22$qW+>M#QrzsN=rKIGaZ8G{@=R@EJom4<)EWVzwHS3KG9 zubX_f!RBSNz1U!JfNrTw(#LO&EXd0ya7(43ZmE>iy%SqqSZOMK`l#ketn1OIBl(_| zM0+hMg;LQ?QFKrg9a2SbVa5|hv+5d4jur6v;S}&j{QQvu9(M0ht2@%Xh~m`^c$g@O39vJlu5D1@}z{s2M!`nxl(`<189(I7)l7;Y2L_FFU$WsBS$s`C6pd z+rtQjw^2nQ;a>0m|T`Y;jiIMm3~1J{u)B~`vt?Bn#UXbJ%qoy6#kM@^b_J3R9ulppv;iM zUYR>u&~r6^Pz<#-JFSkX4XioO9Fo3qrl3&oMNDY8xV$fVHYjd$2JPZUyPYpjCAzoX}Mr8B#;I->+|Iv}e)bD}n zP(onbbWI56WC)3<6qSgI5s4`44tEBDr>l@^irX(MZa=G7d{43Xu43^kimM+{{CZvR>ovu~%S-ALswl^-JIMy*jsv2@8@J2P zmwGtVjQCBULrsnyYStXZ$FDhxkAL17ijP0oi;r)`@bOcMk8kLFe75iX^+8CRK+QMa zg70~0F%E7&rlEj5maP!uJld0!FL*7{ol$C^MASZ~3LnY>(>J10(~kGx<5hROPY;I zHLp(Wa85i`Cw3S=A}k|2O!4g)d?h>l1hd0SL$JeTMg0mID~$0A>VkQ#NjA7ncQnM| zLBkXe&gW~%cI9G(D#zz*>4x42@U^4F*N*O+uSH>RF~HX@M)}&u<)HCnmAoAm=PEAWzH`60gJJcIU){ZLX?NFWDROcva(9(*@1(lql z?bY51+fz{{cT6U1PhBr0ZF6KKH4=1^O5!g@!nREt{NKL(=q403j?hnJx7Kou|&J41etyuzQUyUJc;c{&YR1pfSBup5nnI# z4bPPF%D_xqWM<-$U?wh5C2IIZa9}cjzz@&Fzu-MPeNOV4nK>rtQYsX5DK?9E#r3y9 ze9)yXZzz;d)6tL-Y33C5-PAAWlB*h&G@#B4lIt6jC>bC@`^X=j2@LT*^HVWN(zQWu zr6X~s-`vL_!T-`%+ld#vNCc^iqMviT{^xzJ(Be^C)JAj>h5?VlBj;gPfRCE(o&SQ^ zymMa=QxauEGwu*Op4`FIoW#-SY9zmVDj2FM#4;p3AY=vfHgy7llfoNMRFT4mU_Xl! zMEh8muDdn|beXk|F^LUUZm{|f|HsJp4In0f^ z!)cjg24Y0HQai|%mi(rWD|MMG-AOC1bSJIcyuX&d?f4cx20o{}|J9C&@mWvl)*4)y zY)?+J67kglw!zCGb5sF6A%8?)4S|}l{cF)D>>??_2n$_4gGp}SaSds7lqne8skJ|*dxz`Uv89ic2nhw|edq*0CR5L-o8 zI8p;I1|@wi%MLo1Aiiv*1K}~#(eRk*`0$u%Ej(sga#=5>F4}Wleu~aao-Zm-Q%fS)D&=E{psGQh}(G zsc6*6RD9IQlooX|h5KM9MI`i=iIr^mNv@89xu(Ns0Gxc^#-M(gCDZnS;WVVb6aY|c-A1}O=0K8Yyj15@8Nb~jk2=eNn3_%1hY56)y$Tf$9!_opfNK#GaBzJ~oc zlay*uQobB7a5l=BBz4Xtb!(i7f2F~VxfWFR3JhvxIQNARsA(O=4w0GuTWqHgeJ*mJ zGdLgA{eHXw+4FXkH4dn(qdU=Q=C-0T!j&)^p-)of{q)QoAgTEt=Coq)etJd*=1ggU zIblQC6pJf06h)oxMNy}E-b+VB7tk(gp^zeg7G}ZkL+~}WD?g%x5Ew(mAhSL#Ob2#& zh^7_1Ixj!0yjPE*Y3@F08g91@J~fi2y__PNwvp0k8iswzgh^YPNt=VoLj)ZwaT*T+ z9Pl-ByJQWy+4TTfTaS{p7vss=nnu=MAhNbfWNl3+Ypd~O?b!fX0|Hi$C2!?^L~SrJ z%LR#9&ZjUd8knsRJ;JPY&kP`DWVq8_UZR)rrr#5(K=6=TCT3Yl%rJOJs{KoP@Q_p> zcu1Opha~;rA%Ukkct|P~Jj5q#y@H1TJ@HACAa=hL%h-k~obuwd`=7M3e$vW=Pg-iw zNppbVL*WQI{7VsEnZC4iSR9t%n^BGp4uh_OXuN}XyEyE|;IJdL#SOhF#N%ZRhnE!& zKQ$ZqkWEJ`t_o77jlep&482!WrmqRf$Uc{W&Dp@m(jS6{mN*n>7b0p<=@dV znznqK$*7E${7^>w6O_@?ADoPqmNHsWlhKk&MoSLG8%*}%4JP7wgYo}LWwc~SMoY4c zmi&{K(Qv)j10-!dO4448CuwU*W#C;)fw$+E~5~qPYPWUc_taXBoetG!cC1J5vAbSTCGcZ zts`Wd(kP)QsVO9__0D%#j)@MS=R35kW~!zHuDNc#LC7RZZ-T-ch1W(0k!&=TQgA)`BJdE1(#At-Ez*s3f8ENHm4<| zz15t9{wCKf&Okc7Eal%TVkl>D3!#rPonB#{a`vh0%6Khz z6kYBM@C1Lv?8=b8K=fhM&%c)p9EuRb;ra}R+l%3-?KANnT448VI%<;Pc+cio({?1A zv*BlR&f&FGLH!Dn#mLS-fKYlzGV2i@**c@KYeyK3uiLSV#*VFI=XY(qJ-TfpUD&Z( zNBs)7?O56QZ968o^g+dEOuv7b^^S6kQqkF?l1;WF;QppPd}h5(t*T8s;=uE&9muSA zR7K-D`dyn@?`VvuchH;WqjwOt=yXhg>7(B%ne}Fdzs6aiKSugoMX4b0*GwUT8 z=)1N8`mU{j{&jmOpdal8^o_om_3FW8k4Cav=MyBe>8;zLYLR@Hyn(imip7 zwiVj1zjM2N=Ii)g|D|M*0vZQW&g1uSt-2mB-GIw<&1iV zIYQ&2c>b`uwPpLF;0Xrq5qW#d)^h2MVlKTCTBzwG82Ka7Jh}g<0r5V*qgoEVhRUIL zm@kcSw~>LhwH$hMvHMY5ii4y5bLeq%BeYX@ELH1{6$t!~LIGH*GDqt%zvjN?*spM*X^V`+<`6(@g@=5SA z&dv9oi7jm=wycpEIO%~+Lx}BVO zM?!JJ3z3|7nQ%_L$h3g8dt%Vu?P@F5)mF?qE-E_EtWf|1px*mkxomV7%ZT8|qbrxu zfkL%CV1dem9w-f!LoaRxPrxx0Kxc<@=ncwPrnc-D@LQ7tC{J>(yi?+HZh~wbQnV`$ z;1oSSS6&DsL2@hW8S^+pUYTOAlw&gERa9oYl%5$cGi+kgn(E<{o+M9S?D(+hY7;bj zXU0oLGviHpP0F=PP4rnid`OI>f%)f7_>%hxjD#ch6eOK%09V8xagl9zxE%o|gj1N* zE9cjoqs(?wm`m;ya7O$Q0YGqQlNbl;r2oQ6Z<1nrL5!_QOb|jJ5neH$96Ek)@}ZRZ z_5DfQFtsN1csw*PPDM5@_MXex${OO` z!aRZrJ<^b2t~f85Nd(%&6Jy5Zxce&{f&8?}ad%qC6R8I|#hsShZZweFE|A4;!p~w? z^Rw8M{ov#W{NUtOKR9{Q4^Hm+!O4&8Ba7XhrC8(lERr1dcp3COY=2hI!BNrGz^aObIt5YC0553Abzcf+$83|2m)UU2ESd z;bz5-sLy+K+7WjkBOLmOZCHVepH}qZrxkzk(^BfXmn_^YYZmf5>sCwUfm^d8QR1Gr zbT=1P)r|+^#(}CXH6W!> zmaT}I?kOvvrt6;vF3Y<)-BV4MB{f|-sHRKzSJS0q)O6{Pnl1|_!~tr$;?QckWHi}{ zrlyO_12^sm=N^v>&K;8nu7{c~$%32%oI!C&HJz_kA4*MkP^sxE!8~xKu$r!{)O2Le z0b2>G>Fj;0>5@aM=~PpwrnBYMHA}m?W@%T~tfAC&jb3WH5%9%G3L@k5Qq|SMx!}U2 zV$t$*EufFtqJEM{P4~E^)O1k9N2z0}{BJicI!YZ2RsCW0+@87MO^4KTdnPyJ5VZuN zZwiWy&;)v?r1)i0!B1aZ-4T@x?g-`%X8R_$i;!nO6Cp)_zxHJ6sR@3ZKwn3mp( zs6SZ`)wxb}R#81{1_F8ZPX(9hjo>vx@C>GVOO@?%*(~dx8k7glv<%BiAW7GgzM-#1 zI*{}YeKpd7q;Jw!BO}2aeKktRqvuFr=MI_eEiw>{X6%xJ4x{8F|6dJuw17HD7&j$X6e@zWQKBQy)0bc@rV^K@!vl zNmd_hYLxm_lhg;BICw*<55&wQ(HJ%Rqqxj@Aevs<%ZplstR`l)Wq`DoY~vKeM*}7S zecLDX-@U-^URLnUvkR^K{iv##fYEC@ido1Z?$GXZq>jSjE)`=Fs`b)Q$c>s+1IY`) z)mvy9I2NN_x(?k;V&B@i>)g#G55o|&PW`U`2>lebz(B6I@;D9$B1($RqYy4Q)}kM1 zdVqfnI0C~1q`EbdKC_$dEZar>Kc|6 zGooR6#*EdlESrAbHZ=Awn}BWb!qdpcr>`X5fOuPzLYxHnSrX4r`t2;45yi_BW{>dv z1>f^J-Avs|c>dlY`qNs7{&ALY#LP}|25;^%%6+C5qJNy^KA)#g6Hos})y3J6O$9>q zQH%2W`44`aAY1(96@2XA!H zifw5twxzGwAyLt^m^I(EWWOusMmM@lLv^Tc3_C+>d%%KJ2R%?3DhFKLij8ujhh#X> z!@!IVxMGmtO)TSDjWn~6`VFNxvA`Ovk#m2ChI(DP4J1C3dR?vbf=W2}u8TFqkO9mBKqovlUjdTX!JWTcwARJ?l4x zN_LBt>>X1n**m6EvOj9x_DxC34dJNV5Dk?ZVqDJ+;r5BRFidiu5j7umE!ZZ6hD+&( zC_WW~I$Tq|Q!%81sTk_slxS6^VsHnXA$%z7(tQogEI?w(DEh^)K{f}<6aI*YC+QA% z(m*(N(WOLJy0}pD4Em9{Akgqf1X2rAnU&|ggZ>K#DV13r-9uXN1b;-rWund_l$fnX z$sWKxq(;de@FOw?nCt;jw#(=!otj@aNQ~+lgOfdsDE_NX$sSUa>|p{`SCqeO9xrBL z-Ue|R>X7V#2j@G3v}Cdem?N3<%#}IMa-ycxJmUNVnzIsI$ie$Ker&z{WPw0s-lm}o zQJY3YhO#Ff0t+F*}$?mjA{4b69XiWJdCY`(K%T)s1do1A3q(Q01N zYn~wa)fc9)q@hT1qxW^zOwYg$X)=?H+Rmss8jMnGlcB^mEIWY_Ta^95qAFXLDy;1o*QN3s=-+)6Ki(s*J($AInpP!h!=Ek?>eoY+_=%>I_wEA@Mz9CNF--!)u+AL!Yk`<*m>{o>gZHS7s~IUUXTs^1|7MLJ}A z1seovN(uu;i4W0DYsFFTsoTB4CD#;}TvuFjGQuSjYdoP?<3cbyT1D}}z)<`aTLQwzPjDEV+lXxChl z9G0KP+U`u@Uitwh-ufc+<4%&QIZ4Gzp_o)wY`()} zK>XcD94$l#iab$LREV?78ysfBk#VYq4KvXxM%_scGR6jfv znW^?7GnII%PB{Eb+FTU4-SlYUx!d|rIKUdWi1olK>jOctm|`wgt(C3}I9#Gu>naM_%lX+)c+ z6aUPZ7ARrq#!k`j}K7ZS~Po zAK@|xj{0?&#Z7+_{%->&7lKRBOs(1rEf~?3J{A}ss)$!?c=|Qa#2e)K-+s$pXukso zN^E1J{emb<_%Dhrv1&mDN5z|$%%8OaP5-7zO^f9k0j-9CjuJS%s_CPmwM*6_{JJXM z`8W;4hB3MR8}Xfmm$0)5wP@mb|4H#@)27}nT9?Fw@VkkucpwktUN)${6@wdl+5nKD(aNSjwy$CRm*BAI>^^PAp8~OTwEJldJm}=3IM5{%o6eiG zar#uiKetREyB2LfaP`0*wQP2bnSsAH`68Lrw z``b`sZJ9h;F_t+z&r~fO&SlYa&y+*4a7V-8-Z15soTruhS*vBvBNVP#=*YFyYgxZ-CO8oQe14N6x-BI0jxDg z+U$GxS_&Q9kUqKDj6+T%F8w54>wM}4*7rsVW*HU#q6%c}3`M5}bso8-Q)i&$NZQj6 z2!c+Ej?0R>x{NXeGOl-NQdQoUs?I2(>H>;KvnW%YX-OaHSrsAws4hmW+9W$s)E3mF zTelIxnBA;B<(%!Q_{B{nITc9~5^s4$QStrx5?;ALb7@JvTvG9i%YpF4+zteqk(U8p zu}OB?u!*yM$tI3`o%xF7ybzd#*n@XyZN5WGf;uibXw*^J1r#d9l}k=~-Bw%T727xO zY}iVqe+k=#jU?zLRs?aJG0BFc6Igc_SnyG`wxd4hJQn1f?F9f)plw+3 ztJ<*n@P@@-NiDzV$Fb967*RB*$L-*yD?>#Ok|21K4&xr(iS5{kgM9JKQZ>D2-7zdo z2eB~iV-(y$mUy;HZ71bji*HhDLCoBZ|o+vJ@o^_7F`;KBtMlUNC;@h89J8~cZ?u^3#&jO)oLa#$n(vY#3Y z64o+48m{_iSoJ;6t8t#^wBi3MS6=k#i&%pqC?^yw9T_#Gpo>5gtxVvqXaq_P(NeZ|J+Tf=)-YL-|e(&MW{n+`DmA zkxOoEFWI2T5A0qTYVNitdRiyoge`TR(lU=C#{tV;LLwr#(^u@?lb;Jreq`FUMqjZh z5RJx7q=NIcX|tslSn#~Ge7qt{qs#%~mN?7E=e(Qp<7z{8RTKO5MQwhZo)(U_^Hn3-Dk1NRW=LONlfOC*QY61*5$y$#H} zoT4H!bS9tk9NZGkktlZ+(8<{T{jsG0Pqh@~sh)`EsTMV!>a)aCb%>{0)Oo5-l&5<1 zJDR70SROh%w5LUZc+VV?r`icsLXkBjPxUqPL!RnGp6WxM>iy=awoS!TZJRMX)!XKW zJk^Ih)i69&>V4*^Qp{8BYL|R=wM#x8ohX`k@t(Is(t71R9j|{r+Sm)0Bo5b zAWwzYNxFeM`Q7N9{MX~}pO`bW`VZl6<@zxW~v+79(>o=o}N^iVOOUjMGtF$420^g_q8jmtW zRbDoqBVb#_HHea>qF3Q#UWAiTi6KjN99b&y;$R z+90kXNJ+g32wqvvSwV6nCqfc-jG+hgrljaiR;M=<92@Luk`4i#Au0rcfRMT*hqFJ# zuL%>HTnwQBE1;x)NxfC1IY}wUYcz*KjgdqB^TW}cdM}z&i>Eo8k-=z3m51sg=k5lg zK59eN=U3F#w>$dHgO3JPor6`e0=@-^RwuF-wy2&o|4PgW; zq4*#9DhcUdhiixV+PG{I_E}*dxzUC6nl7X#(`B=42jVgk#WAgfWnc`(pZZ(kj3fhL z8K2u!M97E|AsLo2sfT4umr$IA*f9`$*B6y;i58(qUIHdG8y3l*+l)KX{pteg90l?+ z3FKwbxw;g}#pfEVi#`tp97#$FsZ<_Iq-buQ(-UrHDMT;4`P^o2O6f-F8?c9>J4IkN z^a+Qn6Sqh*gCcVwhGbT}s*YFH7?N4&C&|@(NzNULWU3ymbC2T4X2B<$#Sq!dDzcf@ zn<>(rHj>Z!%nS*7>w($m-FiOMdM_zbNRS{&4w53%ATgwyWeRZdu96o)imdq}qLdc5 zm6-XKqV+`Jvx>my6@f4N`OJ{O+joG#=X((Nydv6Zk#t#vDbfBBAm<q#TP2YF-!~62iiOSnxflmCH+`Lseje8b-jokL;VZ;qyF5yO?}tUe&Ae>{9g8S55xE1s zZNxejZ5fI?c*~#&B?fW_TZZOX)YWRj;1KV#V-W;pkd8qVl7SqHUNweuELzvzr*I48 zSoEUtfjJgg@1tW8JN0o43f2u6zGKnL!yWE?ufv^-Kbr2HcPv^nf{sPc^I2LmJ_yGm z+$yV~L$j)F^=IP`&5CwtK2L{cnGVg0erT4pnx6Uq4$YFb>6f%a^Td#crlY;z(GJa{ zAKala-^W8^@}XJO4$Y!EG>;E=XmY&{jT?VxvUmQ_z%^t2(EJTLGk^VqI5KosG!Z;9 zKc@Eijo1UTqg{;tQCzBRx)}W<+Hv`Ws^y2@|HHDCP@DaS)LHq9!yT1P?d|VXC*|WG z*g-Mg$Ae<!kxlWhDk$=vy4a^Lm9DQVLwx$lEGCHDJQH<}L9 za8KxIBN0-pn4ncC+g8#{CKE~dpMh67RY)MaouJ#D94iog0t~t-riVB(@wR6m#1VEJ zt_X5qNXY$TjJxfm+l0MsB<~T)FW+YMH< zOAtqYf4d=RrA#}O@OOie3eRF9I*Ueh7HKzV{gbn(^^ayTZUe{chR;1!kR&j+a`Rr^Lr)d!czo z{M}40G|$5K)IxItUf*x1Y$A276p_OelS5OI!`v9CLh0-1I03kY_ec=sE&u*V13tfJ zHEkxI(&0%uJB@-KbrcBGuJ$rt02yf);M>>HdA#8_1J`m4pn{elV@U{RAgEyyW<^lL zWE0C@O14t)cRdL@RPk<#qJSi?7fjo%DT7@Gi;M)CU~Ya%<*#9@%-{Nw+}_GsX9M|? z*1D<-?JU|YW4?L9Gk|>K>WF_A#Ts#h2!YOY>)#3ekPy^v!8=XB4BXHG`uJ{wgJvd> z`Gl6VRi9WuS;A{|yYl0efmW)djkW+3AIf#jX$=PbZl9X4$#g05G=IoNm zoiF`2 z&9b9OvrMtpl8d(Cth+uJjbGE$KQJ!Ij!<5J{0Mx0!c^elDx1GcHh+v~ZlNVdzTApq}haeb}asSx*29cqv@(#@BYfztDfZ*{p{PJmDkJG#!2e_tj zxgKCE@TVo~jYHj{ozu-suj)T0`>a*(gqAy{st4`A?Kv<8ZU$I_xS{dDbC%nG62RCj zG2)E~M!cd{c*9>|e6i%!FfA7-amD;qFhc{}`L4B$J40`Pa? zw1AFY)VyP~>Rg$hK*01Xd)sKj&OlEHnEy;)+j=~xn{m8gl0eji}g6QMuVe(muP^O$P?=HtraT|&PpPZvNx#niP$H&fI-*l+w6oU0YQKo7Z#+E3HR zGI90rvFdlXg_@04JNKgtVh~xGatOnYP`)8sX5x|oaB>SR!%I;nu7eOfJNKjWniXkg z-aAU)XYl)>dG8o~KZM^8&wIz`AIML5hXEBPg5$5^sFFM)E}v3ksHicNc??yWaxiB9G++0;dGd?VLsy|gmj@Le$|e4p8^NLk9JwMW#=h|%U#6>Fc;t%hr#=(alH_4- z+}@hkKtlPAUWy^*5nqIsTFlgyIITdF%-T6f-n z1xll2qO7rbIM;sz`bpMUl1qrGmm_6TGVJj|izN)?|S78ua6{dUhnBoe) zj{z4x1*a2Ou9n-6G6{(qfZP?!h#_Oe6gkqnIYX6FBYE)#E)W9PMU6cxzfFt%TdcU%FC6b4F}rVv`lqlLEvp%t{+p&1vBDJiNOgj6Q%`~YI6CQ zFP<2{Wyr+^6@vrUal~V=3dAQ@k?-=(&6$g$58l|Ec@zFl&6yqedw$ORmZ-uzGH33= z-^n@i8}N5@&fJB+-kkX^{LRdnJMgzQXTAe}kI$Lg@b~bX`4;@WFlTPT-(%<#Xh9a@ zF8sYXXTAo1kItE!@ONg;d&Y7Quzb2Yv z&ah#H-lq*5l^IBg2d#WvTm2tV%!$7)Clh~7@h7sBrHAc=lpbcyPr#Vq@xLM}xsrG- zMLpUCp%A*ce)v>kbEL0;N!;?n*-^B z6q{p4Ws4k>CMU|~OcI-uYdhBq=~TUL*Xw3IctSfxP12 zUYpM66ku>A8s2O4GN+D?KV+mMvp^+B!c_7P_gxn(n9;P!uEe$cgU3WI&OU2#(T!pn zNChTz9ScrxMa)A!!wYMnf5~4{YbQmBGB2;h$t-Bz^d+${6`{j@<#LouBCAxueC<*c z(6gt#=HzUd6-Gd=G$1vSl5lK3nOSoV@%lK5-JiN6;^;&=t|CnEkvdW-o%3-3>#E^s5W+>w!Z6+v8|Msl&J%a|=XXTb8} z9>*oe#UuBGBDg2yB%OoJ2IRB$ocI|$Qhw~yH>ti&v6tw44na1_2)7iNqJ2wtW^c)^ zs3f}_QzeH^St-bZmWg1N!g6?wsPZ%`6$B^lqJW0FApP_d_Fl?1#d&5=KhAZ=ilXARG zJIe88O5AaoCK3V;8jeOy68+48!$C!v-OExoh6mtz6i0DWgr`tf+n|ynfjSCw7D=E< zF~ugutd|;k17u@NibN5P&U-VuN%7dccStuW9-sFPV=oT#m9=Epk-6eq-^;!ubCtsv z3-;@uFS{n-k$9tR z-NB3;G~c!~|0}~c-)~vUeE*h(`b`K#3|xVQ_Cl(#E8}j1F`EM7vHMj`tbNKF#%r^W z`&BvUepU8OCJ@|M+VwW64~TuQYQCGMyvAUADUisULN%=a!T1QdC_o*!7eja*e&YzU12ghpNt1t}_zh z$a}_jRs>9Y$A-94=(yv1)cC9it=(Vsy`_lt5N$aaxXJN7f8vfHE^moDlMT24VfeMM z%hsBF< zpIzzM8S>SHgAZeL`uTmuFB!eF5preS(2=HuMK42$R5)BN7PSTMjhk&kbOn9CEb;0X z`+Y&~TTz}B?YPh}jI)(`-`ucv?C{XuvHgX|t+8qa{ji?3$PWu6hvz}Eav4?I>;j5z zvIyD8rL9EJcqNL)&%~qgvWCV_6B;iO8ZYZ;yriM=6CWTNFKXLA?+tkw(Sr|pp=XOovcIm#smMJglS~931bGxR* z*Npjy6~xdiVQ7{yG^1gt;NCMDhGu;K7YKtWy=68{rR;vy?1P~WVkm7B?R^eHi2B_Z z@ybY2HUq0E-E3ZAu-sq})j<;-_TWM;#_JG+$g)j_R*|u{Ahu0IY?~61xLa@-rx!Q0 zJ0crqK#g^QTGQCZ<364Fe<&A{9mrN3!GRgn8o^slsH zxo_sp6vtwgaYn_|j$<6ekE7?g_h<43V1rm0PZa+-I9guv`@|^%kJVSY8;Md^5QBF2 zUkSo9*?s{EeiL&vdNyQ=wnTHOg;x4#BGJlTyZl(oy>?~s3kzaa;MS(y25&)6?2l`+ zkD>mu)7kiT;?p<9V;2^`(7t*@J!#4(NBPO^tDhF%9Qw9<;L|tZty7`5EPU(QY^d0# z;#Q~_v`$dxBGkE8g!)I}^S9EUz6pI4pa0l`(#wmYwd@yKPJ85`Kn-cA!D*L*rAe&U zb8lXo47CUvXF<193%w>NGxP*yZ)t+u_zB9zPf%XAG3*pYM_jj5s__$4i=Uv8+ulKq*lDQu+(Dx>L6x2pG&b}Ejo;D)O~g;oWc&n8-Tn@m z<{gv{Pu&5UionzXUyu@$)JnBee@?)#2?#g+@jP6hN3^p9Isw|*;!S~e7C7h#-~;p` zw6g*2fNOd3^$^39|#k$KHuSB*Zenv&rZnOoZ`P0%{gi2woB6da!+u8V5pl zD*-c~DEdA7{BO#RLyV9o;oHB0Z?G!wye_{1MY<_}`)R`oA5$u$HM%! zqS61(?-wR7h6K+x=YCC+pw9 z)+joJ{y-7GRUT^Z#&*Z=t?Hi*xt9&uHDvi(HrRWt>vS}Lk4$?uX6JVO-kCs^4fMB! zq}J8~N0x#06Epjl!Yhcp?HyUfr&7o#LRbxxt1o>EGi*Ce%vnznb2`RC=?RmAl8FwM z{;o-puUf`6ZhBXIvE-K>@x|sZ@aGd8S$f10frjU^l^$g)RRZ z+&H!6H%J-#iA&b55x!&z0=#q0d$^VHoWFz^pAj##VcfIkq*w(ZN4=a7z}EJfNtBE| z03-`Tmx|s&a?+`RGI2#Q<3BSF!^)|0qe(4z&OG+U-L6(mV)oNpSk96IHB z_H_Z$_uXiv#el$^ood60@UDxp>rD%YBfVs_@4MbK&~L6~0ewlivJX$c#eHZmZHa=L^ zm!Obvf!)(Fw7nA8Imf|M^vZ~ zBL#mPyyWD8!@YzIa2X^%1zY8F;t8-3&(DZ`lSK5vrUffQ)y)dV0)7U)p7`sDjRdjB z#LwvVExt5C%!UrNERa3LCk&fvpqJFd%s{6fJNeKN(mUcs6enm2u~&*Wn$8RIcg#&1=WaYygv^rE<_ z0>Rh?L4g2~+AsUBi0?0oFGBnyghID|rY@}%(M7yFz$B=ZrZT+l0N4m+St`Q_kASQy z7ds5`M_TSBG2zy=&jM5$7`%v}Qpj?bOmKq~Bn_SDETDF2`ZTlPW$Duina-VN&r!1n z@t6~y1M`wVGAx#Gbb(+!0S?tAQE(Y5hXR<|Gr(^jwa#3^O+}-*5C_y&mo zuZ{NVyD$4V`tJ-5txwD_0>R}4ys+SZKeK>W6a4S93wV#f|L!dyPwRgN%@P3}eTVr5 zF+zSvZ&^ovr$Brlb|%`7rtVH~oKFj*^R+>;a*>4;T0+Ec`wFyU0j{rRZ}BNe7M69wrkpO7G!cDEZeGDhrI#XKntlXuCh`i*15i0l|*A z5!}hB-7}TwhU!pLiEcJz{zK8tZoeZY0yW$66D&{Zt76Z6(H4Z7nn)l&^~yU)ds@&` z%-jppf133_dH$zS|5M5T&x3HVVH#o6`+x)KKzx(v>2f&~4`4b6I%^9jj)KPlVK%Etw zSw}oGv%u;+!M+IQ&uDi=Ex`X7?Yrm96COy^vkP;kho2nrX%=g4Z$WE6En53NF*^)` z0y{A42I9UTqzMbK1irQm)RKCj4r#)p>|4My^1?g5B);zsKmE>d9sc|~+~JGRCAc64 z#`pHhAApEa+7iq+arO_kA$0VOcK1;sVZf|+>>Cpgxc_KYa85O@MPgGVk|+feWy|KJyY{~vzgzkK2U z6a`yQ@NZxHLie}3|L@QJqA2KM5Nm;kKd~b^bG7spppE9Ns9W$Y$%k4=(WTDi8*^s& zrUO*7U4IB|&!YT~tsCOI3!VN}8a_@u_`m}X%$aY%lUV2O4oXMXbx`UV3s^b)0RP?; zd&lvcdlzC`k3I<7k?VT^K0hQ|8GQ(9e(5oX9^V=2@pbw5J3~GGf_!{?sK?jj<8KZ1 z_|MA6w}yIrRX+a4P>+9JKHeST@s?nsRvvR?i23%ekoHm_Up8%EKilFrP=1|6>qS?r zA$+_JGJ5*}u)$!`0CUkiF}z|YuhUNcH-?LJ(cj_X9I9PT=M&EoU?g&+YvM-~>DOVq zFUxOh@U1Ia$$)CxzQKWNTUl}g5JK5!#P(VL8b6LA8I)}3B|A{Esh8|RNmnoFh@rN( z^^!#>+0jdupk!AsS%#85y<|;(>3#+_|Cao^hhJer+e`mWfWYq>jqHV2chl+NzqFpN5)rvZw!JI_c4=F&gEt|8~a!ValFM+=wZg^Oa)B-(1zqK&75t=HoFQvB) z3hLUj(SD|iEO^Qe6xq?IlF_G9(WlbUr<~|hndnp5=u>X=sa*7_eDtY8^r_;4_KdU+ zK*k2lMZilXe*8V-R*L5-M-^m!;8xm+_Fkg2Y>$&{q`%^F(-!hR@Q%gn7JA3z^@MkX zsN302WB#>kFTMTkZ~yYQzkLArFYe-HtChQUX7SqVf3wpmed^(sd+powU;5Mk%O!l~ z+PA0xU+RFl{=#DTIZ+&ZZZZD3#qe`W@y{)3&lz5hf4ll=dRRQLZ0W<~oh{Y}M_U3z zey8Jr&VZq&X=B9XM?fcNs$DNA{9Xc70;opqCYZ+&55vKu`9wE5DKAhG`DO7WvTy`nmM`2INCSZL4?}OfNuo(l9zhAD!qK zg&th})%-%Rrj}EB$AIV~bbSpy{tO^wRy+NmUGLE&~?FF_1lQzf{#NX>1uD<=Ihk>(QHPlJ&N^%i3PqvKwpRlH_A)~Z}fl>WZW z8FX27(W=5Pg=-0^+YsATK4tg{kyc4OP?A4DxI8hoHKUbRTl-q#+R}d(Jf$h00wZV% zDu;KAvJ`@EL$3;cWuibd>G{nrq0MTY^snrmLdQVwb1YUn8(9=JYv51-sxPjMfORcAsb1D^q=e!F7HOoEc!V`6mIqm#g|v zH+ZQ2$nLu?MgYrH^Tx2fEjf-ogU8XJaa5pP*rhjVLv4sj$n_sjg7(#h*ibHfxbNXs zl{bJ~_bs`HM!7X!^1L?6l0M2s7$t^a!Rg1mgiu38>tzm4R3&nv(6G>|c%#?;SXL;; z;FY|psLA!JxG^`WM=s6^8#AET-+wQ_u!8O&}<>4*<%#P*f3~dq(`X?HfWL*0%A)=s`SJ~>f^-tUUmZ;j}PD&zW{r?$MD-tQdrJ0IzH z>ADzRZjs6l5F6&zV3@Oy@grwoXxbw%0{3Ph^}g%+{&tb0azJ{(FoQz;Xjd{ec0$2rkrHm@@$=nm!v#$}f^JEtZv*|E41) z7V*)S{sS@#zYKp+YO#T9v|-N06wBI0!)Oy}XCG=CH|ER@diB@x=mX;Z?^licAMtQe zJ^@5fbnX*q74t^gS8ssN))jQ>6j0N=AD)^Nm?Zv;HZQ@STJt>oDK$soPp+J@(_^2LI!q1Yg&O zKDhudeh<3KiVdk=O!_Y->BVt)&>P~x%jhXF#Dgw$#l^0;*cIS+i$5;@$%`UOti&fl zj25-sgFeZC?0#)2zqS)fn(^TH5sUW5lP5Aom}G%<%w%+VxU z*vR(}@$PAO@Wc=g=HS6ILp+#=-sG`2c{Skg9pcS1@Zjta4;G+_0ya^ACOmfmn1CW| zwLES$T+9@dq_8AKC21&0V@aAy94K+H#G#T5_V)){S?ESq>qge^MwYs97j)w;?8aT# zjnhKH#JB(K5O1G_x6k6+XYuVbAk2B=P&|&s<5*lrtyT?+Ygk;v;yF<6dKaPiA{Jl7 zV!tTC0Q)VQb`d?ida&lk}{N(v7}5T6)34- zNrg(PP*TN`DwQ;#q=6+3Dj9=LjbW$8uu~QkSXf|Tf#`X8!8;Abr?L1n7K@%27rZl2 zd=ZsbMbA!)ipQXh0=5BB2J zoLulG7Q{ppVNUWmC)nBnC^>*72dKn@5)Vr}DrrJV6HA&@(pnI+JO&e9zzK&IM5|39 z??7=Ci>p{HS`{*J1&S+JT)|?o?GK3QhvG68m$6vv=P@z;P+Y{~A{L8{+7QzZ#aS%Q zVzJn$)dg=Fx;Ks8o2Kp^gpz|;a*#@9pkxM1W~k&4lpMm6LsW7YN)BVmVJbNSB}cI2 z2$jr2$t;%4Qpr*1)KTozQS8(d6ii{k6c&h{9}5iI!#mE5}^W_b)Iynqu9Er?b>vLKdY3|6Lq zD+9%%)qBK9q4+QsAI4&_QBR5KhvGw6dfSjhIfo_ZsN^b?T*Z>BRB|7b+=nIiQArz0+E~)2l50?M4NI<3 z$@f6X_h8BQP|3V^&AZP#=biA5c}?$t*AOyL(Mx)#y}FQuM%&{*F8-;D=SSOV@o#Ct zJMUc*-)@M17re_0?d7koK4~wsO5R5oT6vJ)M;C+;b$&sJ$CnnM3h(?UZ;1axHsNug zsCA^MqOyhd6OVu8@$`b=eePapx$vxba#TF&!jmpO>C%(WFMjKF`+DnR-h~B0!o{=V z$^0jQLW~22s3V2IC%?S8`hN*d^?SXM1tF3N8C^W-iYE*3WC5Qn@RK*c{3UCl^>OcR zZ^XOszzz6UP`Huy^pA^ws^YUi4-CBI)kI~b*n$7!FaF&xB(IBU7qcTe z1eN7PWjUxUhn3~1vhSsV!?;Cdwb)_q{G+#j*@TtJLC@S9@HcjtAID+VVcO2ZR0=+! z2E?zf4ZIH3*RlFKRsZP!{db-e0^c|dJlA{R7yW_Pdk*}U{`RjvV=f40anQi${DDJd z_1J;`i*G(J#4^F{4I20`>-&vgc<*!KB%B>MOj_SM*ud~MEAGm>U>4PiM`!UTp8m{x z>FZ)Zg9bjn&=N-?FIJ|`D;_+h2&rb!+5hFA{a?Q<&OThVN{SBMfWIh1 zO#_QmC4LbqJB!0CfNy_p0j}r@&IWkS{($kHcOUx+QGFh~_C*(=ugTbfmvG=I4IWZZ zSqdvlQDwjSi;w+r0%ivXp6osF8V)=yI#}TClZMLDSXr7Xd+lHRUn?fe&Y*$Uao|~S zG8UDkJ_*dvI50nTWPY%+|FHG>|6syV8Z^vt9H!tGGr%3Df$2>Fr&Sc6v!eR+CxPV} z2bQajEEiV)j~@Tc-x9Bt2M#=s15b(NDT>Onv9tKrZ+-FqNy2~z4cx_n!z@B&#n@T= zH&6V*&x=D?960bC4&2dZ(SgbwtjwXx{>fJ!`z3KoDg%dEz+q;9z`vz{yUl>I zmS-^o)n~B!3|0SAf3*Hf0>i5V2VTa3i*@lbqB19T7T4GQ=-Yz2mIn?zivx#Qgvv6p zv-o1??|(*AmK`|oA`ZO&EdHIHZ*K~CC=MKE1&4{VI1RHn2D3OdXck}m%GH=7mNh`%PkBV3zlHF+0rHS`jUH}Io)|XJ%Ol`{Zhkm zN#l*-V2#-;MkNHL1si-Fbazt|<$gle--KN8#O%J^-5X;DR3Z_2uZYa|THjWDem-f) z>7{%^vY@*B+TT|T zr|`YCp1KYd+495M#p{qHU;~f%Ke)=*h{{J7o1pVPV<42(E&a@aP?(jA%LRimPh?cn zXYwT zOQs&#Yp0(Fx-4L8r-NQr=04={PyFUJxxMLEx+E*^whQ04d7w@0krIk+gA9u`I-h^< z2GRGTVgUta#`$@^-0bjX2!~B$SLnq2!$$^^O9wcZ*Go*ITuz37P~Bo^I92@X>;QIX zy`IFybmeIQc!49ztEAKp38;OWFjt`;vUFkOLe)$Lnw9TcbMK4VP^Qws{VnrdoUqU0 z`+-6LiFYZ;Kb(Za^xwJy36X=D5YxiE?jO~oVc_!lBl7vBw8Y7RXC*RE8Wrx>sWyIo z!;&~eJwCipVM1Vojv0B4SbgPdjto=2ttm6}g7DQa*0C}CiTJak$8A2}Z9U&@Ip3a* z3Ns24BaW| zhLaO@yiE+Yf6}o$seC5!%jziiN%TEOQw-TGwUPd$L%BmcUYYYotN6(s!#$k#rny7C z-J^P+v<6Mhiio@fcRv>*alB5zZI$c&!-enBmfpskeRQ?3~S}bxm>``n*2(b{D&BK3h$ zywJ4Y$Ga+OtQny7h#Ft1ZcsK$k$%X&+)~iEs9(D3ZAtm;@e~fd-{{1pt^%kCj+YmC!jR`#E0bj^>c`d~9>A6!Cb^?yv7t2B)n=aUFm+m7-N12628z_Q z`q{)e#2q_3e_nw*X>B07A~H_BZuUeGFxop#nxnTLDXj7%dHy3NT`E~WCHi|Gy}H0y zP@g>UI&`(Qgnw(WJJ^(O^_NeS=5Mj|h zMYeR?w5(mlfVeY?n%Ym+wa$NO)(szaVKDk)30$c@6N=0H*H_p+wX%BD`Y?>fS{8Qi z4DEGx_gz$!?FYEBUC?eqKa&x*8{HI#`!~~byJ?v!?4gA8YBK?<5eo&d!vnv!m$0}G z>Kx***!+QvF7XP*!IHDlN|Z#R%HG~sOfr5dn)zu-P|2ja`4EH7+$Zm08Q~hDh56m* zZZEax>vD~i-rQt|XN1Awv2EvLFzz#Kn88`0Juno%LxlW?+3f}fleQ~UT9==xtZ0zwpnez3G#ib z50}vC)yIhH4y))aB}!8aTG!dP{A(0qnKIDgl_?nR#fD!@6Odem6z>E-*6tF~mLG(l zG2)E>7TkV~vVXjYjRt1h``7*M*!k%SCA1sS!5R(OCDCD*i1*87c%wsnsm+}ynAE=m z;$O;B=oUn^E8-8seVEqc%rNAi`|L<yz5razg} z#6Hdq(s>Y=7wEodT||I&n!j+k&W4HAN@ns4v z2HV{)t1{UHh8asuRLM@EC&hInY~DYI^?!?i+j~Xu4wOxkp*RCEyus3)6Kt@xj`46= z?(skc+4sJaZYV2c{&Nim8sb$aX!zhdG`DtVp&N8V;blGl^cbCyDJON}~LvWa&W zf_dB9Pgg)xG#`~zn~T%)Y8FbW?}g1*IPf*b0Mj`iN2xP5OCt|9OiQ!*sJlt1F1RGE z1AsMX(F5oVdPfAM*b3;NfO31(+fQ7gIV|L)cO)dZUMzMH?0I|kWIC6#YGC>iv7Vyh zJ2=>-OjM(g?})V09FX`pPg3*3%JAajOS! zVB|3lT+tvewZiPGjm^c2IXtEt7bJ!qBnF5m3C}XmSUV%d=JFlj>BAfyb4RM%fkf{aUgVBz>)@YOgv@pSAF-to5R89|j z);YmB#lX!S0G?}4gwxmzxOfQdEc2e5`KdqlrFOD2&oT<|Y(gke`4-|bIZM@6tr}6>wUc0<|$r})-0wsu)sRo>rgOEJ7m!QUJ$Ve%BcGEc$SX@ zrXHeKOB#q9vNp@t7pFLM`{o0*Yg%t?svAWV8k|NB(JsQ3@Cp$X!@ilJi@frO>sg)M zZ*j;w)E%01(G`;0YxPhDJQ*N)ccSmJH(6(RbG&T-HG&ISLtv>?sn3|*|CC;hIOR@9gx`yyzG-R)pxx)N@s9~?wpBc<(8soE#842DfM>%wzs&#Jm61Jypj{ZhZ zkO!^@0pEMj!vV|}-Uu4r$dLbI)B2y&2!~7F+D0}SNItTgk#+JtzW|bVKC+8ZK8NY% zNH#49Uf$~wIbeSrPZ?vKRlz&G*Xp7rFK$hF`XBT#{-|d*lCQp5Z1y64i_iMa*$AU2 zV-9M-{{9D8&#I+iwRIFsy;0uU6G#NG0L8_~-g-C>S84OgHm9t$S?xye!O#0-b)edh z8p=q)8stkMrET@drX|yx4FRUnqUMjmYQHWK@7jDVkVSpHZ#Hf${{ok4&Uh(0YnGPX zPZ>4EE5-I`1$rm)rRg|o+J^Fv6dJcVekcks$er7+Pw7ID(}i74#Cpv_0cq+M?a!M< z6WjxA-GMDSC-SWCuu~Czi{AH~OZE`cOr7u<9}e^$LC`@PW;t7LW;*zfojXf4*VB+c zu>Ea0tK~|-_dSV97d$W|*3wnw4{S~~RS6AI<4QIw-r`ESX%0sgfT`|+%1_!0`SFmW zWg29vmjwvbXUfH~S4U_EXN%_zu~!y&SSnJZ3)p`@H{@VOHR3}QD$Y8*ROGO?<$e_l zO#WQwlls{aAYXN+9Qoay2J&Zzx4h$|#&G4CGR%MdgR`a@`-^3VxRU%OGM5%NcBI$} z@t+-jp*EBMv16m}O2xoZ+0NnZa-pXLTooXM9E`;@U;rg`2o2MEbwpN-3AcIKL}NS+ zLJm%1_QhO)y!nZTjfC4{bQ^}<6?n93%CeY1_zlPWrJ04=yrX;{eo8>y6d7|N@x%f! zKgrq8R|nwuAsJkn!2M`r+zSRk?ajh=w= z-U{C!XN#X8CBTsgHM-FmXb)1#%_05}Xkx&yFzI}n=d`GgKuyTuP)SjZ9@K16xDl6pH#S+^@A z)hYI#{kWlw7-WV~e#nR)*gVVP_25{ta3?;&)&nU%2JH`{A?oufhQrpHSO8bV zMfoiP44pL;H3uU27&2>#vb_BKqJ)OGqYFS?i0<@~lr-X)*b={{gWf*@(IwS=pa8P~ z8Qp`D6mT_hZY1>lJ?9#hgC zb>>ZY#Q^X`9Su2{+DD^xBtZ!|cp`HT<`V?D(v=b_mLO{Ar#CM>pib?X2ZfE6*b2#j zPjNipAFH|PGa6{RMd4v(qBMu>H#{^6U_p%bN`R{x2s5@H?SpKTF9Gi2exV9dJ>3IH z*yrHlel8309X}S#=&Pbh1rNTF6$(hcE~(ecJ5Y_5uHV^UGVN46I|s>|I5L@5PooP&%ScEZUXp~{<)eRu z)-(CNP{v|P>|uvtBC}a#ywLc%!X%vC8KT4w&Kwyi0n9}4uI>saEW(R{ordPen%LbWXG)xR|WimfNdZCx!2{M2m zH7F$8K}@Fx(Y!ruH`??C6<|vUw~Z74PkXg4?)DsH07ozC8U_1^k%d;Rtdh;-ULB$J z!jes!N7(xGjB*8g;4uGN)6rQM(|;-`*u=G3M2Qn_H|?HFK=O9=W>U$ta}U>%awy8L z>8Sx66|{Odno$9DC0pBiy}VuV5AsfIy;k;@@uh1VrU2%p#1ehbqJnmOrlrp>llg6C z0oY>N!$QF@9yCCZ#oOgTOA3f*B2Z0wXr7AAM}Zz0ZB&9qh@LE29qGAj(a%;`mF@@EMpU0^y`$Q?Sj&vXP8%(5Q zBTc-C2TG*l3i@@>Dwt&JfzpJ_X*aCn8@Gyg3zEF<1`^^VZ1nWL?uO%-_w*$3l~4N^ zs%MA(l5$YJp+>f^z3eo`B!32H50L-*D#X zfI)phGb;pK&_(M`k=a9pD}$7wx>Jxd>NpTa{X8U&IPNd@Rvr!}OA9{3RjG9}OdL%{ z$8DfH2;e%VflqLdS5qOp13=|*@T*04IA?(+%2=gm=q=zc5RecK{AvsY^r|pH$f$?{ z+iHa*1Cd66d0Fx!bP#A*5M-J8-Ecx)U17y#ETwn|kwV|l`B<9gDA6zZ<7=UWgLyrQ z-b{_P2x2V_!|iE+4;Tuffo=8D`Ph^@?F#wuLv`3|kPR5}qxGT4F13v{x44rcbm%ul zRWG%l6$lbRYyr=2%3^<^?Rl0D1$Q(1HTwS)*<)5hZh%#xA22NF;u_e_kB8oBwQZ|b zRM_{E-w3YAVoTTmVIKRTgbI?b0dV^m5FIc~pSw~*MeKoZ79?v-w+&L58HWT}*X_g(SBhGXH7!K~`M1jyT4cF2A+^WL5=Sg!2*3R(_ zwu1l@q;@W8`o5&`fMHHF+TN8iNF=nKlan$Mc*ka{Y5hnHNOPLv;BEosnhhx9 zuAC(NIrz|&ZFnCNixhA#Tk)I_YIx^0>Qe0ki**JUb{m+Sv?wz(IMC4Gc3`uS>;!3! zin2Q#1`M;2z^|UX;hcG>hvgx2+JG+93ZTE(4AX?RaymdpC;&NX(L%?TmDqFO8!F`0 zYzL)cDkP!v7%VOF7+2ZgOD*`-lsDs^qe?^nMX7rQvGo8D(ClEXj-Yl}SX%0L3|;?s%Eww++*WHgGNi=4{M~%O9<3Px$z$dVkckL;;iC4CZ$* zJCzUk_~x18YQiY_w`d2<09Z7y0L6mX1yjep1Q;|gYsTOX{gS)o_-*b3&+#Gd@&z=I z&Z5glN02rl55*ax1&(cSQ19dfGOzk)N-yeQ&3E=)%Z5hIrUhRJxR^7#(8kQ5wwI zOZun??;C{k^IuS?J3`e9PIt9QJMND6fba>vaL(HJ`}$#=4g?<53JJ7(SIblqBCc`5 zClnx;62b4{*F=GN{UV0hQu-6OA{{hf_zRWw?^>&V*rPt=ma-6zGmrE-xHo8~{9;Ca z_3-3$lBKJf<&Knwb8bK4BR#kPDXW%TqAn0In_-1l zq;lJCov#I_&&F^xZgqu>)U6%I6Qwrt{U?7bt%YahKZWlnYWC{L`j)5jIS=r)^4;3s z#jVn>=~qhuHTa=3zwOZ2t6lZiA{+g_Lnd|VAy=7N8eX(+M$Q2BbQo0OU&WYKhV()Z z)N&B2P3_et3^IfaYPRt$>XyX=Rk!u<*cnVGY9w1Au;t3_AW56qgJqcPlXSoBq?`Ow zJS`!-{$pfbZKrfsjcxm{s$sRC`gMi=dPWa4A~od)BZr?P%Ncoq{Ed0sS_ZMXr<~H2 z*3GA|4d&}{(2#51f3{6|jiA~k;8>SzeJ%c=n?j7^8-p>YPWKnKRX3%CX*-8R zvjXETY@;&VLAERj)WLcR)648#XLx)L)1wDn7K_bApbmPEWP>>gq6!buC?8>Z729@z zh0VJ*ElW!aucs{z$tZokH7~!I(9Dw5yLRearydE>D6S05n@RpI^0Y&MY|xWF*u#0+Y!g1%N3(QDE=<;qXh<#^NIP_C9!$7S|MZmG z(L4`kq7L0aWT5k_XFs?b$wP9aE65Qn&$i>z=iYT2o|HctlZuQ~2?{0PB-|lR6BgFP!t$0fKI-QvH^0+nb^+wsHfO%< z%|-F`djYhK*z z;7+dYTQwU4M|X0mR7k>8138+EPd_VBTMJjY_hrOA2p|z)T{UGm`^=3NwbVg zyZ4JRk3BPyLM$Ana|*DJ8QG?SEX|-M&81Iv%x#Z*w3FxhJv+tsK$Pwd3(EfN^ny&l zL(fdZsipJ=5{Pj6$2MA5~5^&bMKm-m0( z6w2N%-3&~=DXMp7o>rCHR@SbyxokNK_#o{*1bD@t0M-tGpV6MBkak;3@D^ zqD`V@W%bZ_v@r5;2BDI9C6)79QmA9Zw_;MVq$!orMuNdGq43^MoN9ZYgimGZ&G8p` zsOj>1pEfQy)(qTcxlRq-0{<0ct~8xmmRNF!|SQj$ZF z_myxrWnzP+y)MEnVLLPPDk6$eL-OA)BC6kp1jLS;k8oI}KZ{^#44N}jx>&vU>89GN zk+)7;RJf48Cm#Dn(Yk~<6E=+NPJ9dHH@gG8zZyQI6?d}Acily3;~5#05^DYvzXa#u z2-9QC<3t$H#v5qmBBc&0H}zsrlnC`dl#kKxEAx0GE&XJ5gwr|JwIs*@PhRQP&wySBL` z1h7E__hhKdQCZ1R+1yk}CMB3quVm`95MEhns`P_c>4^MFSi@y{sm_(!3r8s_=Vh)b zG$s4>=OM_VABwt}?!JEH&vs)SyrJ}qrqb>lrAtEm&*~$|zkd}Nn4LcP%CP-! z!kUJ9Pl{E=GQDn_s*xEH7UFDHS=}(HN&(M<8P%2yYe`*`5WggP2uinvgXvJr3x&}b ze2(&aN;maXaek%th)`^u4HU@|)znQZ4v~VBx``DwR>~7b+s^1l&Xa>jj!sL)l>&$h z6w?>cCg*Kru+Np+btt`U##$~icy;y2+a{47gk{0fT4a5Z6smY5Aw;6!OaJM)i29!x zj@@?RYZ3gIv`=GI%U7Z^uYu|{@}dg6By!dCkYaSQVG$CVC2FU&);&5`_gxkqF_fpN zVM?gwZ-5%+-rqN9t)p!+yAOg@Uq6 zrN@QZ{i_lXY0zgKrezMq6s@a%(`jBTJ}e1B;##Aw%X|CIjh^p*E_2MipK#3O4P4f$ z>T3&xEM;e@j4!bf@Vfk(eevhlgWC1}HFoCzxf%@s)18Xn_?Fv$DE;;0q{T4nbL4>< z!`g}SH#-HizE!6se3 z4Q*EIVgaMGD4qn>^=s7Kj}Q@eW+E2Z!G1=$ifh4V(%*0!rTf_9nsOKH*9WrILh@{g z=3cfMb5rqshH+x$5XAowULfx<%gJDc-C;h1OI;8?!Sr*d41%4HLuQ0Bt8(!Nj*<9F zTNNH^b(>mzV)P~vt1>HldwvGS=oJL&IMdXM4q|mh)_t~dxGlqqUI{S#yQI5;ZC8IEyE|CHR~F zDvB(rdw3wrmsq>3U(x2-$vOG^M3^qwUvTD1q9Q<@hw?zL_)oYBJ^l31RqE74ib;Sv z%B$<;(V=Gbv&$5Xq3X6H5f`)^bN@@JP8E*3nDBY1|1uO9+mr6XQYlI0*{v@0axn?I zt9oIp1mp|k?CtQ27ta7i)|@=qhCzc&2>!p~`{cv0`ox7kT36XIytXahzom%yq|)bc zDKZc8eS|ww^+)!-DJ=Zt$!w8`#K!=Kt^v-^W3)@Ekgbu`2ay`omtgXg2+qW$`cS)LX4h7C{*zkq%7fBq*ug zC9pd5w^e%)J9`^V4+AFmy*^CPM_`3!Ta*e5MUlGj;lg(A~8+ z+BV8py}?rgu0tuerdZI8sVl@s%*7T$)_=aMd%WsZYno@GQe5AhUmn;x)n~vQwTn^I zmSLBdcfL!+c7{$yp`MZX1Ubh=v?Kcyl&M{}*DhHkH7p`15bYSR95mwb;BU;UM=)qp ztn??IAg-t9i9>TAVF~`Q33Wuy3m5fcaEI|WzFvH0^yluTPjD?0s*)sZkSRm2|hsNBc`>*j1Pp7pV&UF5WKc=0}aa6cXqWoC>z7Ulb4z=EBrre zwn=L~>UuW7vVR9cBlghLb61~7e<0l0D!*-1l}kLanvCL9)f~^2{UP&fm85h`4Bq4P z9Z$$kJ^AJtkbV5w(hA1e@E$$Mfaahl6hUDK^Bn@4Wo4i;ESzTpKJ~+q7R4ke$)JE zM^&XlA9z$=knm!7cgY_x=81eJ6U2ZYu=LhsZ1z&Q@GO--3o(htHkRz@gQG+e=6O-g zzHE?}bY)h;b}u&vO!YCz;}x=PRD-w|z?9to87xWAf{^qh5(f&WJaiWQZ53C}Yg2*< z?=ol5J!QS&>_#`{(B3}8iF38Mxd69%h%|iolo0b995vwF_hu1Ok{p|rW!XYYQ@ zZ1KVrm}&c({u+IzWJLJ%v_6Rh*VfXUC%Inz5_7V&6B^dc$6zK%h)flIM{AS9B4CQ0 zjzP=JA7?deN5t1sN)|#C)v(Jrh)ip?c_*AoPN$995`KQ>JbS~dIxB}drM})T`W>lfGt5Tmg8VR+Wo z4%)nhiZBtFpL7uCy42d0<0M?Ce0=BpIa3{@_Y?E`b8Z#hAtw`fWhz?wUHixjV)x28 z(B7tw1ibB!#T%P6tzKfdDeNfOomAdg!x8w{_)SIK25O_twy&(2#NHYDUf)_(0~D=0 z!xLR0-O~=!MM~&0=oe$PoTR>NoiL$Q17dT#swDCtEvzm2Ikq|o_ocsK)RmiG6(u_B zr|-ygOnuUH0Ok3!f{s#w9ofn_B>D$SIW(7oJgv6h^dfqQ)i=LgnW1y4=h6>Sseeo_1T-Q|yQ zb7bk(f5$M}ePl{fzk866jS^@S*Evh+a9Ps(f?BRpV0{$~i@Ib5eCH!h z{|eKCeDZ!ED+RC0jdQcpDsV!Ub%ngS(KW!spJDf}>s$S@)l214gOK>@&*zE0$2N6OC7D)~*V*Rs-RMxc zcBP=&%bY%K(~woXiZ$1@hY3xy!o^;MZn|1qlD$@hTrusI`Zsx{_&2}rw=Ns#YYz#r zybz4blJW8*to=HePKewd*LG1mzvcgg(3ytj;e{#&{=38&(E9lPF(JL;0W|8_80P9- z`KN5LxLKu=8Y_AovRbpGm9D)w;1Ln9mI)=T55);2`^~KD zhEI60A<<=Nm>GxaIcHFrVF2K^(6Pco^rjHsLiIt;@Tl1A(&*EMB^coyOnN?){_f92 z&uPzqCDth39^pBD8PZgWFk=P)#H*^Ykd{oaMG z>kHm&?ge4QaQNPYo#DAH&pE8z3HzsW;*f)BJ}f=SW%S2zeuLjyZNu83Je)ekRjFzZ zloy0&@H)aMqA5ey1Y8S-p#|=6Su_#O6NC$`LEKHAiuxS7Uge{#;MaPXiEek??6*gM z>miJ=^+F$6LKm$B(>UVx$3whp6JSr5!)7Nnf^W#(e%V6MS}l}dW`5<*b*R4iBm`_v z!i`^hm#}h<6^M9EE)QJcB>_w#$bFRR4{73nPLft51YI)IRc8sD6_W{Z&5djQo?-$r z0Zis3oy#4S&WNQ_8F9Vc-kX2ZwgC?T__&CCL-@M>e zF2-bS9A$mT&}xZuUWbz7*vd74hIU*eoc2^-JOz%$Vd!Yhpz@k6BUnPhoAa|n`&M*^dFk7lq=T@`OBCXsm$1l$H5H1ZfrMhZ-_?IL!1 zbO-j|*;}?wsQt}(F~u!IrSVZ%MY7JxC_V3nQhl30Zhrq>J|?(!T`LF3;K!no{-ONK zQ99kuVEXN=dIE5)K={y=)l)Nv`|Gb+ugTrr%O`Vf&~O_M@&I!*)h?>>n_ZfN@||y{ z5ev4F3>cD6?|3E(LOnx8Zzq3$0ma|`#Rj0tt*ui?-$vE+PfjRPp-UP`Nhf|o`LiJRRz8Nb?Zlh@vU(Zmqw63}UXUPhn9G_*~%*{EU zNN*WkZR&d}_g&Dm@{^VEJ;TQHl~mG-C6Os@7h^ECK&8cCFmC^-(fcWM4?T*A+&d@{ zmG1^!Yx&)xN86rWVp`h~@~`b&kv_cS3@p<$a_8hJy)}g{(1%KUnaJ~E_x>q;lUuM8 z+hC4~`3SQR=fJc!jRpCK>4i-+pN^wG{f65aw-_7iRH(5QUuuvr5I<1`5%JA)95B~o zGm6{kFpSyObsV$RMw;jMJJW3$K;ydkbHbr}qhR>mM(w`Dqrb)-#}B~N?%)UA>7XIP zUcbIFdtd!ols+34;QzDTf3-QM%ot-L+j5;@*I&n^fyrm6aq@3jC(E?^#T(90vGFnk zDv5l(VmmI}x0wd+_fX+1W-P3-E+S5W`A!?zy_OmoHe4(jwclJr?#tU6|8~D`il6%5 zMiv}OS0DR(YN`v5Fa(q~Ly7=97#+ANDf386^jWP_Dg?-i?Dbc=Bim%!ux%=>NGdZ* z&6nOX^i!O1x4u1bpGxGSkT2Qe5LB6rQPDgXC%)wvuteAVZXI1iH2N)I^E-VLN}gE({wtRNd=flmAyR3q)_| z`AV#KbffBOib7rYMn&K@6TX;U29B9Y(CZsg{XB&2+2do4!}d*i)5ksKovNwpG@IWF zZn~+T*Z;g zwG%_vgBmH0XLwnp&|G@f_nYMC(M!w>9rO4%n`dVzZ>4@+tUdd;0$L_Z`a1z*&h=$n zI5=vcxonEaBvPY5XC%& zPCGB|7ddGXJNAbWHf{$w*zOv(IpD;5F(&9=1bs)|PdO{L0$^oo2b6d09wdaLo%Uyb z3KJq`N7(z+)!sBNQL!mXcg`&^&UHcAYr(NoHhBpr*usDz^SC_RyOq}U(j{3>>k%HJ z0Han@>nIV1>Q}9*)=^mL#6?xVPQ^swG;NysQt@0~bsger-19tkXEELFycx7sZ97Z6 znF?vQ2M|-6E9_<(!BVPDF82KhUrogSuxLZ)HsLSz=lVmiA4A_4 zp$0{tL0q)LD85B z39@MEWr65O@_4ny2zqz$_qFb*79*~@_A|DsA{Fydcj{RT`FCPYu1U*^ z?SF6o{)DuMOUfx`1WWKO10)x<&=g>(j4iT1o>{{AnIg#dULKH{wahSn!_rCu?HLgNZ>NC2r zmuQ9ikzM5C7&7K?-iClX|6Jh$8DNw5^vtOsOv5^Do2OswQjygN zAFZ|Rh|yjOYs1WKOck@~p+H%8q%8|7NU6wC)uOnM^FX?~^+C5~|3u>~r@T9If5-Ze zUMh9bj*b-1fR zzmGc>bIk}!F0+Cru1Ox2L(?aCyi~NW_9e={MQhX~Qay`FBk+BlM8!}29Iksd3JE_k8ZP4uICkV|$QSvAJTCJN$|n5Fnqc0!a_ za{AWs&YFl`wvAu8M^CQN&!F5QPjvO?9AclBX|g4eo>=7vCxN5A&%5VlkgUDCjpDZO?RUeP@z48n1A!4}C<$2Pc{KR;+-{2PYx=tv6M7+aA%c z)nSYeed`7$gtXOR$G7%knM$WQW2TSXIQa)BF8YQ3&IZY^JH*ADPo{IVAL0L&`a7M2 z-r5O|9-PPo1wZs@NHpHpEU^)G1wnQ300xo^tM*`69@k~(A|HDkbN+YwbMMJox@_Zo zRO^+O8d>G$1h7OyRfJ6aQbg}UxC*djqU=2tCTDZQetXz(3u3fnlX#pHd8=9Y1q(IO z*p|K0g$tUzT0za@HV`j3(i-RZzj+g=&pG2N_`{`$trRDFW2=OL_H^!4+BrOo!-k2C ztw()QiH)!B!VCsx+*KPPp&9x7By;JFIKO!UTyKhFw-cS3NJV+nU>PZb;by zb_$@!u-ox{jkt$^RCj zz3oY{8h1eF$JfRC{Xe%dhn-J@kt3X8-+3@?NWm%Fo&$=v$SdWjvE?hZ+Tmw;K0){T zY4FQdvD(1Z7Y@-Ej)7$@SP2uMkB}5w!D7 zwkmAoCT)?a%00`fSI6+02UosF+H>GDSo9hJwTj4!Ej-%XsuT6}qoiI43h|z;rsEEp zt7LY9b59+=>(yNw*YMW`Tc~Az*IeQbt((RLnv9R!Bl1O@REw#g=Fdb|AI$PD_)fHy4&~zK+b0+1#zc#`>kh3}-xCjBP3{Q@ z*EMvdZh%Bo5G*pdKGZ{4GRyt3{(EB_mu)X9#sU?@y1` z9+H;76U-rW327ah#F1}yL4HSIH8eu&FCZ^1`Uxn)mYSnbmdK0lPNo%ABhxB$a#8n9 zs4X`oi&lZVzJv?u!zN>;_4f9Zf{S+#7p*47*VQ0)QpIyxFX4o;`(rp|`O8TP?qMN# zPeq04CthT~^tF`soKyBq)Hv=5dKW@q`GcKfrg6m5@QWRxQN$8Uhc=<)A7hiQ$a)NR zOur?TRhH8yqd-gIXI^6Brq;PSfyvV&XZ7dyfU3tuZgd68sVC_kC*E299J;KVV3E$lgdt zkHDyyn+!fMy<CjR<}eGicT4AlJ$l=}=+`wSHO3^e)-RQ?pE3;I(2 z4AlAzl>WT(?&01fW+7m6*R@1lF+(A@;SD%35`Cmg_JseSd!XyP~i}MdMitYzr`@cS@Wm46QV(bH`PWY4N!|5Zr)XDDqMz)Be77#U`1KTP4TKvEEf>?iPF;%O;*BaN36Hp^M3%sKs~=^QSkE*qFVJ* z2lXDOy%nE)YU)>TftUFqzJfZ?C4Q(-Xz@jUs9i}L^Qd%P@aY=z4EeN@Z75`}?2=$p z(cUPrDJ>ewToM>v3J>1jK*Vk~CO33szLlWQrqA7?cd$!G5m$!?-_J7Z+6p|E&NNnb zW0www9ONkPEuoPwqmj|&&?|NPvFgGR-Q}0Rpyh5+R1!@Y6$EDedWf;-2b75+0KHu84({Q*ZRK1z&oM5_{+Nl}ws^Hit zu0HR$c?9x7%T={5Nn%_!@rV1*=v9nai{vlv(y68*7@!wk4EC-O)Agb^teFJ)w@lf{TPE3gU+t{GsaK1qf(U@@xy|Czh~Y{QJJ%mhMgWWC;2;9 zN0allq_q)f&pues%ZMCE5(A01hjDDz0(N&5x)5}#$aDeIes~h(boP1$IabIqo-@KU z68o1C4e&3D3Tf?*2T|6)GEZ?Q0ty;|4q`OW~v2CV@rabb~J&r~$n5K_o)I^P8V|<2(L(W94_CRy7T;=-4A@ zapf^r@C$S=LTz}2ct8uQfCFLus!^v`MZHVPMNv_?o6D*i=Th!q5;$S$^9s zG?MYp2C7^6Ct1DLn{E7t(+Nqrtk~b?!d(9;)R5E9kEK>=mmKLie zl`LCzHmPLAD%qlvRjXv1O4jlcvQjjFoj3URQj_lTDwM2u8f+0Zq5N`#=2lgb5Dn&9 z4Dz^03vM0@?B=ml-RIT>c{ucN^H`|qScy`gBRZJw_Q=hHqc|{`ALxDQms|ylX3i~f z0%+=jl`2Oiu}x z&10b|vHW9FC@OvNS(`Z}riU`YD7ws?xu!+wco_pE7bv-tjt*SZ)}n4}vxl3<=+&h8 zAe`6`mzA|zDKx=Si``O4b!8yACZNsHqE@*1NG=4_UZpcZ=utzU4Or??CAY!ZAE$8T z-HwDd*dM8A4Jy1$d$deL0_aWMvWb{5Vg(2&%x}5H9x3)kBl4ZGBlMADhn+Bn{2fg6 zfC=h!U3a=%E5QOTZFGDkP>=PYu+KqU)#iCj5Y6uP}$r~B&k zd#6sVOK!!VtP?DWYWKTu|yIdulS!&bCRxf2T`R+0vRyt6m$=7ChplFygpJDJI70F6FYcX=y5(xH=7rS)eeP$wD2q zc{3f9cVWZ{BI`-i<>BJS6#9S;2Msvc1ANByt2zZuAnc4$y$Huw{i;RlPO^Cm_v*b| zjyH15ze^+m?AB(IZI^&gmgHUfcQHQHsx7eJ;{UBy4d;xjwiwfyu-Agk#eDehv0!*L zDXa8cuwA^hWUZD*QSq|%XHMLVxpoy^`~x9YXw?$0VLX#O;j&8&ng3(brXc%>J4Hcl zgKI3u9V4zGXN)_BJ8!Tr>snm&&|Tx=jc8xdZ6)j_x~+vJ(QP3riEbEGO6jOl`-^T% zVM%n`2}`2eQq)6qV^^!4kVUtpNJO`_kY$2}NJO`lP((M5Duu7aLv14z(G8uAahj^sGg+oq8r91J3w?>2^hsNrWuKDJ3+VTHmBjY9$by+hEcb)=q91c4lBBC z1qX?4yFo#8Th$AZ$3A=3qMO8;I=tv6H=$W@Gi;58w=j(?nGJ(tuGL9MabCtF z*@XS=yfHOy@$Db_cY}Q*>EG>oC$Xn8AUvJYotOz(fvPT2{nXCXF_e~hbz)6rz)sWB zb1DOJQz*8l65~_`3R3~5ho(DRC}fiS?gS^mz_>znG?0i_7*>kyN(8JSY}ZuU<(9^| zl5?dHhqo?kdQ{im8@$ntLle^I@@bS%N&d1ld#&)yF$5*&`&EJ=gV}PG-KEC3W`1qDz;^Rwn znU|yT9K^?i5+C35N_>3H>*nKI>|VF$F&|&^gpaRy%pfq70rBw#U-aZ^$UD_S>IyZ^$)?vB|w1YzQ7o_<1ruK@Vfcy>C z1wOv1mv}Dtw)wck&)AQTJJ}pi#kQNXa{70df(vGI>rUIFP2OtLW?yZ!33*mpZN4(n zYO}tu)jozQ2h>ZD{=;Q6u5F?sbp_@ga@Zj~SvZXm3KgA>*_2YS-tF+aGaP6G_B(#C zK#ij~W>m^b}S?zKq;JTrIxE-yg+STm1dh zOsA@?(N-r-?qruMoto*?cs_+r>fFg*omQsMNrO9?YuJZJmYqbc-aPh`dWM|Dia$wTGLk%~guDvEcjC@8L+N-?nRKcpk6 z`#;K&6fa%ue-@1nIEK~^djhQ-_V5|(bMEYay-I5WqzgR*SPtWm|qq7 zrLfC4eR}^c@ed5o%N}uV#>_%l`{oAFxEDc%Z@K3(g-<@~(ld7^`EN82kXA7?uw?4y zxA=v3Q}RhSb8d#$=rICC0PpD53}Al&*!Q^`&o^BBSQ3Hj78{a(8w%Qa!3wp_w}Lrw z?JAY5S|w{#vSyX6Q^~qjvKgRTlP}6eF53#w&Z%=1bJ=!)={kMUX>-|5fayAQ+GQ?- zh2IS%H7&Y^%J01Z=v}~*Rs_2ca4Gd)4| z^aY&jMchS07R{}MZIx0s3{J*J`P%kz9OZ<3CV1J9odmE}$a3hGvSgz7p3afBuj44^ z3LLUqUw1jiPhw|ji%VJG(-}#jHmp;qNmjl*Oe7GVyiY*I1CRzn=;A?}eJlhcT<1$w(J2c3aJ zO3YoZu@dlpYjCyIpi{_AN~zg9#RQdHyzB21$DH%aHg$TNLQdO4=EBvkytMv|$tlV% zsjWV_{v`FSO$+=IF0K3BJ8qW=#-h*rXWf?_wk?TjSAE%Oo8HAd+1{|^vgJ&No}|^p zK!Rf&N{ds=?$}yED^u&9iIbKq1L?D2It+0lT8T-gx8RnJxyBhAcf76~x4DXLymuV) zf&R%ecNNctuFMvEX+uf(TDKv&ETE0;q`-w;DfxbvCA}{uBpep{(GU{Ul_fA8w=#cp z9|(G7n_QM<+NNDUD1hG6nMHL7JWedrD^1I0sB_L1((d}DEsmiwoA&(hc6YSTQmnd&XHxD-$3l3wR4F%cDG+tDhxhh24APDXQIi~#3;ISj z-Stnp+_!f^lVY|#sMCbD35>64bMjKkCrK{-?J<*RwM`p8Y11yhqaB-!uI+K1!?VrF za@}^F1I8vMWonzS`)r#Q_EdX7CpT>$6PZx|3sNE-@~)#DMXm`)tW(f*gbJEm<_EYI z*6xzI$jYfgx2cgW`WH}`)FgC)oik%!>>S5`&6x>48c2`Y3pWJVTgR*$btHIk+QR)) zqoX?zAk7+^I^ql_;~nuNi(N2&uU;`@8(bBZT!00?9Lus9|e+*f9KK#p>6WBL_)0z!g>ebHTg4s?c3kNW( zcCB3dN_yO?n;cNrMr?Z9BQwbl#ceN6Jv;)qf;yjZGq+8NA$P+Wj5!>C)pu+6=s>~yG=d&P>%O+?QiGtR0rp}LM#yUkb)v>{639Y$sJ<80geA+41~h< zWjL*rE;?7NL0h+ap~+r@_PH-JAR4s7LHmV4^VMHVQ{YL08@l#)+Nsc_toJzfG{Cm# z{SDhQl}8psUAptBTc{eTWwp!Ev+lD^hB=qv(S7oo!iz%y(`AJ6{JrKTc| zIjjo+)Q>;UK>%pCIvA1W45Cx%>aJh7y6YFO?)ui%UEjL8>zk{)zI}C`{V&wlOlE6-<_@51!P zR@t5BV7V{fg}0=B=-m0#1G2XMhChG(AN=u8edageB{cCMjP^Ip&8mAkp~<`KPd{qz zQr!cT76?Otm$>krRmgz#G1FHBq!4dN!ArVI6)-F?L3wm17GnU4ixl?&?>eRK4GK_i z_oVXpI@DrSly#^NgiVRt^#l8DSK83K`_(v*EC8q5PcK+^wU$ls{W(%y@!d=(*Kg6L zG6fq{P%#CB3#Z}mia*W(GkE#J1098HL}+pfnB3(bK9>_qAf2x~&nPqntNgReZ~Ki8 z{o!B!(kGl(o;%N9*@dvON@}NYVp)FV$@Rb8`7clXYgp6wdpl$EcK|qdKHCqRiVhT8aEvG6 zG2jEnM!>n{;do!4=R4z#`Ls5lM)P;bBu=$4n38j*jS+I3sWt{(a#9qA0d8j&PJ43^ z#d*^Ze7P3pqv;UO6)#zsFTC5scNp#&VENM0yIp*T0p6g!mzCa;puZi?WJ`a?AvpMK z646E{=Tztr&EDID_R}w+;$1BE$>h$(FTGdf@Mv0*k-owW!H}crm!Z~t1J#}@lv8}8 zqJ{X+yPPH66t3&SwMarj_~hU`L{0?wv`kNhr5a?zJRKJ!%vMrZ;1Ray<6DgGIa0)z zgq;FN)0=m>k^kH@KQU~@Dy~XWu&ZH7OV(>l7GgqxKEMD@hk5akxo<_OD2EyF1^@t? zmUc|lA!se43I#C4gs~$qgow0k1t?Sr%`r(p$J=vm3(P!zpigBxLUDue_btQduT?2h}U9r}6P4J0t!q#=g2kW{l zw}yeTu4~}A(sjj$({&9Lynrf}uB&G2x~ld%Ee3_auC}i0NUrN@(b+fAD)N51t}#p3 zm0XRkYhZs}*FaagGT28I(REeIx~_uiZcfr#Mz*di5nb1jKDw?kONEr=`fSv7MTggQ zRkW_FCb)1oUDrU5Fa>)R(RD?lFYlr2iVo6sP4v$a?B_8757c$_%@RCUC9+q_GG=sL z5$n3T(~K=t5fns&`QPnGtCzL|8a=W#>pW~{3`4G0xnu`O@bQB3CAQ$v4xxW{0uGX3 zDF7s#n4P?~w{9lsnFF>*23QpR+;)KBV+vXn)L!98DutB5y;9c7l=f&!C4Gxszgnz6 zSMAo%#C`J0%G5zB(n)1wWKX?RH|HB5Uk#=s7%u^2m!E&{J8E~HZ=iXZAAY!jwv#t3 zeDObh_&tB)+zFD^(DdiO^1g4q_m_9VR~Fv=5E)AIL}nL-t>zILFACpmOh5jK&wfQp zcA3q7^Q%9;x$)nA8cUEvLNAZ-S%chLBC)`dI?`g86jD95O|U*)nyP7bhGa9$S>-Zw zl+Cbc6Uwcy^#iQ1#wOITt*}vn>AEF8S+K(HmwuD2unoKQb+@F)-*vnBq_M&#+6r40 zD{M+)2E}8OFUQWtw7>?@sc}ug;1@Hu7w1qDc!7&-Z{|E7KHqfP%XAiy#?O5Dvp4WW$LX; z;@sgrrryM|&{idQx|n(oV2uuA)v7C;@hmb%UVgpmTN;DLi*b+Y{cJ$Q7f^;rM zQ6Doh**HM_8!4yWY~Go3MF}WWA)tu;#F$hFCF>SbZ1!V{jc%rRMtEZUy~7h5a=W?6 z6XV`Iv3gjZ*l>EV#OfhfV&f`VV)I~@*yxibUS@8w#0I*n_hyOYVilkoXR(SJ&LI9^ zQ&leyPyimqaZbsjcv=U=$$zfoKbOr<{IjIk(OJJ;$bZfiD(<=P7Y@R^t~jf^qS@se zI_`{)^CeLnT+t<&Ko9PWjsPaH7wFf9D|xvbySX(gu$o(?0;@S7^_>a@K{5?;FwA8) z3)=ql<@ShomVHc@T@dCa_~_i(`TwgEUuus`yJ>uHdzhWh+f8*gds!MkFxx>b+O*S# zGjF>Ee}_Jo9u`lZgmJ@-t%{7QRp z`f|4JU=Hz1oskDRL53NxF@Wn2PR>5K(4IiYrc3QH_%nQ|J)Sn&K#rh4`YP@I09Z^L zFAmfxm;JQ5I9<7N@zOMhe1`$FC(;<2!HXY_Hk=9DaXJ*Y69B?sIzf)Bt0o@bF80tpLB#sTD` z_@iNEoP&J>B}d?^y2%XJ0`3NdlTe?lBJ-+CRxi|f8E@w;?bL4=7$#Vl=U@zHIm5)O zkO;kOL5%Sx4V%hCRyXMzw2P}(bgF1Mfll7k#yraKX9CLI*>=Q!>v#_b*>O9>dp2o^ zS768$50C{14J(w6ndD^{ADi!`2vkM^7~>`d8HhS~*TH09Yr>3M=_Edf93Ou)txNX0 z)S@?}>cfy^N=y(jjnRM{9&LWrM)jN1nXL&>40g$gY zT!wduyD_b_J%F=ETzJ0CiLo&-GBz8cpKg2y9t8#gw&~y-Q~&+2U*R{NP@ts#Mm%az zi{6DSneE8pVc=Jv54G3Sr<2`aS{4%#S+4&_n`9jq5O9_qI<4dHQm=9cGVvQbO za-7&+U(x}!=Nlxr5od+qgbo;HwMIEXJi2ifnxqUEPB0Dm#jcC7>vgQtJfQqVkX9=? z5kUnVQRI1Do}s;%o7m$fmfUjM0lLc}X(`b3rk|Jd=YTvMu(^Pn(`gwo^FpU?N1De> z*^-VRz>nn-51jH$f#m{_gge!XeOCJvMvkdcf)022LF7`nHU`)N&Kkc`?2|AP2 zBoc=3k9_$U6o|Bgx13r3j zM2s*_r-G|%#rr2KtZ!R}(QJ#@>f`d6>=FTmv_y;T^gXZS2%2ol#i}u`*X18R-*L(K zh=K0A&B_6rl@$Q0U{)rrB}}Ylo0czXyFXgsEYmXW7G41{D+fG1pAKOmkFw*lSver1 zvMfNA%*vGL1!&dBkAi?-M_M&E1>EtZqb@6Aa+L9dl1ebd(Aan*#odJ6fEH)ubwRdx zt%&eJwv_)|Hb3#t!nN=h1pB#bGqMr~bS1cn^+r)HS$uNcLBdFt*P5Juegnj_g=zN^ z+W0TOaoW8CJPC?7M}b0v434$v9vc^Laq)^NKJBgM9jw|Nj31_br)Tq(y!8YdZ_e<) z*(O>zKks78*>3)ug)R8A+(Z)&WxoR{846aKXd8eZ7!qIHLpH#bp@ zK>DG3sLFU}2>+}#QM1MV$Su@Wk=g_?Fd_`Bq|G7*Mu>qe#=r`&*CGZEk}`nqdR}}0 zP;sz`ifA0f8DjJu5Xy@9IE+q$NHm8S1u&Un3$I||ywQ3@iWd~!`28NeM{m?7Ul1JN z|*Ys1ySijvW}ZcCZiwcjyYj zl;q0}o=jR;Wt25{2wgi8F4m>AL|tn{^kf`l75I1pW-&_OA0iquj6rcnLE=Hp*&w-4 zlK`t154RR{&ECkvm`DhXG7=ycze-Rn=LYGkL0V6*_j-DT^&BXzXF}a4sEDHVOuE){ zJs^}$%4^Avo|q$j18cO<1642NK)#Th@-kn=LA-n!&_=)vhP0enkbKp>K`qeE&gLkHl;S{`T*JQWC(hs3y8I&$Iv*^N1@)g(YwYh6&>}tv1^OnOcxaB18^fAD5 zwu?wZ_ek-2I?yZg)^x7{M9uzSxp#CYrZHZk6PKL6c( zeoC4$j5;kpE2q63`3chQy8Ijm9DtwMYKNfy{F$r;YX@ggfctS;VJQO698u8i=oLJ) z_!X0Fbicz$&98$$5~R89D+=HIiUv|ym8lCIcLpP%l25FUCnM?&??G}O-b}j=lc!^D z+k>w|ysgH~`X=@>IUuEe@>k@+*tn6bIbK@(LFlKF&HJ;!wK|H6q5FRcZ3NlMwL-(O zXf{*-2Y~%Y1@=c6ly;TNca^FDFtz582-3Be0JO;Ov}%sX6_#$5OSiFfyIi`1r8`!s zi>13*x_d26kcX5x$u|0ArB#|=-?<$yukXP*(W*r_D_75oeB9chH95MG%@YeRNC@_V z{(R+HoE)8sd&cTmmG^Mg?HLPXP2OWVKy(n=z~@%cEvCudLF-aAEskK5idio1Gl(s& za!O*E^%@5P6Xm5nu6jmV!y)bVAJWdXw8jJ_Uf=HtD9JVWReBdb&C;F&aD557j z04-nQ+2(j@`|p>rbD-FN3;Qo2;0Y)#%%_R->B8M+505TFdkblqEhT&86Yb6tE%wqF z@wbln>k0n)guh;nzn+D^UhkFh4ps>wmdKUhE*P$d6 z@eKZY27kRS{Pq69;V*JuV7hhuQwN?2e=6uT__{Vx+nLP$LDX}S4_I|{@27( z=BDsW`Kt{##G40;Vlr~3U;l>rg~jFdIhP_3U?75&lXMkdpu2skq|#MF4*QDJmFZt+ z|;7rSsx=6TD=~mQxjkFVnP(5rtMusqv%UJ~cuV;ZxB%v&e`gzT{LNhR%FSPaX!dnEgCo{djDVV$ zU*j_tNZDBKSoS~PxQ^#j|Cn2xyP9{4lUEmulUEnI*M<$?j;s(!y$&tX|1hhPI{ygz z@79L+z5hWsgo{b|zKg3O{eL?ff+FLbW%mT&TR&YZ@vSL!mNlMkFK%G*2#a%kI}B)t zd=SnQ*BJSnF6hNm&|QMqV!m9?bxzuY$uQe$2mj;jt=}*1t$)z_$;bFR-^G=X{=bd= z6d$-%Wa!_k+lBUt4U-@Z`mV`8gcac{wvM2=zG3SKmg^g~j^HL;&UNIMgX*=MHvZR8 z1($1NCvw@Q?Gh9@V_O>zQJlWELcStsrK?~(hz?~esi0@BI9H)RpRG&RzWP4 z`2RZkmJkuk+`BV6)twWcOm!i9>A43N9>`kf;1~>NG1P`ZdF=uab-+C!BV-tH)9|KA zOhlMQtm{F)2zhbyWT$#%zCB>PYARQ7Tvz5P_1&qws0Kwf#s)DZ}E)W;4}ZL;7y~aw%|voqwd4^XzKz1`^BqY6#8VIZc~-Im}}s@N~`tlm;*$Onn}diI{E&Om>z31{O!2& zJeo#)u|pQ?#kg}VxrEd&b|%T01m291QwEew(2uxtlAKZMV&7YYAJ=d&wQKG~Q~wg@ znixz^lI4FP7B3P`8Ac9hC)rVdkUv9P-WXl5^DqY()*hpHuO6li!^g?=T6$d4ZEe&o z@BfqRYJDv?I$84mAMEM<55s98kFZ=`0d_59T9#X^m+iDTPuh51wA;e)ftGu%C%&?q zt(2V3)@ux+xdz^Rv%S(=_<5aU=9vZBlod0}zbXh~mTQ-nYcuW~B?q1u*J3=K1c;5N z&m+j}XvnO@;z@EXL*;n}ebCXYFRs#J*Ld}JY4yis{WfaSGA9j@)uXF$^QHOCB{+J) zX0zM2paq!81J6!JFV3^ zWA1hxZL|2JcCj-mD5f!MPtS5sFiT_Aq&3+B@m#>kZo`MkCa@~>a+PJ1XCN_2hDC#oA9fSNja zbClVUe571wiuac_r%uWnEn8`E1eLv(G6QO7#IYA_Cb)HW% z2e9$0y(W?sc(u{$Tu0C)cL9e{W2M!30R#Rb-ZS4qP5EY(x7DDqDwNm`asMb=BUlUF>SR(u-ZKOUI`5)moW6QJk42&QY817edZ*7u6EG+N_k=)v9zi zLM%&$P+|I4>Aa8@p(@;Iz1q2+3TncowkyJ=cHzf0^i8$%B4TkhVOMiiq>03Lp2r-g zD(vb-yfdnrkk$;ldQpL0T|;z=dEH(`*cEfH9sPJcQv}`CTFqitFXBCW4L3S=NOm<> zV=8Kvezj7fqRZ8i7_rP?TdgpZma7OHP4-^Mv#sb6>J+rsFSkxzhjySwUUDLRJ{qD5C2c6#D3o+AQQ~PYH)Op4 zO4b^PIW+Tj2eF2u@wEw|t8K#P^$G?e!FiGyNu5}%aw$>)}U#_%=apqj>1&E*A z?Dx~$YHebfyVdq6w#5ycq6R8$7WX1J<9L`M7hnAVVp$XS_9l_VwFXm3+E-1RtqcHr zwiwx9I!W>HI^(!ehto0Ko+Igm1XCEH-O^4wBA(34_0bUuBQQ*1MW3Humoxn_u7nE* zuMvM)_&J5Wz~2|7-%mShtPm_=l(#GL(jVY^k~$s%y~km`$c`O&ZF(|2ksjlqy~Vig z9I>4~rr4(!J11~kn0o0og>dZ0VE;(8)9))pbnn1~(X(w}KD|D*q_IvL#Me}MnNMGs zT4cKOe2}3iO~%Ql%0oyTFq`{9kt(1q#`xg(-pPPSP8o0mu2xC=&#Db1l6AT5yEl3^HMWH_xLt zKogGgn*k;e@a7tN1GFLKH$y@w<|xb#FzKTOt{DmIo+z;Ha0Usp#WOG(8sY(3KN*t#7R0*8C#?l@+PEEs`jkdLjVNA!yI z=!)wJB95V;>~7deiT*|U91CxbPzn4vPTxeGV}#w2NC>O&W(s%cL^?&hn?vTn<1s$A zMw&C4B&D5WOjsuPGt7W;Bt1?abMSf~OGo$!tRGW8T!fmx*$GdNF}0FLkCfzqiQaMm zO*a4`6z3md1k{{R04gq!s0hG4YQqu(hm94auCRP0W5{j>9b!A10Gt%_%8=*r2?mIs z#E#^{v?stTeQ`guBE$qdpSbuk)~~yeRQ{5r3s~GLX1Qh>Sl2Ni7g6xty9Wfk3+(Y!3+_0ARMqb zXgbtcRy*9`32VAXt?2>`oO5;f^nl$AvkC+SaG~gZ(_W}Q>Z039fM8Kou zh&;yfZy@2j8Sj@g-ftLO1(KRa@j2Rc6h?Bk+(g}?43VS%;NE!UgN7;R$&FwH6IO)P z0lIkLQRt{aB34X!1XFz>cLmaeQKbf?KT0^%If|iwg$(&D_WCv~yNDbIQkTPyA&|Q= zhzUc6{IWRflPJXTt0oLY(up2KE+~^<3ErM7BE1$c+n;laNN^ve*)H%9GGkHjx|W&uk*Mq}P>oG#rX4 zJu38JPq($>cN4ke-00B~ksI%G*jbj{YXG(Am5zxR&#AzC<``^?0ws*IbOhB&bj)Bf zyk=&rvm+kQN2d{cV!z{sAcMh9%u`ZeW4n?hAy>yLJnS4HC^DRu^eA)$B|Qp?MLi)A z5^=#*K}XUx8jNu@AgUsXk7Xx(810=Y4u;e~3|=6?eyb^pkF&F+cxZHReh9}#M{he> z0mU~Q8=O+%C|6rb4?a9>!$qo4q=HhL4Uzr216O47q9C!s12Xxe|vMMb*Ugq>9 z7!1=GmN|}g&l|(F6c%gQEz2BEm(0Pp8+lv3N;cjd%ziN*&Jlf~^0>Z9Nt^a8v(ZH* z0t(*TJi&QNPSAQu{FEVKMRJqflgK%=58GCrk|Dz2<7rACOAHykE!XrTbJH!|)`FcL zubs2D9>T^@pM8jdU?vJ|)h$U9yH1Hdp5krjGK^k>kYR#xRA|nMzE!HPX=+~9w&aNZ zl$+FWr&x?w)hpl#_fc$19Vsf^(n10OWJeepp}+~2RavR# zmPCvcgc2f{TCgz}XmwBny$pkf;E1%~?!VQOe5Xr1q(kgQs;!N zujuv70ITbBK~3sRa27YDl4<)Q#}GieogU*0h$K^`Cobyy{uo|RM*-+G(g7Vvpwmpp zbSwhQX~MWPq+QMTolW?M*%1g$Bu%(S|fZ49lnC66agQ~ZmjJRUnu zG07V8*yf-bb$NU~jbM6@=j*YdV!VKfo2qkNQI=*@^gB~TjRHZ%ZB6#)JVx{7K+9vE zn4$u~yfLxutQg@*XN!KJb=Djwh1q!e0zQc8x+^*?meGU_-6=+{$>dm23BJWt>|% zJKOQOm4M+lQf%d9sg;ppD}wF7-8+G;=OP^%BAuYU`(pJvQDdb?j3SGCQ05t>(G3U{ zVI%1YE@EFFE;`0VlvHz^i`rbo@n*Q_`Bx-+B4$?QqDd^8qH9j1P{s9Xrl2z@t`hd=0I37?PAd#DYFkK;m0h)L^ORi z+$|^Qc=F4Uj!`maVwCK1CTNFUPVDFjyDopb$u%m48Z0;GA6BdnH(d&|AfW=;%!qLr zDQE%9uZRVu_ErnsRBTB(?G?Z|7eP4(82(+{tnz$k4zeR#GB424F zyN*4;iY++h159k$G9Tc0KEM?-z&ju0m=X~OyfCt_Nd%Bf$03GtxF|z?70rvp(TbM0 zsydKK%n=<<*;A-ku|o10B=)%^pMf=0k@(1GjbfMJzd+C^Uq1n3PDy z9ptiJg)$&e43tm@6ESf_I3`IQoh3Peh?zrT$)))m%wRd%OMq<`2S}hX!A$Z2ZgdZD zONT+M=dey>bSYs6x|rodGMyLUQYE-ljre5uI#uqJwnB&wV#Q{(v@gwFBPHG@k2%H_j95~Ug|h45!+6ek$Z z3e_&{$ml=fc1837q>;)Uil}7CD%qxzMXO|sN*1gV(r%#I%akm5xgLs37O7<2Dp{hE zjl6_4Bd0-<5k~{~y{FiPaM_asUxgxna(cv^Ld7OQseOF5!iJjgNpM`Q?x#d?@H1$v zmPZ(6^@0_!n~7y;cQ;2TeWnE*__NwOu(ekX%*ynsmWMoL8X59QzhZA{3Q{zv$y{Bc zK@I3Ld{u}@QxlOEA45BdCe4wiDkL>TB7X^4;2_=lKw=0j9rqI!ydwUr#ZgP_6JM2_ zV-20CQgB_ZF|Z;*ku;a&Y0)X3Z1K1s^|vkD!BfGLbn&WaAljFP4Mw1jwE{}0LKI`I z4LHkwSIZRAo#QmsMYi10+6o;yRfl#Rw4#aE_gB83l0&q@1!@Y6jT*$9{q0y?&< z%7`wAlGSnwS4@Ovjcy%BXN9H>C90OVKa-2O1n|WsLh)4F2*kKU=OMNjbOKgtu6XPs zwi1YzbJH^}Uvq)zL^g2SqvBtPq(iz;QH|@v1luP}0VU4b$_rRg&*v8k7P(YZ+=|EVNQM$0WTUS!F)xj>hNEzr5{})nm6uTHO%%W#b{BVfoV$iM zNIJ0{tANJ2Z57ZsxAFpJdfX$B=Z+#72=&sK87$dG@XldmL|O$d2P!KsJp8~nFZRp} zzxW048F>*Dzt}J@!r~XZ=0!AP)dy0^#hZ~_z80(qP)2xgLPabiEORb*1htQcQHAYL z@J3QkAmoDF`!__u1-XN8h;R#XA7TtFO82SsGoB@<=-h>8U5o^CDz8iD)$7$zUG;{(I#uk7NBs@vN3yK}XV_RiJb>YpWGOYvNm0+j1)hyH+5 zu8^g`Kyt?`Wpm$wQ<9ln6Z$*jtz zmU?ef3k_>W!O3CV7Lw{1z5C8QZ}eO-Z}g^K;<;Q6+pw}h4D`qwy@*-MS{A|OsHb?) zl&l%O^F}X)l0eX>*nz&5i5%QI9lZ32Of=xv>`y<1G_hHIs~Z&L8eG*H{24b-E+H1?G#VSWlFo}3Z-3gc?<98WGf4Rv`eZ)XqQ!i(C+GF8msOh2<@UO5?Z%FXqR;!kX`q=Ahc6FmDlwmv*RTy zyXBUttSV92Ek?F2SE#J&rm~xQ{B!DAQ`sNk6&kl`>?z%>dngiHDN$I=uTY?{YpO(H z@zheJu-kenn`(awyQU7LuocFvHCG7iE4u0Hw#K6LYRK!EoVu>7tD>%F4kE6bPJy^4 znti(8Hf?2l$JLWo3S6+K>FksoJqfjBv1}Sa$4R%iP zTu*!B+2wW^Q>emr1%CT{U0Y!UI2dpi-rcEUMgqRf=4LNH*NGoo=+qy`+;cbi#E5`9 zp(eMQy&m}2Y=`oYr0Nxuc=Zzwffz(Cy!&RFYi)+Xf!RIc*#`j~=i7CR9^q!{0tS18 zfu;U~_rmb5JV5aU(#qY?6J}SxFq?)yic9FW{Wx`CwO)@AI%85BVYX`+N&KlBRB(BS ztVT^qK#W>wOqPJ7r&s_KUD9RMv>erayrsio)~f7vg@-&&>?s_P?}t`66=-u>Vs@K+ zPAh!Ft&~G*p-K$1dI*MziHwSbyILacdsWsM z+ZofADoow0%ro|?!Z8mqgXvhndQ74LZ_ zCfho}(`tSxY*;57qt93mILM-BRd^()=9<%woGWUvrp0gjQrK|8{9b06_5Lh#N#?Rs zDdqXvYDfm#q`)Kvv}T=ls=Sg0t{V*3jVenbI|MY%HRS|R)$C2CpfA0S9G+`#R78xa z;4%#gpqDkEcPqj;hx_F*+s66rMT~YiqpXz#w>6otncrGvh694bdWjIAr?Xov^0K7N zIjaZeX4{Jx#nx(Mse~UDEEi>#difjHWQ$2#8?UP5B zFuelwchqK|RZJ;Fu{&bI(sdqFO){>{=^?Jy%KS67_-8@CyxXwyA;0{J#P|2{rXpJ` zlA;Q?CJb~BC%4)_da>2uvw|?stwtB~T-8M&-En{%2czTP!D`UyTt}*Z?#fRjtT{z( z=o`KP_vcewc1%3h&?z9d8YMEj7Ez7uMowpOgEVqNyTCQ}8bwOG7gF&;v@fOI3VTu7 zy`V&CSE3T7-Jx97i_u{yZB(MP8)1pkE`;5bb|ug`G>OtKghFZe0^Y(akx<&LP$=zA zD3o?55J@r;O1l@9DD7NSptQSz#=Gbcly)~PP}=RVKxyYfO|_$Mm(rrIS;s4A5VNHQ zhla4UjLQuU4Pj{_R~o3%wY8NZX)QElYYK>Vq7s2y#ci<_l?eD+SR&v{VTpim1v;TA z5%8t3n}Ba>$Sj7>nt*S~>Tg9h0bkYYw;LTqz}Fg*7rsEiH=+^&UkOVDd?P3m@O3?% z<#2xjz7iftz?X!8Z$v`CH-c^gzO84u9UYQ@uQx<1tqJ&QcvS>^EjWmPZw3Vdz8vY} zV035#zR`z(uLt`RaJuG5iL{VBG{}$uaJK9awX)@aPbCr$qRXzpnWOqyD>@CfS5(Wn zi(}qj)|@(3-e?qrMCI(mr=U9$AA&+cm=F;#)~@@%)>h#BCO$@>(UB$y!-|zgxe^B& z;`3v7r4g>QRi80Ke)$!tH^fsZU9(!NLn{XC!Du-Vo_Jt z)4H8wa{w5)yxN7cwfzc!xF@gn>S@D%RXgp?)g_mBBaJUv2|{6&7Ub0;9G>lAz*N?y z!6l&Rc7w3;8}e!yc!d25mUmNLt<=*I`xRi*mb_Z6r$hEIV7<0u&H*g$sm+242H25g zDIJ0H*eK;G9Vz4~O-I=WbfDm*KToP6%yKkj7gEhyAq>mBo#%B}E^>1}c(Zwkt~ihN z@oCOXp4zqKkF3E~yaG=`gNHWJSgJi@J3S0e|2hI zM?7KM9~s;_sQMj78;d?DL1-S z)*54{HvQ;P)J>cc&dZLbt$4pfgTj=GoLgMXOLeQIxVMWOE0k+=tgufwJDlK>Fd>;kXm9kgalElPHhHnqG?4l!tQ8D-76=tNwtH*zI(Nu5^L*hA`CFjZaV z5xooKG{ecSMvJzU7N3mtqo_u7Tidp&Wh@VGb9H*7AK|H>QKV(dfJ?Dhy9ySo4S{Rb zHo_H7p=SuDuV8w$f>&3~nPaGEcG4Po`y_VAGshWTAvAq8jP!3T5!&#r*^gGq-U{=nI{V3K7{fCNxz%Ka~$0QwN?mHpIZU=gN6woR1qVI&KVG z1_*77%U8W&&9iXYSc%!Fqz@aXuIj9Tx}uT&jvA?)G)8;d&<=6ZSdDw1G?M)f8f!Q& zjE3lAz(b@aaelMWcFJNeIm;`Ho#ZUHEcTJJ{IV!Dp2M0XR1BfLo4O%k8l6AdHTHdJ zR}qV76blV|6gZ8-L`j(DQ)G?qO&9Jz<;i&2SEH$2YT{gV=9PUl8kYZLwb;{M4OgQk zIbygob2Vwy_#Tp%4vP~Tz98KW+63|10;MBu7Ck7m6OCTgrsbMj8p0ed&{mC;&6J1G zFiC)|yHM<21EPtIaIts^*YILN?%hz+u0mSM*fdfGADa;P_SjH9r#Ts~mzb@1HR}=^ zo=?a(0frrxhwaf3N8C6|lU=~CwrlJfSe|T^acTfhQV-n^2cK^}^GWBTx#H#`)xR|T z6xXLWa&1lVNxISf@+>8HqYcvik}sLjak^&S2J&)>Ld7HP6?B$O#Q(0$`-}mvDN3*mS{bijtyEky;D4Mt;$haPkrY5Kz;l-9eGXdsUo^sp1?auh$j5 zUKJO(;sRxFrrkayzP` zv%imW!tW}qIXsPVCAnFZ0DVlbcpOc{{7UY2jq7G7U~KXglBNb{_r3;SrB?uv9eg~A zk8L8bbhBWJrHXZzC3w7Y)x77Tl~MbW84#NRVNvlZ5*;PFm88&ol47Hi>10anZMvPK zbTWqa221VLIUD*U-nrpc@UjPNG!95E9Srd+^8ZgqIbC{`M);~ClSGe&bR3$Ix{D;3 zPTd`fG7MxmJWvV|^CR~Xcr zisP)Vl6Xqp-;rX+$3@dTEHPD{M_^sj9q-v4%f%V$_$YUL1Unw&jt5H}6OSN(4}mzB z103&OA;1OUhXvsU;6obVc>RhIUTUObwAY(72l%NO+-?YS1MfMHk%;b&^Mq5ZBq$w9 zZ2St{{ovRHzFci#X*{2{Ttf*aDf|vi`=|x)s4(qBP}}1jg)wI;-2ExS>;ZuHabD;< z@!t-kvF>=y?s&`U_y~90vf$k;bxg_wg7?X^Ex0Y9z9vlttv!aasj)0j)-~9#K`478 z2Qg)AZxlehE*{AkQK=?Dd>ee%5XsgnCCM_Y5d@Fz=}mQE(WL#&!dH|AC~3n0E$A`EVBO`O-Q}6Q%NBPzVXb7n)Fqx36HdoK+p$s*nl^L~I{Fbg zyJ4f)WP(lNB~oP5b-HE5a?`koO?>cK(T%L-jZBzE>ben969GGZPsOcbPM}kANg8u6 zysD$J;O-9WtGT%|=WbARLo^$?JA1}Ghr8`t-Z^-VFTne!Bm6me;r#jYH>m4T%HLUc zveT)W&0c;kb7wGH2YF4+WEJ|2c}^9li}X2D9_1mbv;+K8M>c|m6?{rK6~r(I7*v?x z6Y-rXbreK>D#Qd7wXC8CQ_IFLoX3K@d7SWkH;(NnUR}zoMN};^)gq}z=`8YURjO7s z)v8i$7^;PNwUDZXrdlY~&~d7gSF2F9im6tSYV{N|0-I_9RSQhDK&qjumY-MishV%9 z`BKfN)vDyHgVmI&rlcAQoliIv8Jm-;pjX?Y?hK`*#pMrrE`PA!^83A(-?x_^S&cz~ zf1^?0-@uC}VJsoO3izyuKP!0Ok24@Xg>i8xNp9+hKOUe(q+dUc7jCdD;)_oBlhgzF z8v8Zya0nibfrrEJaE@YHkpmILL9%f$f;hvNljJ}Iageqjj37=O9lH-i5C=K)!7K0h zbZkBdk0>M0DI^i^zTRzLCjYnVXQmtn1ZVU-$6uJ}WSD*p0uyqx7t`+}n2{Zxj?xoA zB0EXHCR2CHK~6A9_IE5AMRhBRt5c5O8KOPkIX*)Kp>rauy|zPC!S5Wq3#&LFR3icD zq(mzKb&sVd?z(GcCW~L29-ry7?wZM(uTA}#&H#RkH_E1*1X#*3e5}x81XJky*3TdZ$Lp0S)B%T6iR@Bx9}sVn`jJCjvkn^rNxj&~QHme2@Fjl)}<5KIlT z-N3KLYtsSjT1nRlJVND`RE~J|9#?KrWg1qDQvDGeC0bK)h7^~d2gCCVX$V!?=m@#H zc<_<5P*2gt^`-Rfzzq3Yo}mZS)1@)DQKe}|L_leP42l>5aQUut)aALE>|I}e^J4+E zUd_i>$MI3uAv8ELBZH&lxb&r$e+gr)TWwlzD*1@3ATK1+WF0SgqfFAPH2`YZyS13c z-s_txjUY0xJvzhdk7KXXqVNzR{?;qbyEi;qIXvnx_AzM$<)v1?u}6K!Uhg}0=%*oL zuOi&XW$ZB~ib7o0AnP&qYM-&k1P_mw3`9S(lrEH0c(a~kk9&{3A&|IySEt@%UNGaT zKz@XWjv*9?^6{Qmc!?jy_oLW%{XFfl_x#zX|2{OE2{82XUFQjF z&IlHs*E_?!;~DTOpO=y3Z=19mVge?nPN6Y}Ga$ffBH+nh$JOQWMEU1c-pFZ8FG72u zgyS;Qdj6tCpy@Z*CM{9F!Bz@`oiKwvVhwf_2Rqhtu#J9$4f_o?=pJk}e_N-)#(f6M zl%p=IofB2sD0LY`ROrjYsVj}qLtG78)kRf6vHS0R+nb_UL6JCBc~PBOkZ&S`vWVz0 z!^+@sJ^!ltTAD*%&>|>@g0ii&E}PH->p8^Rs@(<-rmlBTgeVj8IC^#2(qud@VyY~| zG-Ds3tx;$u&cCV1e4}zRdh7!{1RDEMgl7M-$NAWYu|nTYgYL11)M>picG%~{bNYdR z$6kPYn2)_Nla9&K&rl3^y#^5y!Z4>)qy1JS5DMZI(4$INo;DEo0P}w3jjJCDW{F-# zhNl+aF&%~tDfnG{8}y+bEo(y#<2Wa2oV-)=&tttILC`F`FdGskUU*T_8?xtM8=89b z9BjQX*qRyaQERY6vT{8J8}u7&z29IP#lcpKZ=0HW^c-xQQ;!Y`f^LfPDCWKx!&tP(hs5g!CqYS7f zQuK<*!T}NiA8A<9leuHiH8*H;USXF#mr@@ALu%&OAnlx#WI9M8DAT%SSg+GS_ZX$tr?}z`2SD0q+ z>vs(Vdov9+EQsU;`3ESCgsGnw@Om`(iwb|?LqkMTl?FH!HuA3`YNnDG)Ctf{8F2z& zVJ7OM_#LK(o?2tC5DXi7UKJD(W#qlOWIj=tOw6mx!>nj3j#0a~f7488kDTXQDHK^_ zAK@V=!HP!DvGb`d%*WosvG3PudF&x|+9-_O$NjGQgMimc*<)|y2;M{ykeX{_#(;** zr-E{zk4#AAC=?ceSRouIa?}QN{PH)~|1Pws2fb+KFJLxpj#Pp#cvI$YTeJgYE6JwJ z-^PUvIcYZJsM(M%o{@cxf7nJP|Gc6%WO+=X-jMX7QFzhpKiHjvL0g(`;5Ix z@Gu}aV#Xfg4(>g6mXdmnz1nx|b!+ShA(#89VIK`VcYlj!K1~E zCwHYTtB!`aHK>=&bcXot2NV(kIHmT6uBP;i8Y})9Of<+&nsis=OiGkNK>Ic`h=% z8PfE_;3g4{!#u8-rs@JbQY7j}a6QJ-PWh~W14&Z!fj>Tj1SP?pIhc+!efpsie@ZF;vU?A?TD2+Dy3-ET z+5CTG@&Q3@-MNWwf}@X8@(oN(ulUN~QS?Yx*~@Qj&?Ul@L~YF8j;ZD8;~=B>XTdEE z5AQCbNl0anIJYGS`z{{07Hq;cV8OZ0YmsPV$H7Ktqpf`1nWgm~F$atewpR z5R;E%!Sd&z;Apn;c`4uzHt=y19_tRLRd_oSmP+sl?O--{f)$=|HH%JYLT zs#I}+Fkc^#D21WEbOx^&z!;|8)9QMRr}w3G2W?L{3pBVXO1*xAIzzuwLQR)$*(6`} z>ealpI=7~%HN?zE9Bx=~!;hJUe~TN=#&1w3;m^Cjh%eGoPxTqJ3ij%=LVdo-0Tk=% zQx&>g@9Oe6cloW|tLrj~dx7eqFWSvxy93rf8j8VszWyV zaRK4Vp;{%vMymvW>odH6=LjliXHPoui+CRT zd0V0HvONHP#)kRi=V8--pQ-Fn9FwK5;DCYaW!DqU$ew&^ovC~>4{aZ#dqobA4F|{k z)-U5rLt5^1)n$55fm84^jIx2jK+r3|%PN}cG|<7M}%{&q|q(NrBFWtl=xPfGI3KstIT%% z27t+pXi&_$;?bPk!<(fL-y9~jl`gux%T7TWem zWh1ytJ3k;m{sc{lA|S!JwvB;tV5;HW_yRwq$Fr!H!N@-}PvT)H>iVg7O9LIjSiFKq zOy!|&Ch^Rhk*~Q=9I(sU8Ta-^nC&tUHom5zA_Y%>!xVgt;CA2FwKU|D`1CcAhG%x=k9_7S9TmuU)j)W?;>>sRPQvfs6j=jfr5YWo4d}T ztu#$}Zy#!C<9I5#2DS9Z(&O;`@w?ET3`6y3s2&Y9d)u2o@#YB6Dln+VISi-^f9@ik z=Upfa!FiL$qG)(9Gu*c1V1ffktN|ou00|Gk$FobD+$YjwFaXrlw{QS08bFH&@PUP= z|Ja}HRDn!lZx!mTLNl+R9uhu`;KO6a2jt+6$IuLQg3S;u_};qIHG;3H+PjSP~jb!ZY`X#^M0bvB+{X>h>|hBX2-SAVW{wD0H8VeYNL&wrDq(PT1bKr%-slPPU;3>de;}CcAQw)fbDcVJ zuzj$-L5u^3(7+)ytRXba5E?v$7zdCr==GX+gMQ~1KlPhxwlmZR+i}h6H1m^(#Pva3 z^D62x_6PavfAz=igF|*zu)Tf=Y-dL@4~O7cL-5QHJRZUTVte%<(0}wTzxy8G5<~l7 zJJ0<3Lt^^~AUe4Z9RTv*{>BGZ0NW$M_WA+X-pXCE4#anIyoe40{Zqg8wRc1`^S;>5 zGk@_Rv3-)U9g)Zac?CPJP{$SS_zmxVgqt+;anx6iXA@8|o_TlQg-Xgn#3ghE z$QsOw@4gEcnrs#msEn*q|G09)*#9u~Kg|9A=KFv0FI}QD6WG}Vbv8j0pFop4e0cOO z)DfdkB=zf4zreF$Hzn9_Lj5M(FLD#S3`8y$=`eg=?FsO&@80_c=yx13V*=;x!JoU( z)%hG^MUmpnq+{6s81+9!{R7KJ4KViKqW)Xlf0U9#3A8(o!KR@9VFKF`1ltIKjr#xH zU%&TT4pA8&JM*bCpXQCpM<-<7HSD)W{nn^o;Mk*h;y?o(^&4=%3Ri-t+b}xB^@aDx ze*0IJg}9_X&fDi1!-hwkDAF79X~Yp6p%EOR5dh1cL@A+#8??b26h}~J7m3bTI!yhK z6WER**hUC!)c+T@?*9V!U&GF7)LD(@jTyJ9GVdmtJgC_8L>KG4+c6 zGRP!axDgw?5wX__`)W)eyvNfcec}BVZ~NO114+fHr%jx9lV?oWUfyzOZydxC4AKY& zX#~Ko1H_~jVp4-JiAFGv{a4X6Jx2W>fzLziKcxOc?*ErRaqmYl&jtF{9LK2*(bRC> zF^omy`2hAhK)nu7uRv5Hq|`0khz;I|*ef{!qZt(79nyODhWFdQy!KI$Uut+ni*epD z&DiIEOIr@@6C*f+5gNe=jR0L>5tCYoNe#jz8o?M@gl0gV2x;CSy47I+gVg^Z_rJFK z7sTfaZ{~z0VX2YZYN3pX}>THzeJqqI=ka;)A3`)H=s8=8~?~>o#1X0c5E5|^g&-q_&lavas*LngiwjP{q)E0e-8+& zBZ%gMIPE6RYa11-WZ1ng{tIvb&R zk097&-Vr%cQoj-P3lwFnH~S_uA7yZ3zXLtNz4lvA?n1w#h~^_WZy)~jM{`A%dg@czy}s<5T!uytg7>e# zW95U<;qkmeZgbRsMT@DunfD>_{NtZ{>Wk6rfq32}9#{IZ@5ABwH{SQ*CxLw)7SF5L zf0g>LYB9Mt^FAb=fAW{-J{!y)i0576akVe|J{+EZ=!5V4&EW9ld?OKl8_*^JWjk^Dg0ds4x3I9G-vT@jrYN`aLY3PhkHO)c=GQlY2AoL*n_T|IJnn|~hrae(|Is74Md2}Yl3eooE1CxTaqt*N5Yq@^9>JjCIfg>j z3hi#S#|PiFyW!EidmKYyNc;2e5$tt@dL7|jM{ynSmKwpk-WT4#|JYysJrL7LIMJQ9il!9RyNx#170nS!2p-iv<^AiczkanygP`M0(o zL}|sSnY!Wr`8R&_e!S{~w?&R4E)22kga4vAA3m)0;oq>4Cb8d1>UWa+t?`YWCSRnf z^i?Z<;dkHhI}z$eI(V^(JcH}|;CV0pJ<^+hSNPfx!M)lS?oa;2fBSP*=ni9N!_?U@ z%^SV25K)?a_&0geqF*WXThsiTZUFfV@2aR3yWzd}jlX^u%ZV_^bL0p-ybqrD;@_ja z_%~`=7~cX5?g926Q2znuEdi2vM4S_;=Wge-9zN>#!Vj(In~%?{~cK zqn`*!ja*05!5CdfL_Eh;FQXnR(90a0l!`uG`Jw)O>YuTEf?OVH)&U*njv)Gs5c*K> zZ(e)Xf=}bEX4C>6ZI~20Jmpp6#V{{M~y7Z&(EXdZaxf}J$l5Tv&7Dxc2uRu1?@Z0 z<%yx4E%x@bvju&yq+K)q1t-e-7t0TsWDz}70B--{V9OUqzQ`k$9Hu^d_C9gw`r}l8`_T1=ss7`KuAiimedUn#>s0@- zL)WjQk{S)`V>}frzDlpqDt`QXx2P6uG|a0NNT4B##)S?(n}|>t7MhBZE!tYN_q-Q5 z3xI3q(EZqNE7)hfy^Bl#+qVuj`eqMi`3(niim9vvf3h01eof4|v}GLkDXh8;d-tY> zn>C>V-DSpCf2{199T)0y!&sX#mA%OMl;0kZT5j^E3LW*fedu=dCUVTBveyW4Zk2aA{@qmbVGs9Tm~5pcPoLr|Z{G!p6*}%9B)=yQdj;Pt(U~s-DwCV%c+EGIfkY6T@T%r_+T800x5(v>PxK z=s47q=FZ-sxE=hs(bZ1d=b`9tFyJ==O2cDM0ibvaUsKsP9UQLTaO>B`sefY{+<3n6 zywp#A%p*WTVQ`}^h@s&50-69leJMpdcI_g_JPJFfyVBk5a(DdjMb%-nOA!khA8I$i zpwSuGqhRH3@=nzYb2oCx{~o#tHY0JT*HDFjA0ybFreuXXRI=%t^o6PS{mviw|J3;# z6y2efKk{GVd|G~g41U8PYS>hh##7CIR`Q=w{xi&f2Ki4v|LNsFRSBPdO6etH5Ulv* ze3(7OXoP~*8r{3zf2N~a~eTw*e zcNw>zXTY*Zok7*iKacx>I<0c2b3R8xHna8tM!MTHAb{<8(sCnn+i>isk>Fke%B%$%XT6W#~mm z1J2&bPe8Wyob(AzSCCw<)%ylqe_Z;p^0d`y9 zg+CJ>ZM*69W$G}|XWVn0N_IU$qoS!e76J>aLO<8U{D{|=_)+m#Q$TSUS4ykc#-HtW z5KE)7ibGif1<>$h+h_h?$-k`7mnr_Na`h(HQu(^7RL!p$fd>#3%N*s>0`I)@5hn|hcLB@NYyK51im=GZTtMLrN-KzufYEVN zDIbV=bYmk-tBt^b*?gsPHWuc5wbF~P)^2QElSa5tt|<;Bq7G!{y8NdtHXY{8RW!=- z+D z8G;tCC5u;=KC8qH88UGJhQ+nU>3y5SIo>^*hBRN3Aw%Elg7$>!K<9!M6rA zaOLB)eq-Z!T16zFiH&QK2RFmG5v?YO6}UtpfNaKf;DM$MBq&5n>$r)it<-)U=dVxj z>k~PBFlg5oarNGkS;Qn`NA>X>pn4th*~e)j>wrsuo`HpR;N|-nl`q~+4SMl}X9lqC zETE>*K_+3ZsKyNqZ&3Lq8Xx5}zUm#Cl2?k9 z93Dd+7G}u_g&?nS-y#0~h{}n1gQ+uom^KI_qim=xa_oxr{R)3iu=)iQ(Lpv0b6Oq> zE#HrZ)A(8==tQwtbhgQXR!tO!&OW6TIE3>#or%b*{i}EE`SY}#Afi_ z=pLn2LHCGKk@P_Kuz>D}4ju(P4=sd#k7D#%7TFrUK4?>TjQ1)gmgy2L(Bd)e7)nBv zlawW82_Y^?5ARZz6yoMWw1uYkF`6zgnl37mMWExVeWY5j5cbWz5Vp<}Xvao4Z@2L7 z-PMXC)p~3rF+GZ;fKmIkR58cnsnV%kbx9=fAxR{R#LRvuw7>p-*QM_(bkcOSTvEkj zo%F_JjB$C#6WsEIeR_<`uu37XJIEz4ose2UIpju?aecg|`@4^S>>34_+R-P>nqz~7v)mrC4kCM>gTKb2~1I(@2Jn*m_(Cfzm5fZCzkpq4} zaCp^ap$-`vDwBr4Ek4*H`J}KzSKKZ>_zP}NKDcZl>HUbLON^w;t~rq}xz>?fm})n! zR&!jfGp2ga;v^myaW`juix%rzbaU4CHn#`s^M&=*2zO~+=dADNEZl#+n;*$*-^P&~ zWCeXFC!QA|U;EU?+uk1C%q!-$F?Ja7yuv#;eIw7K<2S07ZJzhUJ2k^Q+<6vgE1_{@ zb4_XFDvs{?PUv;`sTvMhEpo{Iho9ge{EqAnt?o$SYaMHQon;LFz$X<@n`(hij&Ls{1wJ{pi zj;rhjiiBbyms*{CqyGr)^A`U6SNrSi==`%`efkRew241&$tgtgZBU4orL^-^ty^p7 zJF2hR?mEYr{?hON!IiK6!C!vlZ=4^#D&5`Zu(it7>h1;@`39a#-Ce!MObQA-8R}Ii z@apx(_m%>${y&@oug+REn%Jge6SzAJefuGsytzQ$qCOhDA#QA_j|Oj$Uk^S98ocno zw+4^6+}YUzna-F@pS8#|NsLL+_RHW*3^)gf;sqHRUE*foDsRXiLOABuVkmZ8HR_FO zf`6m6W@!}|zzD-~q;G{`t}tv^#t`rMAyY8O1%rK?7~m!b`c_D|LSmY1ag!}m(By)q z<~M1?7QnQojf-d*%v`omu6tt$>m3up>Qh`C57U61rZ`p-^XMcTHci~ZqcfCgl6{LX;;nh8 zQ>s>cKwz`dRiTE}6+5a%=T2~gR#rUW;}Ewz&h#4ScuQy}#Ta}M$I~J}h?_@@z<1d~ zIRe1swfB=@=(L13W8PRSRp}#IvFeSmXy@T{L@PGhw?d9r(%CR~Hf#!pxL`;G5{=!7QzZJ}9;Du5Y|p!q z4)Ux%kT1Oa3+YxqgQ><8Ko3^wZ`}T?^qpB53bN`Yzo-zPl#UdB;{-gO0HC-t{d#oD zBzmFr=QY9$H--$T-bFECl+ zJ?E&k``KzYzzvY#;uc8F!0F-)g-iuVXOLYg?R`N`OG-R28g)FW;3K(Tfb=Gdsr@b# z`dwhGNF33rj!(7@ES+Ml$PxT4J{P#mYkX>}VSG{_%^M0G#YoTN^***md~A#4*yfpI zo6F}ceQcvgpGTL%+TzhmiKhjfOR0h?I9zyI$Kz&0&=mHN9H~w-?DKDXgh^uN z+}!q9)q`0dy_*OI#n)ot5cMylqAv{}Ku7pmPiyiCs%|g^rZzPw+*F%BM@ZhJ&wqwsv#Bi{y4x*d z;lOUaP42dtf2X_MG~LEVZ4{RbE7a}7(k+krxP~}cIJnnZZsAZe1?aOSuQ8qyN9A0m zED{xdfCB^Nm3qH%7F5|DP2nNq)uza3(BPlI9o~(hA$hlgl(mgdEXqCM8zS&n7ZE@) zE-*8KwRpEr;+sN|5@ayM$s9lMfqxgJ0@^H9S+-vM1#m6I;Ll>`m=9meu*S(@P8;TzBdT6s1 zo&pS!d)OoLg?Wb&nLMI&1!@JARz0J;3Z>}}kcqQI{bHUU8Fd+8Mtya*ullMl9SnSs5qiz*eM1`Wl^0N26O?zmG3d_qL#G+ck^9(u-@We~xFcJ+`MQgA$ z$jz6EhtvtP1f_h;lS(ql0_y@I-a-;ZQ~Xw89<>|c7+R5Is6DhO*7O%UlJcKcc{5So zOd#O!7#sk}xHu_MWN}+k{L_kSca3X0mMw#b)Y;|eACIhNaxN$wUeMUoX(f>PP8v6d6mah=;7q);bq;5Dw zT4TBjYy!!B7Li*xk55zgJuj#3`{Dz;ZS$J#7AX8)nZiGrk7B1ViYH_g$ZjY#x~A>R zp7>0|@Ar5;$opQIyziFD`%aO(Z~GQ`pRmX~F)B^o$8(Zrc8ofBugQ{;)L-BZ%mqht zB+$4+yJLSR2wOB@iG&f3lyW2l=^?FKi}Ns|2MH~UUXks*&11f^=o!WnqH)z}S6Hz? z+ky6h?21OWQldgii3`=( z@EGv0@P11mNW7~(<`iCQF?yR$HMiJSNrN1c#g_K;w)MSS9H3*(r&Ml_2~BT^Q-LtE zd0}Q26Z36~6Oq$_$4&=c(dmGBq04Cp!oyJoH{SqJ7gY!}RUmqV`_K|XS1lnll+CZN zqTpP2l#%TC7RqzF_Xqp!{ej+_H;E0Pt<5XY0FhfZZ-^LO>9Ki(eDjKvprYFnfweXN zT=C&`%XShpTingJcx1M?Dw;ogY`OeQ9Tm46wVnI7V#k}ROW6El)l=9sp00{KU2)0R zdEafQp2Ft3>Jm1|_4T_ZY@$=FmKVh-mW0iZs6z;wE7r&25lh16FR15O*z`cI^lLR$ z5H_*URmvgBatHZSSP(YNvHPlpP3w^T90;5F(2ByQlwX~&nNO-9Z01^ne-t+VAqbnn z_k^$+2)|ji_|2-yh0PB<_Y7yOAHx~7giXC;zI|bH_`4!(E~}!jNp9~-+}^)ugv}c1 z3ksZXshjh?t2gIcv^d{=%=s3W^DXw~d<)&2@6F#;&NpW$1QR`y0W44m5uKe&Q~Snf}5L8nMKJ>4o6#0=(}K2tvtsjRqs1xQmsDMCe?L|A*{Pb_4bJSoLg0g`dL*6 zds|fp_O+_6mI&_$gz&EBgcpVPnDl2Wc*7}Y)kN=*ovoFtXipcLhBFebbW!P*5|#di5|v)IsPz3z zrI(mWFZZI-OE#5$*LQ_VFIx0zra$5an_j}v}1}}2iwEF*KQvJGru#}q6Uf(OrDfMfLg!){OPMbSr z@ajj2-r}t?g}2JOsr0KXBK^OAH)!;hlT+6p=_1kp>QEGV!)oIdT?G1;f27asq@*{0&&imIG_CoOPs@hSmPy8Hu$dI zSa`p6W8wY(eQzxMfy+7LcO8j+jJMM2nEn<+fqU7>8P;!k)9SPu#^4RFf5gGq-ATUU@r^_*PPRSZL)&(&3 z!;4?n-vs}B!nx@@OCjeQk?aujjms2H!pkAfl6JI3_owhzQ|?r__MHlL!NSWFji4yY z(WZOKF?(&-$v4}Nvj5eqakGVd4c^H{r4#;zR|h?yI}P4!4c-){^Hd_X;bjm2-OXk` z><0fw#P7zjW2|x%YQMz!H_W#7FIR1TCW4V3Hq1Lc9k0Of&a50p3u%40o&Qh)Y9iG}}@Nn4t$8YHgZ zuco<>NYX?;USkyC#(ZW*a#7JY7ZB-tUkmYGk-6Q0!#m4uyM^KT5+BI1ctz8gS+2S% zQS$&LdJ)srWVYi16>@PBPA-kPsUsqsoBS+%c73t7ysgl8*+WPfIgdp0^FR)#Ol3o{ zD@?I5el*j=2)513sC%&r4u*9yTFWG|k{NRkYgaR=E`!ngxr+yNr&OW_aftuyc^ z5H^m#&deao4k$`FGV}l$`ag$9!_e{Yil>JF__yKc0o{Vf@&Zc_a5s0e^x!)0Y?-A8 zxaDMz1hSLne3mjd9nH}ZY(#%7AMC_9ub@9gk+BbS{7%3s1#%KWY4JslFB%0Dzwrro zjh0V6q2868pH{`Y2Cp<5-)M>$g!{_q6v&s@eDBcro|b_{dw@YG3=i;_E5F!?!l!bx z?e)x>r+D-EHzEV3IBXurVe@c2l%7GcEJRk`YzX@B^fl@_oe!uZeWIR1%Faj5lQX(+ zL(8u}t&Z|hW1OkrIDX5g_;Gd#)|b(X;x>}UaqC2w%7GBg$$q;ea(iaY{Tqt6^)o-e z7`;hS-3i*Yh$(R7r|kqn%H#~w5ZK7Sttjsb!Cp+P3 zFDU>T01}?I!7Clcnn=zoCN0~2P67#Mc=>>YX-OC-Q8HJj*0vUlj6Jp95D-^@OI_&J|1M%*=Fd5zVaL-7}*-yq?_dI zBtaH9X2Zv^yb9$+75-8`HE$;CQsiqUE+)*tm&C}3o2W9J4J6Y@fPSTp|F;T*T8@H4gQEf z>pDFE63sRT-GKk|oFGv6!>3Vw@*U7gqJi)Q{Y0QrGIaqO&F-0Z=-Ymt1`f4zFNPHw z(z7P;(H`8y`YoEZ;#t27YmVz#6MU34>xbS+UOUBE_nhl7hX@C-5@b@@JmIMpWaB$s zb(!9`QSd86U2uh>*8c4DgjpMe|xZv`RfIhKCj zuiU_D-R0Ownu}ICe)8EoViC}p#5X^Of#f*<5~l~e(xq!0$p&TlO5WpjFrbIIFZ@}e zQLKudQgw{~b1ST7NO>iL5 z|8WwfH6V5ECjL1S1B9D1aBhq<1r;fET%3Ve=wbf2w24s1M4uqv#e~@y>td!2hqxMg z-JO|s+oKr9KU@6(iFEBsadV&R_|4F1xXNpQL{XubSd<7w!lAlxR&T=_1O{D>*&x^AocsPx3!6@%({niF$>q{{s zSruLYPwj*=KLG!ZOh4oP5IUG4L}&8yQ7p%3mpHR3LL6%-tHzkAp{yF7Rb$-L@T?lX zRb#@`@U0qwRpW@M5m+@stHz|M5n44OtHx2N@x!qERVc-P$yJPdgaMK&_s+LR@!T9^ zy3r&ZoqqAX>B#g;?wwD^roRvV9iN_pe?zp@=UZz^`?u5KM(M_*n47)wkMXM6PqVKWQNE>M*Lr!%&T9RQsFx+js zk+#yH16&D-a-1#R`v~SYed>*mNIFwb%Ny%&hBx1r?Y=peH&piM8%5s8=DtaJP#?-a zOzYVb<=2nt*V*D5siVDlDWF^2mDx@MSSK{yxc$5Yh|~Y`&XP8!<0J3HgQtHBaElmd zP$xtditYjm(@}@WPODhtV;E?gtAapK?V<^o$62^)RN$&4F9gi1s=`&H0#^-?tC|{K znKrP8gH^*XQwa7XwrT`rIzcr8t43I+7E~j&YDC>M1EZnLkOxQ?-9WDTy@siHxCKcr zx}B1B#HmjqvON%`8@Cq`b^c8n-%xY(=)GlhyjSC!MnGKv^R8x3;nSbs6Cesd*2(!ehqpCq^g6U&AEVc}P|A`MgFTH4?4?=OP$)wr14`rACWuz$prrC)=`WL{g(kH2`suRK=Q94VwAi z|0csTaJ#e<*q*SOKqFuVv+W@a(=2;QrO8aEg;4U+7LH$~4di>caXQ0@64mUVp=U-b zQ2pD6Gg2oVfG|hArS`>i@RMFKEs-afEhyUTIZ$k|MQr79YuRA!{ zk(`E@#Tv+JH{snw*i(l4NEBTSKl@23kf|D`^)t%`KWdGNX zW-mMU;JxYCJdhy}Jk(8%0g6dM1B8j-v@_=iCwq-G2kdRm{e!9;* z0X4}UdXuJ|nC^T*<4)$n|CY>?G`n)8)Xzq_V5eNLFkdQIDHm*%3wF8+p4Lg*wUndR z2I(o%Rdr8EnK96;RvcG(jvt_pLoHY2)>x5S%jRCsirku*m1^0-o3Ugnt-cD*z3>%ncdlV2I%5NfV6EO3!badgRKuCb-TxySER#+e)MCLjp>G&(rFpghl z7;pw#g70eRb#(^yq=+#C8ck5!G}}?PGipBLUP1I!gr3t1amO>TTz+#2+NJ=Iub!>G zS?_Zsg+OjcAD}D{Q|iT-MgrA3E=L@en{ys2*K4W&5+{W}BQJB>_-FbQ%GYqNS-Ou0o?U9lB)5OTOx%iF`_pQ?RBfbrki@0jYvfb4^Y^KjyI^^0^t_ z=Cd50Z-(dR!}ED~em=Yk_noV}vCsGGKC_QGthwdB&zK&^?H<|839ZOn7KkpL$=h3$ z_Uv!e0b_XTt$GZ&TJb#97@o zpJZh5aM>+GtSD}azn~*|U92a!P&cXLi@OSa&IV&ZG))^}e7~^>By2Q$Y*DNU*%MfB zESrCu6wJA<3p~(_gP4HF!?27w3Y&Cb%w&u;x3b9wO9qhZ6h(W6ZV5)luo2TxTKUks zM(}DU@17>a-aYh3n~sWLLaJ8bKRyqWuqJV-F9Lzxq5kpzFwLN?%M|zQ5E@a`Q2dCe z{VSP15&;DgPDUkHueEO3C;5)x=QI3#o zlEDKp&yL&%*hSg9A$K@;WAWRf46ytGM%F;n18oqV7rH)J8|NhYUH=4boD_cjfrI`r z>{>y#8U)E1Hk{$UNq)~m{)Kz_1vA>2`36_~#FEo)hxuQ?rbVCp;@$K#awv9?c>c_F zu5;RT#6Zn9HwPA^K?KytzXbM}(rpT*uvarJ?}aXe>MD5DQ_3tMdYdU;LPb{1!z>|g zf$T4w?ln||{L_EoFo?|}s>GKQy;(%XYoZRbh^oAZE-#{{31$&pUPL$BkVSN55s{kk zBD%QnXUGc+{xOS)*4!6hiCIJ!X{{`xDlDRFFQVIH5nZ#0ZjVKDyB6^;oU32Oulp*z z>}f}5uPCYL^+4G<;Qbu%ewM5(K@te{5cn!KV28Y)nM0!o2n_k{lwt+_|0rJ-d2##a zJC@&?Cw^;ZviG@+6fQaBXHS8&2xZATeN3W)BIv)cox)!snZU>;!*UBhGs7>EKUA2s z6C_kj2!p;rCf%xco%f2<-V`of#4aFbvf-QA1>~h2O4f%%C3!;!rr@M#KF-)TtxR>Q zr@bE`$!Pk0ub-RS9ySh4B2`8&ajJx(=zqYnQ(EOpsdio>jYo2tyi)T;JdoWmyr{16 zexK@+v?ZCF$j7b>9augl2dB|{>}rLXrw!11hqu%#6a(`iGRLc|f-Ry~4a72CBFM7LnIk~Xo>ufV3c|VLCc6j~y zpQOOiU-#H+lLbihCg96;R)>#MQbPRZo%l`Tkl%#-&0E;H=WyQy{LM3OBmbW6Z#alX z@f)AN`C`9sIM_|$8+xDYGY*g2eEeu-|=lD{?B^U1*W+Ud?w(i?m716h}o&&E5-PCmAGk6-leVZ7R> zwbiR?Ej*yL#j9#9=+~O!*0%1un%1n7qGOg&+LiO_^)u9x)y2aHb}_{go!yi7Y_?6>k$ z&zZAdv8jTyU)7N-F#M}YS|@LRTC(reHJns)M2JkKT8rzAW-A#O92y=W^};%hWh$$4 zAhTcjS$^zr?9F${;{*pJ`{uj(@hIx~RrXi%ILY~Hep?<-aGdF%mB;6E%*C(#3_nis zy|jK2i@@Csr!hzBmT3})5Yj-QR)nz^ZeA$$AWoPX}d z^9^+*C3pCljvfu&D$7PuqZL8$6v`)_N{7!79sl-*IGF~yRTs`AgH#jF-|R$! z{?sQOCyL1#V>o7)}`-F2dxfJs2TWK${3WGLTEAI6UTDZL- zYKy=t4yzL}B%&M=J-T;d)c%)&-c=w2#3dc#(TFDKw_G>Km16|}nl%c%eqakj_`mXh zc9HMJy~d2!V+G-Pj`M)*1&qhl-g)H4PAKl+X?x+i;a@+2a(@7mXEoaUS;}nz1@H zf!jHBZa}R_je|A1m|;D0?}}-oP}LBsqN`lxmi*>0K%PSTnlQC=WeV0PycJLZ>LM1< zos$4Y0tLZra)mz1TBy4@N!L&^_oj|JiBU>{xbaP5x8Y^zR8DluFW;oE%hgQi=Qd74 zaGSW8V-GM}QViEfF&r7iaIGWm)6tC$qVf*g9U@*LkA-xWn()t2izC)(R@E68ID3S+ z7|#;DLI6QS1Th?$Z($c@7+D{_Dj~YiJ?b1~p?@5=3=EQ51hz%@S5D26!LD`-Ii{kD zOg{X6Q^j$O-_5w|=~h$`cikfHI)b}= z+eGQ9c{t(91=yAK3+GcFk$>TQ$K`lX=lLcEyq??j&Si6}9%oS3PdAaAj{BfalcPHp z8Q$l}=GMI1;Z+4*adasxeCETjEh8cuE_sU95i{!Y#i}<8bHd-ye{gf7nzd-_&!Hw0 zi(wo!99#wx1n>;_^QdzZs%M^g`K{+^SkJti$Aw`Z5ODbDo_~omNl$}!XS?_`PEX<8 z=JgROsOJR}fzO^8TH6pkG-U=BpB%dv*f_1Ed^OlifA4G(JGs%}H4(Akm9 zM;_>DnA~b0l6t)%!na%B=@VR20Sbjbj)iYjW9>syLwArGx}qVWC$^w)E2lBvda7`^ zuX@{)tDDe;+;&P)e-4Atsn-!-kaLIZ?Lq@`#qLu_6N%hnv{DHduF4{JC2k(Y+1!61 z7nCP|&WLCIV%kW&Wz@$azeY+5+&Fu5Sznt17R^uO6^id3E4+KmymOGP`}tt7B((2t zA++ec`+vYWq5m17hwyz{=2+tQBwwf^l}SlT6VWCO=^`H!$^V&-J%!%9TUbnmv0*;} z<)g+A@X8W?^Z(52XB0t+qF-TOfHPzfQ9AaD41rWL+#<;L-+mk4q&D8H5XF z0y$DdsAY;|VxHkh5u|Z^+SOqI(%FuG62~!yC`ThoX2_=|_1VJ)KAx_<;Q<=(WHv;z zhmu#KxjUP*XK$u^JH4yu=}y;#|8X@j2_+C&~R%0S5^$oX=Z2D=neOg8t4VW#Xy-<>%UTQ)i|V zAihvmzzdkDrVe7lEfhGihEk(FsDK9r&pfDr)er% zJEOJB$2dGDC_;16uj17cEt)s!NgosVT8bsPH!|-#w+df*7T=tD4n7I87RDQ{-2%kz zz|W!fE}m)c7KU-PA7;3LrL$47X&FXwKvn#adNgu|#mej0x zzQ%Am3xM?UpoHo9Y0zU-6$%GMOb;r|#0&?ORyner=AcChR~V-s7Z@cgoSh>1s<6y( z2T9zvAi^$ZM)Fc5d3i;l*%QIiF#`POKl_2dMma2QkdF!l2Kp-%zw%J00&$SZoZ{ht zoQ^0cknZI#NjiUy8~p|~`eCKr0#lY1S#MwL!a7LcQW;gghU_;a&;-W{A`l>zfKzuz zaWHGERg!Ugwkxf@<&R)xF~KNqM$@@7d}hGQ&r&L))tgFcWVbgyhp)jDj0V zTw^;5ZoqQalPy)b?A=q+98ZGSfiW@=sgA&@7RD6aGTE+y&{V;&7ZEDvJt}P|(u9W? zAS1esLVrZJjJ2S7TbWQs{U!!o1wbPpZzS38izbb7_PnC*&F7A|yLo9As zw*ed0ZNP@P4cMUDfSu+8nAz&?LJJYLfSITYr2&t3P6*+0d%xCfR26p7<9ZJ2A${ux(Gvc0FXMBw00ZvW<@vW zfbMy(>BO_0DoThI4E*C_UG$J$eJ`DipU||7h$5V-Ye*E)iKYg$5e<}hKN=3(OcX;T zif|Cl?*ES^qIlnb%!y(&)2VBsNLRX}Ox>-=T4!>luWDDUY1ElgLWdX3P46fhzmOfh z`+T9A;%e#w&iX=jyzn}N({Zgsvvpz;zW@#om5KQMhKScNd}?_*Pu*`W`1Z6*Vwk6< zaun)}(kk9Q2jJX>HpG1pa!mHul4gBwHYhi1 z1GGw3>C{DwW8OuiyC7&fX-$UH1I;=LyG?n3-`d{%FxVvaOt!EDFp@Zanr|Ib(hNS+WbUu#x$=@f5UlO&7M zFU9;IZwfEl`uY4CvY*}mfWBP31LfHZvit6r044v*#O5byF7y6f$Cn6ZsedziTmYoW zU%=12ADyLvdZb3|c(tQ^X7+WYTwWwy!9DiCRS(W6o1YH=ODP;9pga1HY{00p z|2cc?7j!fkSf9J&RYWdcGxwyE$6l7$gdAZMudXEbiPu#^1(p2fiZVA>*hSifs%XeE z_fnL;m!eNgnR}D?=43x`Q`?D2-A5*>ho5`|x+dY779O_WFaHWf-Fx@1$o6aEyZ2+E zO8(f3Z{qQ@V`jGYB<%~n%S=9QF##ba2WvDO55W8Pd#=~p1C?rb{HEu4z;co=cbR`aSTg3UQ^9!V=4O|McLd4Ig{%Sx>${Q8 z`4a1!?0*j0XgspjvL|JCqaXWV$wI`rgj{yKR9xw?4{D>(4oBS1x90GSJ_pNy2r1fV zMj*|xhkAufd_n=UKI0fVpbQWOb7k!Hsu-p;8IAFUmiQ`*r z0R12hL8&{_fBN9xf8-q>`0#(a4j+E;Cm($8hu^pUhp&qNjoE_gWR8Al_|vh~0STX` z+Y%n95h!e^`#uC4>a!lXeYPF3d~hy-!cYfQ$_P`MC37B2!Y{-qH}SWn5^l5JHU5nO2t{Vj?ptSo=xF~XfOsW8Zq;^;#S4ZCX#d@S2^1LAN8{TM^ihCSSrV|LrJsXuhP{-BlFOX>gqw$YS`vU zf~RGk)Zr#>I6`J>m>c|c)D~Z^JkL&~9TT1t-?qXGOUlppAz0q~zq{aYvD^nqywX6f|@nUtk| z@(@b*O8LXs8e{g##f`os2&^8Kb zzwS{RN045^EJ^N<|E#SNR>`tWSHdWK1$W}Jhkk&kkXt4Z^ehGoc(Ny$@S&F+g>`c! zy(5L>x|=REAIVOnbcl#<#Z-@e7N*X>?Krc*(a#~vxGBNq zN69aH7swyiBaZ@H3{+o|69GmL4)7ES2nd`i=(s?L9i7Esm~G^EkV0pl?AYCze{P2F zw04}E(LpSj1ZfElpcl{y8IMjVFe#4k;Wa3oy+=Mp$@@J$(Q`N@43O}k_v+$+p%`@% zxY22tUh3bD-ZY51?k(p!&>JICfDwtD>+n^1{l2wBo83|{gfyeW;i<+2|`|GkMxL>WcM zb!#Ra3L-OZsS`! ziWUIvF}NgVC1MTgfIyuSFucOffDQ=I`BL3T5&B`^VGd&_+vC?jMfCJA`eAsX6H>S| zWMXwqRPVw~fVv8309I=ENtuau@<4J;?RFHorgDA-@?_6fEXeLjo!6e@SRpu|3$P+Y zAleu;AK(l#M=Zt#yl@V|*43e8eZ-J0c89L+(6u_$^Rl`X05JqR0Sy9y?ib)iN4g?P z=HRlCGqjM?DI#Zho^ON$a>`wC#aQVwj`D?+n3|;!P}DtpHhK(_P#O!fR zF-NExe+1Bfw+x?-)v0$Id3RzVJCSC~ILBvBU}N{~>VeInfn|+%-PlM!-oZVvtUvtl1Bb;=`IetlJMC!-sWw*svcS!-oxd*t8!W$A?XM z*s>p@#D{Hp*s&j;!iODscp4veDsi*~j9@nK0Gmh5Wp$A@KkShlM@gbyq7uwqwx7#~*UVb!koC_b#o z!~WB9Nx59@Zd$M9i89yaW1kK@CpJZ#$4p1_AKdDyb6J&6z7@~~}J+p*seky6aa z10hi$o{6v=p(>cj7!wK12}Gg`(L5HRK@zYZ1S5PUbYamhSFpY4MdmauI@}4-ii+1 zDDxp%$q5cA>^-8FbUK6KFs(GPQnB96!li&-k{4&OZ@itTd$qndUz5m&bXVQl(5GLA z^h#}3iNm{2B4FsWX0x%`4nZhnFatc1*r$d#tC?FSJ0Vif2w>FWC7>^A48d5#w60;= z&`Ve4CaSZYCVp4dOIMpoJ?C<}BVRl%=EO*H!e}&zCONtxGoz-Axl~;?gzK zMp}m!yO)ke{Hq>;368Msfiyzix5$s^Q4vvk;R7f=)~A~bly;GL4oXH5p2CvU?Vxyi zYlA%^Zenv)ssOG8?~i!NnnxM4Sd-wOI8CV|L3VL1*~OArJd&|GZkNOYXrqM;R|^?# zNys4KDv;Bn(g|&}%9Xs?t&N4|9()S)en5Wg%woJ=nW#u(itb7xZg{gO7W*0vQ|G3J z(p){I+;&d#D;`CU=hKVQX9V!AbwakE135LDJLlE@t76}ng*ljWl z5kitD5Ht^f_N6a8L%+q#g)}}BsNV1n`b&txp(I4zPY^SXJ0#L*yf$Ql1(uGMPZ-Th zA`1Buhkd1Qpj3@&7Yy{tIgn*p1@qmFo1VQhO;8`0XS@k3- zId%x0zyVEfOvM=%^YQW`I9-c?W^*lJe;9)`8pJ8CuT@V2*lyj3>bW3~x7JyKftF>u z@+*W;K%fi=lz@OotwEp;1c4|lx<fGM`-|QvmRY`F zm7w{YO!xt<1Eu%4vEk_995t#Aa)PAfozv&=lw)7dFFaFHY=cem1B}BkH_)*6zxe2(wAV^kc^`^lf4+#er~Sz zb1{6^zwIbi`zfRL^D)w_Z>EMcJ5P_6>w753NGCWa@gUI?A^ByB8I0N;mo_$SSo#F- zKb~iUm?ycKVJR-OeGNrA5S zEgA8MD)gcx)E2UI{L(QuV$n26^M`_GPS8KMl7wA}-y69hAXM_OM=TQs5t3*QAoq0B zNcAN5ZWpeI%1zRLAn*^4ONL7Iyt5?!<|#;35gZo;xXx1)`sL+7RF$vFr6ckgUAu|E}>Am4_| zE%h7xiy*D?Z`k^n>K13^208*pswDS%G5zMi!qkYgDY2&zuy*sQl0eCFu>(r~MZ+t9 z$@f3dK$6w8u&9!!f`2xd!x%txE1Z&Q!5_L<-ym~|7Oy;_&lEk#%hb&}3YI6%M%wF--udWy zbbwDpKtc}1C-FJDt}DyzvTK=-3rx{+PjXZ#?X8C~X9>U@Lzf)(ob2J>(LPl^J8mW4 zlAVRddeReAvNc?a7xMLvC-C>&Z|fCXgkRZMwt@wV91UUr4!3^0)M2)b-(I1tZ;wJ_ zN3ys6jx;u99KcM9>a+qcOP7NgxnMm zNl}t;iVe$y4P{%8oy1a9;oUB>XGSAR{+d>FxJ}^z5+XV`(xq9x>6&R$E3x0mo-SeD z#0LtQCDe9fGR~jkNZGb`;rMB9O8Xs7%_KibJ=VF$3J{%ab(ehl;8={m|ozuy>tanrsoqk$pc+ zI9ouJTVE5DgEF1-0mFI)x*t?&ZGZt3Fv(jnxrLqTSiw1nd$Lma8k&{ zl6@_|UdBV}jzAIUdthjGoMHbHkf|uH9Ho0O&C}9&oSuQgElA2_#d$$oxmX4g@JBhM zd>#XZ1wKzm3C9TwBx=K^&uOlW*BESMbsnS;aYN116L?*LzM8(H+zRXstgAl&ItD{x zeQ_h?gybN70$HqjXAh?KFl`SgemkJ{Qa^7N5$mQ&_GAM%;Snv6036xHbA0Ud#3?ty zyzagU5kr^pJr0ZS37PfSa|hoOrR7oHB=)|o-z2y2`E}VU-r3|QJZYKS`b^{*;Sm<~ zwwuktNSU>0$&fZT>~AXa`A*nZzDP3Z;4n=1fw8cUDdV`Whd( z$a5YKq#&F{HF=k(0bq#}bd?{6DdvBrxsA%iY1?NSnk}ts+Aj2EWnI&kw<4(iNw)Eu zQc#sZoKE~36_%5Lmixs(;l}IT!!%hjU#nnR>4QY<3N7+UdyqZ+sEGnXjOHPDzRqz@ z)ARfD2Y>oLyhTJoe0`SRe3PBW&ragKa{7r*snDb_}LdIQH@VB1ZFz$Dby3X zrTY}Uf_-Rxlc>j+_4n{soh~KdE`$aDwU6RCHcRLXfBDhIDW5-XV?annPpZEN0uZy!^;2{mPz4}y~{S-e9!qc^J_9l9&KR?dC`Wy7?d2#jx z{Hk9QXCMC!Qxl$kho3Mtc_+?3%uh{tf`jyX`Dp~6(l~o3Kh@#sM4Y{apMbyBkH^{H zKWu6qi?dJVPe-9YermzfWSl+vu<7AQoP7YE>f_KFmp&g#;ptC)ou1CX(-?rBpC;gG zG|qmWpT^*61ZMr~W=z9z_T&6ig{Pr7o9Cw*JPpR#Q@=)V7>Kh^{F-SYf${vBX&vO^ zU;Q;Rx+XyQ*9>eLarO>=8iuEOoc$O-Rp2R(voC#wo+ja`29W-UX{8FY`G{GkN}T-$ zKaI9AXnD5s5d*0(&VKeI2Brb5VP4aRQ}LR42k7{PH8U~=n-`v9cpO3xOy6W~q8ueh zS#ddz?izIH@tG0(*<)+6O=Npi%%(VFZwgWc3hyoY?sJZ(!aGhi1ftl0OQ%!cNE5XG zDc4TKg+0u`%OTHu) zK`7IqHy?kbaMCl@sf^PZ$(B@2k1p?IyT47htls*lk)io8B7ursa~O&6FhcOKQpfZ- zmk?18Slm<;scTW!A z^v^-<`(5MAZLSh2)&S@9oD3*U<+vVsNzxGkfkJX4+gF?pNr;>ShSdqmN;KtWPd@U< z|DU^W0h6mN(>%Ajbf2zt1%fo`U{05T5J}RVd(xvUr!fgl13`%3bvxD7r@O1GyQ)){ zPNFdhk_Y21tE{5SxQaaLh~vNtE(*KrjETcI5kYZexTvF`L7jaVjUzbBtRwrq-}nEg zPE~g&gv5R3S+rBu z81wC}P%g|4^~{s2yPD1Ft|qIy+E=BZXKXj>GTK^~F(#Z!Q#eF%a4MZ1Ke87h3FSxz?2px8m^fKO{0NBQww!*J#;X|BB7Z#;JlcCLP;mByS@aqyGzb@>j z`1+VJdj0bOMV2J#g$r-TP!c?3XJR0pW6C1ni?+Yp-^-FSEoNo-~L1W${?f{aasAy)dw#WJI96BH=8Al4j#`R#bXA4;sqqm zpMB$Um|_oxkU~M2xROK-bjNFuibOuHl-6mjBm!x$l*57vB~8kz&SK-C=^Lceo5l$3wq>rrzoYBD(~JNS zdQ}kn8n>N^@2Y6?7Rqj`Jb1=V_bdd$J`bO#p$WZsODBD048Y&Llf5JnO6glW>3jIW zln+YGXKr;}mCfF{*V12Vp@T!t=4e*5s_C zxCAdM2KJ@n%E~v%UewYzTEg&5G6tiP90xkh!7+uYf3s7M>u{0PlR@l8dRPlt!B!UQ z(@-6uxzPb}0dBdP*%}6NSMfoxQLkp{!W)=qWJ;frKqC^p*%F|}Hj9m&DdGkXCWfLq zV@dRBj@iP33g`r~KfMkZXK}cCrUk|s^T*N`OPmY`OiRcp7C{@qx=PgnuCvtPVF0L$ zRVDoUX^D0l#vifA3Txc|%F()$WfYQ1U4dU3GAsqZivT}?Ta3>^gb~%?Q|%9gt?Lnl zt!G3ZKJ34x`+w5j3m_N*r#6C_{Z_uvZAR6!mpUE)Q;Y9h4vVTd+ z<7qtUPJO~9Vh@J~1{;PCDoY}~hM}YFDAE!(G&%z*dEjVcOiT&s@(|v}qtaq)TsT30vOdco-O0+C9NzVa$CCStzn8o9Rf_G z$Z-^r=Pq!?6I+O`CK@@R{b8eSJ*2W{m-Rr@Z4nn01La)_{1n{Bu*AsNTf~r<)2xb2 zL-Q}a9Ls?DQ?PcA=#HE}i{$)~lcZx@ z5#XnHS{;5hr_~M!OWyzRkw{Sch`82asU!H*|NEN=J)QopsHQ)J)P*{AM?J-Z)%p&2 z#rMoQFuI^W=$u5zbMRYQ$Rj}0LZ0`>%+@GS{3S~D+xG2VgT^I(B3WgHLFGYzN9ign z<&HWtKgs+GQLAQmxlX3VQ*3|cNVW`g3e%D!;aGI4nXCy!^hsPRn+Ve4u}5Z)v5O^Y zVX<)x;VJxuL9GhWda65AVxJr)E5D1lthqbd{3xcoW3Xg~ipJnelDlL!_r{#j8=H4H zV@H^O!|x~%Uf$<@K;$w`LG)C3q^&rweM9eCCecOZQaMtDb1JWOJmZ4u|1c||yAm^& zPA9~rV?DA$7c0_;l1+lOiTpNcC#*On>Ng8D>qD~gk%&r(~|=r zTdYUdC7ie}4)s^S@x-vk?6mZ2fF(Vtq%OdWz|IskFW(eYlCY*-A+wjMcGgXPS`2W) zLy8@UMZN9GT8?KTRfuOJh)UrBQt&QxpcF6@BmfA-tj+hbGGMgcH&+(n`i=s)-{ zO4a?~QFtoo z^ocH^A6ko%y5Xu-UnlgisNt=D>=7P!!v_}qAZ5}vW%Mmld4p-XyzP@RLTA5k!FWdX0_r)CwYy&Y=yqCncGw9Am%H z>#ZK~9}NQMCw5A_Nvpog3tPDdmTn^lkz)RnkMii~d96Zy`SgIUEKPL+67(2TVeY$T z-iU2-%qRIO(DxwiE;@1i-#x7ETmK{M_s(V#Q0Q%2ML%NSUvdM^SIP;p{c&Y|O?mD- zZqTW*1O~d?Vq98`;|^UQZZimI{6v-s z@jhpR^-g?!1eLs%p3vtvutV34)YCEM?|_VT>a3PH`2J3v)e>iU1tv$TcBGZZ>G7kg z#W{MSo4<3e=9S0w_0}~mKO&m?<@^LVibHnMpo;rX83;uHklqkF=oHaL)5+K|&WZq0 z#*qq!D;MBs38z36)#e#Qm zuVJ;*J0G5#6wd7^yADt~9AYXdAwy^@wKC7=r#7}q8xUGCV(=UxCY)w{WsVT+w}QrW zX38laUHNfFuN2l*oONr3vP&6wGk}Y7Iu8f1tqMaXKzgr z4aC8z!hzBm-sXsvX~qCm^R@j~rl7mpkPpr;!>=({TePwtFpC2Xvl?q!DXD<-M%(y) z0&4o0k~;B}#F!cGb8L2nayn^13w zSfq#D$`KTp;jBX;ewwz4_}BmZch%j-&XpbUk>qfQXxN+M-i@iTn31uVTi5}1eJofH zmiSHXLiAf#2p?sT3?|r5lfr4mF(}*3mhA@ql?1los314OI>gm!Jm~%miW66&5c&x&ml458U%qXmGYX_Y$3aXz-b8 z%W3mNdi;nSH+%%EXXv2PLE|5M3cbUjLhrBSQ|73_XK9QN8XUv=5W0q+aCcpfFjX=C zSfuXecGTlT`T~gIa7T-WPuk*+utjOREo?iX7A zz0h1OUPX(+t%>sn{jte2PT3Iqj8|DqJ`v5#8jVB&CQy;$=@3SgV2|TC?IdEFrRoxv z7wT%`y7*jW=LB0J%#`wQvl3wnNfl)pgm5LKeQKMdlgBwk6rn}(oW?WJ?sz^x2Nf`+ zn6Ophp$&etm#Zm{$?QKLSrpBS@?X@VjL8zY?dg*(k+E=z>bWIOy{;0{eR zvR<^;Np=FR&~MKC6J(Ch%*+N^?V=3WAto%Q-wp{V$R__sj7Kx-x=<>57H=3yREW5n zF<8S>Ts0W(UKV3R`;$8#V|tK}U^OCB)n#PNdMBCW_?4i+=8R588g8UVGSDv77ml&j z{f1@PA$?*C5YdaIMoVHGr7^-hGcr!t3)q>5w90QltHeO7z-uF2LJg$ELiS){2^ueK z-dIWu_55GUFd9m1W*(br-4-guj#42u5Z4Yt^=w6jIG{opqfN7aB}Y*qwA@(~1q~ce zN-`Cqarz#1q%EQ&O=v7+p^v6C?2yuMp#>~qf5eE7$&8P2Tv-6FOSF~6KfsK6WK=@j zz^*V_HiwRu1f)2$ID)kQf=r&(1Vpu1d46Aze}B_` zKY9%^nzQChdKl`y_uj=v5O-}m3yK`^*}*yvb?C)I=wS>Q`K8hX)?-GI@a0*Why!Z2 zPf#nKxVyGbkSosBQ(Bw!dZOSqePG9>=m0g)&w`?uHot>I-f>>MXk4;P5X!2%fez2o z5n4xZ#mTKn)|o9zc=-&11dA-rQR=`{SQ>S>0cY-7*aHOWVE4u}nFxZZ$Q#e(8Ga7BQ=& zePz<3@!rmYP(lNYKBMn9UwZ1u9e4csBOl%0XQV&wu;79}{LQmp`2IiK_09MH*3cgw zGsdZc*@|3R;14s45GJ#X-MwF=em9P@O)ZoFyuF0(Iot2q3;md7_N9C2b&QfsYCRQxdiK6c4uKZ$vu>tlFFACOXQyw)&D8I+4;}3L^H0C;Gavjj=YWd>G~j3M zec)3MeBwo;Z$EcxnVt5Gz0}5Y2A1V5=6L#f4p!nh2d@Eb>i;ugX+1dYZZZ7@1t>E^ zs3dTt8dsoMYKV4-ZVCplv$aGcXl}_1OKs=IeimuWRE>F##B2^kesT+Qs7KzSo? z#*%u+{iQ@zr+>v80sL0?zs8yN_Ds4{E@o8M(|&<>X3Wm6R^IKQzwm^=f&&{vn4Gj& zdugY##%A1sH$a?7FOak?f?9`S$rc?FC?ppVf3s!0D+$Sg8Oq;9`fhlw9CPuvHp^Q> z+AtY~_2qTE4Ll8l=p#2$QP1Dl^gxN46kxn{ZEP|}c+eKZLlAHSMdDuqa zFd}ufFkYv61g>U8@QGd!)z;rt#~*=v_b`)yKtZ7A3)qYH!Keex(i#vNbR4H@h6EV= zFY!q)pt2OG>=~enODEJwl1-pW3Kx9_sI0mKcoyi0t0_VGI>hio1vHNXy2^zQ0k1kx z#k*yR)~(i?Xw^ZaBw$Fe#uyk>T2#!mKl-{!7r8{sx*bG9lM3e2DVXi^^UMu4jtVQjRJ!P zeUFY)7~l+nfzW8QI1n&8OnE!~*tB~grS9S3ru&RJv^qKuGHjIKf_*kdz6uqod{5b% zdyN)>lH)F$QMdn3kItkusQSB-R@;7apH@xi$hdw+lZ=@*D8{Fl2vSaOgv&-JQmbcV z=0VxZzLf7x99mi*$`Z{liz!z}RJh_^>lUSL)T*?xm_H_A9^nq&0-LNwN>LR*=6DN^ z*TO6>N67uKmYCNn;>Wn+lEoyjVWNw9g^m=W%7jOTYTEcsoN^|Z??#n5!HI`}zgo5LQ%&CG}=)yzr% zo<;di`ehpu2pB_*`qs3csK{hKW*qEl_igB3(dcd0|3?U6=??p)62>~X-fb^AkYYEI z;x9sl$YupEQMcEsU97Z~lw3*4mE4*VlV2}6uDRiK&`2@5;p~FfCW{92r_% z{G!3u=}n&xYajs+BC;L+i`(zYw7}!xqMg%F1F#_c_gFEn1-=y8`^@)p9ql*KGb)+7 zNmt^qWh<=@9KOu@aD+*^keM3HBVEW$Qb(Aig#3-OWqiF~s=xoLH18Vwn^rBktn!>v z7d%W(lOB=6al#{sTAc?m_*U)hnt9hr{}+#Gj;0+^?3;7O8|TuD%q6V=?0Yoc?urJ8 zu*dzEbQ3=nkDb0-B^+fjjb<^BD_gB{Mx8v?n}B1<=Oo4jWzNK88^<93v6SYa;%CEU zBKrvi4#NXeU(}WPS{?@CUpoGMG4_4+T5-bpf^Og(U}++95=2b=ruvKdZf)obf!v^T zLdmV_@6UmUX>(i@^kR@Pn$#NqGXPab4*O|HL>!#ZTR7yZ=|BH7s({W2HsTv#JlN#e zs#_%}s4#kWvWD7X|Ak{ZP$_lJzwNnt>b{tNP$xfEx3Z3E!|4!Pcu2BeI{#arYb*F) z{=vol^nAw)Zo&VF+h3;VXP>0!Pj%q+r$0%L^ZLtp{d)}FzvFo87E1i+(bj^W;p|`j zB|TEfGV3fIziDGX&HusgA2Ar|O-^f>B+rKhZ)Fy!A2Y+&f^nvVwEMj{fPlj(MgV<+ z>e!l6IEW2PXWRd@g~%=ze`80tHv3y;KSB(578GiXn_3pJF&+Mn+f*@xk_Iyn5YOa? z=&vtIqo&A`p;pVCvk=d=qn3fi3G?#&dwzU`&Rgy~*ckv!lBFsp-$bk-&#n|N7bm3^ zUJ@v^RjHif`E&vF&p&Pi5G-fDXbz+h-xS|Y4M4WrRB;1nkUHZG6L$E(3bg(W5o!A zq0y;ms~vPdFRf!r=}e3<7~IixA}~R|uX%@wK^0xqi<5I*)!}_@==<8B`nfcx&gu<2@amku2=Vzb0k$%VdhINRLjaq0W z8tz!bF)f>JlSFtMC2$iNzQii3zt?wf0{5R}Sa;S5)A3dNpizDl_aJ9y#};yufL z6-v#vC^g^uy;osg@~OB*$M`-LK&Qm=GrH(oWe-?>YgG>3psdM}=ogbvXxLb)2#^BW z#H_l(4(s@UOS(dYd0j06)vnfA97DzY|Mj?BfWAd*knlLAzz)Z){i%4L(bdwHa`6+s z-j-sgX($An2%>Wf$~l9dBK&}+x+%L`&mL*`IF_|(7=~C%ea#%8jnF>ME8ZF?Lwp0c z5!A}5l=!qeZph~z>VilECCmOR=#VbU#@4z_J$&As2#<1fvvGP=eQC1>;>SyBmC z^-zx?Ib#fpgWvcvp$ty=qZlCYDxtfI_P1IJhoghC>g$8bpjGBSdColtz1D+ut2V(R z#rRoSEox6~-!~g$lZ$kW4V%T)ki_|3pab!WY7NKqZVUDKj4+sYQfv0r!vL$uy@wuG zs?W-4!9`x^f;e^g)E$=KR( zFJX(PNH&_HQ*bVPw18_CkI$eHbhq&~0ppy=x7mmWsODA?E!q8w7!(5kEZAxs2PFN%!=^$@pi#D>! zzRIzY-RMS+N0$A$qL8JRed;xoxYY#V@EW|2Z18h{;$!*HPH-U6V-YcI7^EMu&d9cP zB&&V$tnBfgU1+tPs{jd>)_Vt1Ev&|uY6Z0TeJj1+JCJhaJ&p=xz}yUOry$#-O|-XA zK}&sSx5xo;7Dnzi91w1JK(xpK(Gr0a=dV|jnoo(t45|4p+t$f(ly*-ANB|Ly{46!X z78!Y~jL^j#oM6(!GcqNmU0Hx_ZD$MK_xuwI(Sur1B!zFki=-S$ea}{^kiToldCQa0 zoSX`CM!(tq-3>YKZpe9eL(WH@jP|Ua0^HcZxzpht8Z8%B$2cQ()g* z%pOY(HZw7|sxTwW=GZK@DZ)pg8%VKYN%Nz0Ccxq+d=b2}A2(iY&9!F#Ek{FBM8|2YyNaLo#taWN&Zp^c5dO zSHV6EsO`iCC9sDIj-iyoIcmFax@O9!s7UkjR*u0aM&1avhyG2o6+x)+k zD){>|@?DmdgJlJM^ZKIV=||F+7rwQ&Qn#Db$Wb|#AHGu15ed|Pa#Ij(97%S!MIaV_86j&f>N zZ-+f^Hug-ghME1jjD6;WRfDt^9(pDwf#ytQ2(J+v__Ad=6nwfu{l|8TW_%x(m*P&s zQLTQA?*pPlpS(kOh6SLB=azj?&+~5Hn`vcS2V&;y?*RtB5BU7Py;O+uz*on1IDV$% z);n}?@7@h|(sdtu*4zLw&tb#em918T$*HPWEqU4DVQ*KyI_8z8gYw8kX;=4HX)@@} zRw~(%$x`>qT(&$~>MjSP`AW6Cr@K!G?AeURedef%ip-n+<I5?f1$WvEK<>5-Tp1@2E zm$SRV7v&(ApUMZtYOSbC>)-2XNZWWsSC?*}a@Pmdl0QVf&C`pw1(hpHqkgqo&JR(S z3c((#vKEY%rgzb}D$=Q3jYd5=MDVz*l&AWOrAYwi&9$JsN5Nt!JCQBsg2{ZbIy6zr z6(#|n(Qt_2P^p3NIfTn*T8Mkbg8b-MwVIy{XyN9I1VBJODAT{y!4Vo(<+|$d=5o1I z#t?alQfoEJBkOmJo@&KxtvXgJ=iePr>2jW+^X_0UD3>dxS~(X?WvMnKtF#h>YOzEW z(-aQV7>DykhUH+bIf{DkYzc$!e3o6xK&-k*PHWt#F z!|Qxd_9}ZSw86Xp9j4F5Q}q2cr?MxCL3LNDTv)Ms?U2 z$WV4ucdk^K#3V)c#xU=TVE0t1EZg09iP|kvyO+=(`lr)_P3db@nvR$n9R-+ZIS*EQ zw2mfe5-P^+PTJ_CJZI5glKvb+_8Gx7J6WmZM~m5Njk>;PDxkGr+7%2BR!fDTSeXjS zllkgkF*_OXBju$n$a%18#`4(0drG?q&~_|sv{0SjvC>9@e%oU5dp7;zOqr?;VG&)! zHG0FPpi*2~_2?v+*n_i-+w+!ts(ndUXafEnm47Xje;56prN&?|chWEx(BC=qhxt(z zdjwgp986R3VQ*-Um(As{**)WS)t^t%ZwLKem7N$Vl_x0|^^7`(xjw4e*pkgpa34H6 zQ}ZKxybwecj|zF!vA`S6Pg92lKqz~R%C2sxH!OtDh8ItBU$+Fbxhv9JIy9~c!FnBK z4~FG~>h)l;HaSFFCZKtoELE^(3F?yNGTMzaxmTCGJk~4Cy3eQTb#l&n*{VkeV;;wc z_aSQg0&06ADAv}jZpxR-(U$jU0ehtpZwT9}qR-=x)8BdYHxj~QBtJ3X?HVgh1l~|> zWF#mXFT`bSor^hFYpX+*!@BHL=|%K+e$yJnye@7k3s`m0Uxxm&-kb83sfp|!FF!dY zi#f{!qP1Ep6STZ+QFf|VE7Il(a&&r5?CCDkxtHtCZ5$rSjRZYw*Jn4Z-`KNm-P)m% zwZYK(RjY@x!yDK31RK_`S(RHm)IE_ODrf0}#@fsAMx@O|M+NW0&m_{u0QKccTHN#K zx3+$5rI?>u-7{DYX#ALvLG-S-mu`vPUb(CMVr5rQ)*GEJy5Zj5oj7-Td;8?T)wkKn z>*A{n2g{(kYzNh%>y<5E>FsS;Iv7N6?{q-_Tp#4#(AWue>IYQl^4es!=u`TV6ZHXC zF?uk27P@DuL2s|G4}>|g(Ipqqb}9GvUaOw!Lz}$>-3xTiXe~j0$&)ulJ-w- z&vs;>GAHUgpY+s5BM5NH(eO7Hr*l*tI#;PpRM9p3Ho+@T!>6kbofTN{^ z0Yrue&q8uN1lOhsTE46C8K#2K7Snb_d5DpLVp*ib4kCyuqnN?DLt<#eG%}3S9$0F zEPUqBS>HWb8pfg1(I#ikqZaUS|G*y;=Kojm27-Y{dNO(wG?b2t6XW73pQw zt4!o`0n;kwa(0iLvS5t+=b4ow{h*4v$V(j$QPYPhBsSHm(3RL4WgA8-}_$bbs+5-<^cijpPFw`Hmg8QMq<{ z{~7v49)%Hlbn}f8q?UX7mY{3qewFtx>DQ&-;o20nPs>HuM(>`XZ}TJd)ry58p*sWt zLMREX*s-IbO2e5a`Ol$W+-L-@ZH4OybG*7#44PKWin*}LS4=Sqo=e2ys?{sk2nLBA z1Q7PCfxl(@mW|ZTcIwaD=y$D}GeY-+QNnih(xE$@uo;^DTy27`Sc0fr?}Ws>JBXC; zR`a3Z`WC8a)#{Dj(xu)CjK8g2#(zHjI;TB8p@?aN&=A+HT*djBO5ruKmfCnbwed6h zOBwa_&sAFYQJ~c8-AmuohX2^7u$yA13Hdw&di9FcD|=MO0Mc?XJ3)PWj9Pjp^#J%F zaN_I)5jC}-HZjqN|E#3Hs|mOE@)h2-gv0^03>Op-Ny6hUTC-wJ4`y=3MnY+cyj-?D zpDQq}GC5S5h?H(F`3`@@+u!w`HOp7`y!TB+Xiic`=8|? zf@)wh3*LX?av|L_OOwX)^9BFEEL+4-no6wnaMkBQK**?=jtFRlVH1LW@;rJ`nPSq} zi!>lP>5e%oZEV6?I!jKL$+NK2{0IMpR`Y*0u>duoX#q0er3*kNnA~Crm!%gT$Zf)= zaokb=4dcPH(Z>e6HcY^f~I8 zd7j~a{w_Q$H2kOVaHGYY1H-}7H`*?~w`fb11KO*+&J+c-w4!Ir%MQ_D#ow^lh)$+; zq*miqsBENGTGlm zoT#4yo3jl6&=&|2Z#$!P6OoxbCv9wF(%!%I&j9ll!#~Uq9fp4#4?i%sm-8~%;eg3Q zTF#IM}(TU){l836Blu?FP4~CPg zm4UVGSz2ir@QI4;Db>n)anvfga+MIJ|3+i{u61oNOce7eEr<{-Whpx=RMwoEW^^%6 zUq(jqIk4>%bi$Iox=U|dt~cB88>!3=Dhsso=5qzvcw4DPI2p}lc@Gw1z2(Ug-ZJ-t zI!OK4HJ0VGGdoRGI6AMdi724vtPbPkDy1?h2Ug2iwt|Z2d<_9i+d3#u2P=O=eFXV^ zPDh%NJd+@MAC{42`1kUIWBAYTgH22AOL!nO^)MdJlPfeR4+8V9RVp>+FBnFGR{ejc z44WFD7aowk^+y8Nq4T5%8d?T32>j!yz?^6JcixW&L|5mBcIx1l>ETb!zFN6>N)tc( zTnxjjkf**vJ%01)Rs`PCTRYQ6pMnxy2~Rx$ zm@FW8KZu8O=#t=v*BJgU_#tlixBm}%*g13X^+DghD9xCn9x-pl>TaSq2t^>k24$MC zJ#_jM_&}PZUeTf>N^hmN9oLSc&%s9_>>DcpydeL<|49vhU;)>Lu@O}cTRA*Hp(d^tURKepXSyI{h5| zVasdWPrtv2;MvERtmgEnyPvLp&E2V}UH~!1@iNA|SjOu-nT6|^t#(S+BdXQ_7X8W>Y~)us7#J4tD*q*-_|w5~qviKJtRDQhB}pN&i}<(Sn+NaP)cOz2FJwTyuP*bS`MdP|Q^q9sv|Sw~k?Lp?xhW2pf2V z3w1NB=oUql4C<9RRi@@EpiA^EJ;(yC%2aKL$oRqN{*|+TP@^o8k_%ELcuUJ84q*AF z@@v=(WvjWd!NwFsT~a{ZdTKKOfvX0C5ik*M98GE*Z!p|Z!$I>K-P9lsJ+#CRjopa6 zs^_2%Mcy|hF;rSwgX$D32a|+S=@fdY9&>d4j8boSDgsPg!y$+&nnADXn)w>^oFeB8 zWUakEBQ(niZY^ z1ut#h>(b0uyWn-w?i7KBW?9D0SB~0bin^l%D=)VK?T2z{YEQT&qQV1#G9xL2`Qk`P zp5%BZf?Otts;RFMwbN(W{NNIX;5T+Gk#UYMk@5WOe1XIC66t@lB=4pr0{4$Bk#WCx zzP$h35`l|U%+%%-okjQ?1l#Cj^+dSWk&PjY-Rf?+fXgfo=WRHsFgV$pI)%lmpLwCH zXU*BZj==~4R;?Udrk1e0yb@Cbjs$j`{-xbgRYyam2qwzJAfX+`-(4Uu`{o5Q=SMD( zHG3U%ot0GMs>&#~nK}YOfviRim{+^1E|%@QFwK&#?Yr~C`VIx5QDGL>ASCMYBog-R zyXAbuC;@S7QsJzJXE@rMO-Le5Z>$T1jsJL|+<6U!bPJMwZ6v#K_(CBE8}du*l6!qU z_i@VmI)#p&TwBF|?AwG9e!1ljr&n_VE-7T9ONF!fVa4aKVdrM;wIP2{xSWv zM(X+s{jF(Ady(`52CGvwq%Vl1|4GSAb^3Se7LBGCMbiIDf9splU6J(Jrtli0>6S=( zK~vgo%I`LPPbo}5r`wvow>PEdtF&g3YVC>uX~Ju2bbmta2{aC721L!;Woed3^iPJY zM!H_IP-7{NEt6fS>wmrCTIuv3srI@uuUm4#g-b75_WFyLujpB|dd=E(>o;uNbgAEW z*_$?R*?M{Z6$4jZb@erGzV^E9Z@K=hZ+rVYc4UWg!@*d7yf862wX@uqZ=1?^1Lfp= zBcqbDSfad@YHfPg?mh3WH*@jwmEEUT!^-aZ^Q)=p^jcprc$(wyKKA;w@mcyCroSch zcZ}xkv&+)WC&QWE?>ID9i2Q{==A#A)>opHw<@CLuv(oEYyXXCIo!0oQOjXn1b@fLvVs0Ko(U-@i}zd?|XHup(wxUs{c$%`Q{1j0LtJe4YU+S&|zNsqfzbxGsQe?NvLlIhN zvnNdp1q!s#f^DT#mI7(oyfmR{QnEm+0tG=4M9>*WR2=;|Zm8qve9SkDpva84{t)zs zIxZu~pdT(D;(Y430R8T{=icPy(Sj)GnBT7?=iTMq_1t^T`JV$_VkX%VdzQRsHrW1{ z^@rOksgjajlh|FX2K4?@@ruSwCNU(%Sr}rAWn)(Iqx%(>n%m7bd#edBs77{R!rfo$ zh~S)U*6W1%8#|5brkS2P3q({hf*=RmdbeX^ve;oSQ%)hh{{MT|Jm5H$128gtZWaIa#{8qjcvFy zOvcyB)(r)GAnMPc6Bdy7%w}tc({mJbgMyx?pcg1;r)(|qXD&saCI#(Q&=RB1&lup| zIc`MDX}+4OGLIc1-1R-x>COsXVw4&+RGcnnbOWh4_RjgD&kx{QzepM#1x~And)cEV zyovL&Eo#I;E6eih3#j`*+z&K&iWL4SGK3r{bA;4olGU}0)y3)6Y8*u^{isx0tx(qW zA?aq?IJW-A3uT+&!4@@t!nK$lzpEuobKoZ|`8{HUNE+<@LUW`;99Aj<(~Py-x!CBm zI!#Wthn<0-vz=^=U|YL@$VVtqT|a#~xt_I0BQYxMYe`HY7hg{I_yVaJU@5Wp_`*b% z^7$iqBS@GZ7SH z&|c6E5-H*c8L?r<)^@!7iLnwdK_Ml1Veh26bj~zXpsuXb>#Ev z%F68fZd~x%_@iByJatES`>0R4@gtP|>Lm}~F8s^N52U{x-kH8-`OIM6 znrzh@%O)Kr+YPcmpenfXiPDGmNN=`TBPqMn^VXj1PW+f2f2aHo@mEKdzjS0#zqJpS z_WxwnEr&PykL+pP|KPCKt}`xL{_NVvwl3=bT=JK9J(}A0l4lh!3O#k{h1dK>eW1g$ zLj3p=ec!q6zH8LEBkn(FocGN1-#6DCRo%KM&z~k-Fz@!+hAUEp%43^9vRX5Rk2@!S zn7l|3u8~GB{OBs7?4JJx$x-!l-6VI|@g}&6@kLIrR?ycoge#}lp(W(tQHn$PJ~u~R z@(s?#FD-Am;gLO`oqYGnO^aumb;sU+?QatikrFqUppYwa)Nq)BF4|n})T|g0y{^TQ z=n`RFQn`zYy)Lihasv(oln>O*3{S}d_5<)fgeEC?16X6Eb}$$QK=n==9ARh=kFOv$aga;hM6LkGmQo(VyMFXE%1)8p)ux`4yV~i!v38W;j(p*C9#cOG=LWJM z-U;)@Ag=9N`mVBj{tYMHnZclC`yk`3r=60YQxMM_o5(&ny;?zY_Q~mWOjzf130nqo zI!i{6QP5?SE<5%O8J*Rd@56q1NzQ)HwGceKG*Jj{`7mwa>c?8PhyE`xw&cs2`dk!}I$P2jFWu~*?z_t+5W~U9gkF?`T=8|zv`UxljgUjt|2YZqM zxV;oY8@G@-4#!lFYLu=MFdM0-TZ=WVL{2W6A*&T^PCB?y`Sa(U;>)MC|XB;KE^fqefDBHMtmyogO%tu_j;MYt?DW`|a=x>-OrJT-}(F0Ue->~sI z^5R=_zt5q-OAb{f)-;saA~=1iA|2>F8GVTgQ4^fbQ{nB1({_f|;B>JH?NoBQuZ$kc zY#*GyocUC9dWoX`@YJrBY-IJ)d3Z2@*(%p@e1EgW%ybmxlDT)Y$muQ3ZlG%_9!`L}{!8UNnm}8)r508~Igck$9gI})Z~|<{)<--J_H!a#_){>L04XC2 zE07p(Kpu%87NQ^)x*#E}fjr(pEGmK^6jmal#!-pLql!wrlFXq^{1eX8)fjd`IvROJ!? zpMA(YybAX*&lgA4#(Bu}DyGxG_Tf#3GR4^O07osoBg4zRRS1^n>=UOTo?%lJwvA0n zOnI`c3a^KJCfHVwlgK3kK_{@47^02c5M_XWUXrsjXN=D|DW8KeWbZmqg=6~}`|hqn zv{UjlL^%zfhT}uGE3}ihg1th%cELWtJnE>$hV$b_X04Gw18dDg({u^;fvUQiYWSlH zHy47aMVBWcVaNh{0#jQToW}sY2B%O^Shcy@^|6A44;3!)64{NaUjT3F^TV8ja*m7^ z5#?lc((3ed`;a&K$vv4YKhjMIU{U}&J7C`+RCSQU6kbbT(?rhXW?T$S64O*t_Y3Oe zrmtyQNUrD9t%!SuvB}r-u0{#3r0P!ihjNiv5-dyp8v`iBlB966t39q0)t7TQ0CktV zgY@DDjEcOMwikOD&mClE33K3biH(s^R3d^!qX&Hb$d4d>3OugybZ=>r*DzGMmvJk^*9ou7Dnk`N=}kQzT!|FKdnr$WN>Nu~y2ETPj=_hOI!3KdJ$= zFfq*#4d6PWvfBP?o#0{kt^TK?-cC_t@cb4gfqXBN9Fac@y;6r*RyV1#QrYQv8*XQ4 z|MS@Qn9^!rjgIo9;q3mx>7@)S!|4^wJ3MyJW2X)3T_{Hs+_e}(WFp>I$ujd$U)eRa zy7Sr}lEOMfx2f^aS=kev;9% zocVu~)5hZoOA(QDa4W0lg*vIDvkqZ9kaR_RG^QJtzdS-lm!utKCLnyn?>LaMs8f{W?N@`kq z278p5mEA{|)AxdY{Ra#jGs6y6U!z|n>nLw zQaPojS5AySnaC9vLP9?vT<1cWhzIH+zv3CFNE$)PB0Tjkb5PVQ01Qv~EOH6SQ-YFYix9b#+MAZ@9C7NF7x? zUrZfN$vNuo6q|_P3~?Gb-4>0Ivo-!aB(pj#kp(jP9wwB4!gSCzpuiP)7k?>hQYA z#*o~b8+0@T-!TmXU@-bC4O;40VL)DpZLUrpND2auBKFZo))H0QQLRm^yitqg;d9?y zR7pewV3un^6&GHPScpMX9Lkg}aZ4+?JyGaBt`$uz#T)Yb1(qf2;1y5jiglGvj={n#QFvcsrw?SoMQ#9Ne zl2CI<3Hp>)56VNJnCf~_G#GKkG~i)LYK8ScI!b=U>I($9r@2UHXGzFMW)Dz(0J(C5 z!Gdet0ocfYqb-HT>y)VPxr@}tw71w!4D2Rrjz1V|hwed)RKP^XmGpU%zC{n0M>+zK zFCQkpkXmqLHGpoAwUso@7j46e$n0T61&B`vKKx?rIjU-6WPIW<7Hj)kGH;uT6Fz_Xf#= zkjGr%7Ov8rGSr2FZLlGKp-#36!Btyd=FGPQJq`wL|%Kk^M-I>DMa6i zo4W)<7B~SJL^d|r+9SlenPoG}otKx@O%qE?#ToV0)s@u%d}?=MsD>@flve}caxkuO zGxfw5+e2i@2cuycM?s>>dLj;knTD5L!^)~<^?k-<4o-ikLeo_(Elm}|r*kFsKVinJnzVsj(5N5!nkoK~wbq-d9npRZtH ztwSUO}%Re>Z?hD(a^lm-FqlJR~Lf1E3Wdu$=DoR$K$IdCt{@h)O;$gahdmU4`gmRs zbKd84gqa89TbV_4@kAk#hI_FqBrb9JB64^oX~e0cVW4Itz1|?>{03G78H~A27(Q!Y z+#H7Ss;J(5u>`@7nlW}2Ir^oJ%_P6r^SJl;CRzxbbDA*37k|$>**teglYi$7~KbW6G$Adjc_NYioL|=H?w{+ ztpGa{@bsg2V6Z$;0#x`c7o4==Hi%0{!w+MSJZiR6=A!3u&$(hps;|WtQL2iY<k&jb&ic~BAWtJ{O)*W=y*UlE8JPuAfk8DEAF z)OP}p2mKTIba=3@X2v%;ZDD*%ygI!gy+9PN7WMk{r3K_)aVaIp*V4T7yn_7nhE1|H zc^3qX=&?a$Ws$a|wV-NRVkkFbhtX&>8O=tE(Q33A?ZzUb!&q!GnoK6M$zrmaY$m&@ z$mB2;n~i3Z*=)9$t!A6qZZ0xA%*7U?#bhyCEEcQ9X0cm}EDlSt)o3+Y%~p%mYPDJI z)*`FJT5L1gOg6L4Vzb(8HoL9J=CBppjdqjWY`560cAMR9C+x>wTx2XV6`6}HMb;u) zk-ey>$Wc`6Fgi>Qv%})BI&2QRqsZZK6c>{w7L(T(ld6kJv10P*)TJ>BqOghML{l;0 zjjZ1vs&L=S#|(7CcY}Jox4A?<2PQG9SD);~x<;kq`OIlkDs$WJ1s^N5HGAP~SmVVx zp39&CAvp7xfeyC;-!Pa0tONt!l1B_SzRip4^Cd4v7Q>tpqr|j-f7N?hvFvEH4=lW^$L6de?`rk*|C>MyJk4BxGR! zV+917AXB3HnLk3=iPv`t85Z?vKN`h{y4(q6JKi8gKkYwgA;zi5VTiaMyX_|eBZfE< zrnjQFyOLc~Io-)3+jDxUf{rj&#p#8LbV-pum!&u8_4@gAs@Wp zu}9JwYL3%Gm~XnE(j+A%Cu>rYQ&ZD&(sMHgXZFj|WoPx#>NI`(UXV6GH85$Ada!0l zO0N1M)zAT=X0)b2U6`R)88s%gS@ocLi~3>hBdOo2ze_ryJ*nwV`+Y~}y7l)OXU$%B zJ{*m2h+Vt;^>kZ@Q&3FFk(5m$}-F(ZIC!XBC`?(iidhhTD-GVl!Z@$S|R5GTt zvTFXSn@Hl;C$~TM(kpupe;{bHvT16`nDUCsss(Oo)y;R__2MggvvTswD`&Z-^*3)J znRmZ<;P3~>vU18R-BQ=8Kkj&X=j(4C`~2F~>+XBt>7Bcue`W96?@ZnF)Sl;F*;`p% zGi%NQ=M6V)c;dhRymQxc&%c>7U|_?%ul{|qyDO`0(R&B7`wR^Pb1!l(UG~@?w(t0M zz`%=#R!pg`nLT&jf@RD9w0r;S?;iX7%TRbjB>EeJbA;aT;2-|H^ZC7R9=Kz|ZJUf6 zhCZ|FmG0`AxeY0)eRLxYM?VV$i%Q2&EZ=zZ$?m$A=nF6Id-d;c{m;p6L3CcS@_=^b z8nHa9&@ld4J4z@E(1 zCTTK~RoVTMN;Eks$w|7DSt;t2{#mu!Nt!~9N}H41C$mI*(Pd7tO}p^2t{0M4KCT&( zyz+!*PD=lbfoc6R`(-XnPEQ_^JSSyzQbl@!HdCw8m@*2qLy|KzU5}EaVdJN33pJ6{ zv6?=bu_=z!(Mc=2a|Wdvatbw~ZdjkL8?`HM8=TR9&99RTNn=vf*@M!${;M#O+4aVd z%%raFq^<**N3%4m)@zE=R?O?ywJo*lptM9$+5&9?1WE)1G={qrVn7iP4G5uj zl}CjL{E}#@5<&im2~Ff7{%QF|B7r7E#TXxR*Mj=P?2mhAcg}a7bM85l*Ci$ zEZvm>nV5}kTORW&g|L>a!%-Z=?~EJjO}vG7V4O|hJ$&Gwq>u4e6oCpxaZPPY>;9pk z_hqhz=hk*Tx;{oTa>9|WWjoHCJOBCY@wC_XyfySR{H*9}X?O_4TjYwC%MWdrzD>f8o;gbLY2T z+c0owMZv3#2$%E|s3Brgd(b>17t%r+P-f|19!NygEKM;$cu6OqDYmkikB-|qG(A=KnZr`Wn`-@)aRIQ zcXLgSE5+&-y>4Dmu3?(oE(3ECX1=k~7gsd%)QW-zU6XC;QLcqcsnfhPXLW}WSGC3l zPh9EnMiabI^OA*&BE+s}vY3?!yUmN>m}wh4*1ttJuk0P&Rk43;=fdQtJEJ^Ev8PCD z)B-Gh=Y{2cO*G0~^_Hs-KUQ|#45}ael6a<)xTunNa}Qm|Y((YGLp|ot+9qW~cB6ST z!&s)e&DRqP$?j(znY-Ic%o}ASmttaLjKOZnyfvelY7_@u3!3MeU(Jz$b~4W_OxR25 zYNJat&sBSErBoFmEt^LNZ!0!pBb$xqxL7i@TF4(z3R)6NjZ8uqSKXYe#Kvcs-%Qtb z$^V;@=Bex#L=n_hCJPOvvk{qw<-@v^DyoG0TYQ)lk~T{BCZ5_OQ?JkNX~$`b&bL;gW$X*tpC*jLZX`{rYGEsb>ctKnbWjdjcql^f2 z8u&cR^_Z$c4h2=La#ljNI=~+h)2SlT6W7GECuR{-MNH5z7Z9T&8BnWC0Ur|3tuYf5 zAOo{Rs)$*f#B5G9^g)fFH3VfqfJX@vd4!{$!nDK@4AC0rVHE%2;e|L*5YV7NJ0Lfd zm4K=)FGf$Qii+4l@MAg@s?bkC79yb=DREMpxRt>H!rsJ7yy(Mv1g-$;DwL6}SO6~* ziYmzD2cf=@lv{YH$QnY(RYyZ&%pjl|=obnCsfLsoB&Hx9Az%Y;u_Jgj226s>`4ZU& zJ$^}EgAxVJk8LPfsS@1C;4tQ<*`P>q>*XW_mcfc)zHHTZhR~}5sst_~6M6?xfd`h+ zKol5Gr`2u3U3iyCL}*C^gu+RIFX4Oo1qeH;Nu|JQAcYK+S}<^yDpnSB6U%@y3t5(dnW7-~(RYXxp)(b* zLly&vKyjrIn21m+@%3ElF(;+w-t7ZZI}_5pk^7?PRoiC%-HO9s78fY|X!8gF-L<%r literal 0 HcmV?d00001 diff --git a/tests/data/snip721.wasm.gz b/tests/data/snip721.wasm.gz new file mode 100755 index 0000000000000000000000000000000000000000..1e63cd13738b5fa3ee63682f2ce617e56be05b2d GIT binary patch literal 246044 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

wTQU7O4k*JehreU}7Q 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�GA)ILCv`Vy3_5H?v%FqTvm6w?enJYtUJX>B=b46 zFrPsS4`tB8oPib|q%gg+gcjzUtZj{f67F@riMBOH@F)(eOSU!kkhV3(_gl7MTVsFM zw&r|oYmB8dqMa(+8vDDpHACChc>imwg3Q4$b=WT23V%r+qu&uE*t@%#0t#QATY-Xwl&727VRS28v8rmw#Lrb*4S)YV}BsFHK?keOChegJmPww7;()Si0iD)Q7Qo@ zX~cET$|0_It#2jbf&jObRDjzQ;(FT}4smT7&1_mZ#Px>tUBvaBh`5~ZAjGw0gb3R* z!sva~`rr}Qu6~GXd>F(vHVAR88#im+$|0^-tnWm`wP8$Z!zw^ruUX&eh-=MCBd(V$ zLR@Rs2ZFc|3a_SO%&uBF#Pxzzh`3ga*on_u9BoxhYsFHCYdMd&p81v{t|j9LE#(o{ zlS3k|1*4gTJmPxfyNK&M5^>qzL5OS7KwOIk;(F|xfVjr{A+FXih--8Z;+ivV)?6NO zJ@6fgxaN&X%@-lAhrZ(x*K7uH-OGq;_JcuO)pUH}GDX!CK*l@oNW%W{eAx9t8VGb{ zuMVZZtCAG8#?g<1bc*b6s`3pHeF(84%kYa8uR2i;pCA%^{F)QJ)v&{RoX?~Xt<{_S zhIf_z`idptNQ~YO=)dC8GETP{AJjpa4pN*oepf zbhQ+J-WBIy`M-%ny{Gpu6#SG6<4Szcj*EdN;Y=5T33h9zPTt?GpSphTiJ7CN()Fbh z=<&p=CiSFtYWn_Dv-scYH%gy7E2>>H_eAgJ+jUJ_)@*al&6__b-a>lY-v7C?XS9;`Tp%WrHg5Ss(lxzIrIXJT+jlI7BA3P@dAy%?-R7Ea2Z;CPf(i{Xr%7~O$@z2yDw;g zCW{wnPw@ineg7wDU%wNyzhLPwPLf!pZkSYl0Bj}z{=xrx&ZoN3nQr+9fs{_l9|4di zhyy?B%>pdz^q!Tl41uCE)2#qdbj7z70UN<^7mR>sx;_C#AAq7SfZ{t@p!lW%6oZ*= zRRTp%46z&Z?7QSxs|2n9*1=DqF^wugO3~q+2sP=`_MN>wcioYyW>Yo$PMGzby?v>l zF&|zRXInyQLjeBX+3a}Vc}tGBB7S}~`}2!(I(^u<2!aFKC16Udr2GTm+>rP`05n>H z@Kqp69Dd1|xi6;FwG!tCaeZ+PB{9|BF+FrKGthGS4Q|$@X1#2)=7N@?Suu$p#PlSx zi$HdPt654aJe=HWLZ9@Bqeo@m*}GBK5Ou`KD8UgZHPjNF{d2j3Wmw=p6K@Z|8yt^^ z)tdzvH1+n5dV}wtO?~&Gdc$2wefOq(Te8?fT`Ue00ll+dTP+FtBA&Cm9vpT!`90^; zaQ;g`$0ptk1ZM8QK6z)lZpU%JF$Lz_y9p-ghz;$)n>B+pqjjchLtNYvTEU3V6HibH zVqZK_bqNm7Pr|_5#O=NF=RC09iYV`0+ItgzUJwO8V!8JmDD{#vU2h7g5a;g-Zs8l^ zKj-$uy-f_p6)O$BiU;SDXKPn1V{QbU~MOG#l-@NOHdWo2p`+e>`v~ICj@@b~Ku#q!@mJt{DBe2n2 zfq&~*$OfZ1R|y-M=_R7VSKQrrYC2FZqg+SgkZiw$@a6S)_>g?rvK@-@oluZ(F#5t6 zTQ1vzu~#I3G0R}TVM)+b1z>_B=7~Vi>aBboO-#Q? z_B*2B87K&#z@~y7Hl@t3({42x<=7A$W4s^6( zYLZy^1RS?J(_1~aiVjXQ@jrCsWEv&j%y{13-77^Kw&kQ|cMp@&v(^vd-iVH?@EQXq z5r1dh9|X=#Jl=e}sC38mr8>S<@9J&BTNU5@yVTFMo`Z>5rtPpxarZ_4x8ivdX93Qe z_=Wi%aTSl-A&n61=)^UZE2)~3?XO~Q7IHe z|F#YHBLvVQnP9=?#{bTinMDNO^c9<8Id`p7-1WA2apcREcyaj!{(ORUXV`$K%83`K zXtOjE|9e|%5|w}m6H}@;P!78C4esnG1gn?{@ejpe*W8(JTZ+9)g-Doao!Sa?)Jq)D0jewir zI$Rb+TgP!PLOxTa5*biV0fhpMeO3(h^NzrhJ-_3L%duV(Cr8{xpE~lJ-o+JX;i276F+;|9muxmkqP;=8A4}S*a zEB+?pAVE+j@iVmP0L=q(4H!_@0n=jfG5Yb&`%)S!r7f zxQ)M^g1;sHcD*Fl8lMaXM6+a5c$>+^@%l__W^xq8H z2bfr|)O(({BQW+sF8PqF{Ru%M6PmRFYr%9eR_!M{HsJ(^Fa+7+GnJQEV7pEzO)LiK zV=&!Xb%s7CsyGrD?SHX=jO-m@DQgL)Uh2Ig_E1nl2%#+O8c1pQ9ZFH62Q7(}1hFE( zlG1I_>#ptI;{yhpw`2wwv4h(-<}m>u#}Gh5g5qGvfFh7)e4k4gLx8Rj&X9|J#r#;yfJ&Y1&>2631GEV-xd6QE_CP83ktG4R!ZX@UOkEqom(Laf2VaNbG)aeBvk zF1KW>98(KoVHkW7M-k5S9#fx)_eaFb;SvKW2t+RtOxGvWxL(p&s4ESnOAH>NtU_g* zSSEn0wh@LY{#Z9U0sPFV2LW1I04*JYmQE6#5G0!eSj{JYA%XA$dYYO^D)e+jni>+dn>L(C*OrXN*|j5Sq?f6ngRYsbGN_9)ee zr5brlH6p$j%L3J(fT$#53uvB>q&-CAe{9jnZV?0zohQ&x5E}#V4S@cl-CMZtOA3_! zhRu$@L=TrZvzH_OQSZm#{g{5AhWBaxp3ERwtKQqh$Ex?3`B?eRT5NtVL1-w{x0ibN z`ZttVukBoqzX5XV`=8*I$?KHvAB-#LAHn$^{xuA0*`(^EyguD|v#INocg@7<;$^Lzh7m|8tFv>P>C zxe+A1G4)M_kvx{?G*=Zw8hma*Q0aiw7b2z_lEmx3bByD!o!=-cm)a7qm5Dz?HQwnB zOd2?zaWaf>9CJLil2DjB7j`wWvq-f9+P()tDK;YfHnIUCouWeIy(0^fkN0%+;Cz{5 z(ZVecDxRkOQyj^7OQdt;a8njdJindm0lPq0L~1j-f`$~8yuyj`R)UAEUVbalqk#*^ z9Z!LH>q(}A#{4j?UB)Qs%Vr#@{!y}1cPKNU52(;XfH1w!olV}+p-a*cyzGIu39@<) zz&z{We-owo6jFXwd48MZ(t!Q!Z5_HM;Ct_F8M;1kfA(eM`-E0DdjC8{?h|Smde7tX zlO*d$f#5v;4KfHJNTjN`bWWqJX!n3wRTiIHs7Uwx2UVe816%<7-EHKGTzmdXD1zQ2 z+7%^0`gleL!kL^@6spJX8etqIN@zH0_5*3qAV99iV*iEV`J2&oIM#B*9{zA2%!x+# zKn!L3%&yM)=F?#t)H|M_e<4LCkHky_0h*9~(K? z@H~gxo17F%h!9IK*IdT%oo%(bld z_Swbd>$O1W`EqW{W$sXK{}!zJ;BjjV{RC>%^Ys z>!8%UzPt~pwy?@x@~S=_wFe8chna#(rm6Ef6!i}pZC{h}bJ@n%Dlv6`Jq<&WLT^n} z<*27{R!bEJUB};o_31=wBG<8RBAJkfWx{b&#wh!@i1lYZAHpzQjuTKx?wN1~PKh|D z6kmlg_=>)RBLd51*}xw=lmQ7+3A0fo2~~!H2Yx{MK8B&qPH6jcY(0oHtpj`UFsAi( zMZ&yLp4wP?ykz=JN?oN!(^OlriAHT!y3!3@4%y>;(;51V@I<#JQ*aqh6}Q8wSKo9$ z@!s4aO|AKzR_ds{W{)bmfRd8uv0A*m0GaK;~OR`uzre3Dl9WOcty{UP1Scf*D zFFHp)H8Q;#$#v>8Yn4YfEB{*NbtJH*pa+_Jj*XLfcW7@9mL5Yfi&&FXE}fVJz~N=` zmne3|-zfmKMCew390+&Xrnxw;fB1aY+WtEOhD4(%@HNWSdt29g8}s4mcZ(uVG4IbWg_P0i^FSGgvhzKM4inOZNC1;j zS(BAJh?sP|wG=>8-Eyf)Y>{b+9;#0JvBH}8bSErY3eP;S62^$?aB&v{#TD&BsC<#c zcJK0D#aWCf8d&v=-OLo=4w0T?HmeXFeNgY)!I@-V0Ww357%>1QFS9?M?**>K4dnqJ zgqj~>$&HyZ=Q;=#?3FL|+FW&$FKGhb0m(wYjrDokUL%g;f6wC4fO~*fWJYp{JG_wu z_hZF5?M}|O14b6o85+!>P~U()Tx(Ok2`Xa~s|o7YX(QvnjJPeZ(0W1Dg?xhYkt84& z?g$(3o~A^)XqVjxypGML9jWWQOq?o=0#d)L2&pGFB01@qG01-V+1XHzIz`got2b@; z_k8t!K~SBS<4ZHBwAqYdK6rGV+h;SrWY6zgQDxQW&%jew!4E8a(yj{?(c{ac%WfO72(rsxE}O9$$~P*ryd>tjRsJveI{~ zzuVhXpX9`&N|b-?_J_q|U^K9Vnn&srB^Ez*6_Zf@;I??$`CeL;EK@l6-8!~C*KMM+ z@zV8{&5i!-F=q`UVVWOnDgIOEa_2_4sZ-xkL%FiL?eT*F4Bx|JtYTq<=IK*)vzxMH z?vESVUfpd+ld%IT+#P&=eO~Du4U2eBI0UU%>KbXfbq(-f7x|WHfa!&p8^S9#`u}A8~{E;1x(B6` zHe}`PAKM0U!I85%zoC9JUd}$JRaBq3Ol32Msh2mIfO>2rJ8_x?cwH8HMGN;i%FHbW z>R?4F5%K4t=TxaX<&(a)yG(6wD+_`-?{XdDS-UuNA90wZHtFo0 z;}%r|V(=%nsnzIRB@-Vj`Vx>Lc_^G%X>}qKmHE?c*bCt_LsRfD&4TAB?MqLsF*_rz zA`*Cpy|yC40^bs8TSFIhSZ)&H1bo}pF)X1sBI=O>@tv$Mpo-@PNMMDVg42%)#hl{L z5@Qo8RqzOv6m%7gvYF$ww(aM$^dGd~Q0RFbe_+M`$<98jUxFapKy?+4u!n@D=Nf1Z z;P}NNv%PNxC4PIOCRyQI7G{2ZqXu2=Ez!N>3{!gc&(#-QCaQ1gJx!y1ler>|Y6<=3 z8uybglJqA7U|UNFZwY|`S@XWb^xmcNFx>Tlq*H(e7-spQIp=#o;Ln)*wR)wPcchR+ z<(7q;6)x7k`~FCe2Ki$yeON9#IsnZvk-Yy#%eCs+f#@sdb{7q|%?WfLsEDMRc8bG2 z;Ea#8Y_#0sI0rp0AJh)E+jKaMSq$G-x~TQ$jn|tZmh$)tY4X6RvQ_pYCh|6ySBA{X zWL3iT^Hp{!|J)P#TzX`mc@(Tan^aH%M8}e5c|Z%IeZy-I{Sewohew zYV_$yGn?w6*91P8O>Sc<0#!EXM}*JE%s$#FNMz|9A^BJ4T$73Q6F5TU*hty1A>S}`ASEZSeYat>6ns897>dZv2gJGSm!INe z>8mf4MA|z5#ztH|#)Ob0Iy`*6VFcd|oDesSl52(Tm&1vD+X-l?#MJozjG~LFMH^A0 zAyW<(fc0!XJKZYEWAYgP5Ja+Vw!D%6yZ3-F)vS4`st}J90^f1j+H={F&6oPNVYn<2Oa_AfTRBBYBC4z?EzNlPQA1a{xvnE}%SEtiAk!9FhE_|ZAQ2{+ zy}nq4Ql8q%SUO2YBHt8BR-)V#Q%0h}G+D-7WP*|YuQ(+JbNM&IWhmsyKnPd_LVDEi z4zm=R!nasjKG4`v30&rhCQ3etQJ~R*8O5yM1KLi@qCb)=@}#LVh7+Y}|3Xs!t~W(V zxeOgi4;U#wFc$u8%p+-@*rVjZw7Mlg z!UkSq7HVvhEl6wv3`gt>PwayAENLo>VNrG?dFytn^-VwOzj2gr6%>JqP_pQ>XTs93 zvb<`GIcQb<;0Oj|(BZ^C>xjmMg~0h#$8rLV7pnIDNalM&MM>6c5x#vGzZA6p8Ih;Q zKJkJ;S61vVC_g9&Fm_V%2(-9^%FgA@C8oxPb#tZq3p=zKKC~%0#0N$RTYm_aA}2C| znJT9|Awta)K?z%Nh?-0|m?);^{4H58h%!xSf<0NzWP&|~FieDK^uKTw8q}jzkApBg zjuI&!2oTWfhK(8-FB>iuzNNrcG;ZL=fHhBKyk8pe>s+2IQF5k9)svx26PYm6a>h#` z4E#U1q0CT7<^$2He}|kCV<9ODlek?%RuW^5RYQgn(O()B;1*eO1_Gd>FzB&Oy5(%i zFt5h|A6nfGR2{Ao^gkh2i^FV!di0Sg(@Z9g)SSO3Z$(gYsZ7W#IfI-l{iGzx{J+3) z%|u+K2jo;7%nCQ0K1i^rQVWKRgoBVV5ek zW^(pmqN>_mkJ4R_)?JU9GcQldR-#@Cp){jB@5HBR+Fl_3pESLMW~d*_z^hM?%E~S~ zJVD$#@F(fzWTQH?MfqDKCIz*ACY6M5XV_=^%*nOEy#M|!!K|z~2lx0qjL4p#_i?s4 z@-@Q7t}!%fJ-;q@T>$%e8fYXjFUU3R`n{aax>X2i-^~LuW=Rwu)<%%+X@?G&0j!ze z*pr|>kIZaQgbZ6p!YvHNg|PYD-&m~sCi5^f@f>Y50Tst+Em3GrWWCy8o@0~yF|_Ms z-bo^DFEyHE18gVy#KN`jZo3{E5h^MKc-E2AMoLFzxS6D{;ZEOh%K>$ikr&|?e6Y@i z|FLkAsQz>K8jR|@o`Jh7OO4(o(+TS!4vtjlBC71@x^X5u^m9E z8$sF7u=aJnBlK_1HEw8m1l1wDudo3QKdQbV0>4YW8byv@Vf3eo)Bdpkk?hyrx9eyv z_Xb{L;d!kGcd7IilvQWUHFSbEW_iM627Cg#?Bi9YzS}z6^$gl*`c9%xY=wW{xo5EH zH&g19gA{Nf57$_!c7l#|*L|Wg`<}jDE5f0N+Ont&u7qxFR)%$be|%=;echQnMw4QD zWIj7_I9XP!bKma1zOn@|U@Y$_V33&m@4lQ|`-yCY(0OE2T`}>B2P>NemEG}biT515 zsJ~wpJ@pV|qhV}V0lF+Y0W!vEhtjO%7r)u4RlVKZp_zp@b64;*Tb-xF3kPURab99beVO5`@Oj2(JOS>p3xXj zNH=?8CW4&DswRe?I8R^l-!x!<03Y(6aTWMcA*=u0e#>tFBS0u`Nb|o~!?ts-C+5G! zR_KP17%gP^S`vQ0gaMR=4x?~Bo)E-+bs%Y4m01Btt>C>I5SM>}{j5Vt))3>@{P}O7 zEbwpxi9!=Wn$h+%jpTW<4=azuBij?{2Qcc&Dq@s2wCee_?*n9Jc_73+(=!AkTs>qI zA5;j7@^QixDZ9Sz1W?cRw5&FUiwRxVl8X5_C)xhW0;EP?a?kK8G$HB;)DObG&cL3x zA`a>pjIgpBjvh}fzYD!?Ogg~h3U(e0XK_1`@PCM#{Mx6jrT4!gfau}`F#!Doxe6{O z1wr$+u#E6g+_+omeb?;|<4zLzs z0jA&o%Y7~4?Bc^G#vnTtd>v|9d|i0;Gw6+2X^l)7VKM!+!ty^@`?~GB3kx?5)^z%; zs(Y_s=Nn|nj=yP6S>VvQDbF2@OZI^>$nxK2D@9SpG;K@8J%quwU z&Bp(33*mEmp4s8X`RlK5-%EQx28NhuJL~uUcG)0=ot(le&9yY?B zHyi4u_JEf``%ba%i@|!@q{7?XiQ(s9AF@%8ht8yace1zPo$Sl1;@7PWM8g$6ek6=F zsK5(&@pYE42l^t=Z?z-z`?2o*m(eklg6gFLA{n|2-|R5#RQr9zBIIbw)MFAcOklm- z(pj!ks-VoqmY1nQJxv5fZSI+Y?-ucp^jo*J-@df4&AE+v=UP1E>CuEbb9R*@ zx8{PQ0#>zBPCCRAdoE^~ISlqsyZH_T3zw;ifuK%vc+3DyB#oy^k?4*{gU7R3&=ZOxayurOMC5!zzQo?tpcH>FTB$QD{9uePl!3A9@ z6U8dV3zCnNM0t{hkw?Y~Jbz?!B8>$5>+xVpB9EksH5@9*Fk{|qjYXj5$@1I5-4Fd? zLJIVIjvW?!m|K57G4c3$^10a9^Lun4%lf5F=2TNMcL7&GVswN?nLod^eXx?E6i!6n zFeL=@dpW^4I+n}W*$hJC$WT0ZS$VrI%=a~?#(Wp=3*puHs~T$iJo4Qu`*Oc8RB<(t ztj$h({SQ=$JMAwe4^6`;k+L@Wjau2?+l{Xp$%954jYbCSRIjpXc~c~!Q)egz>e>YK z=k5jIMtnA4r}x<6CT2|!c9*JnKO^zic{7(amW%C&_Z@bj(0hhv0pUPk>;A8YQhP-I z6Y&8?Pp#fF`~Eh-zL=31g3vb9a8mlKJZd6b?+a>1$G3QlkD4;^0~>Dp+l_bJZpN*U zI%7dDnxYM=zkR7^O=0D0!Zz|{ZK5RCGF0_7Sg+g)?#fGzHK8bY5-swqhS3!Z`glbf z&IQUf!7l9y$Bl4J>`26E_F=y0QSA1$hnL}&Rx5&b{t@mfH5Zri?X^uL5Yx1)I5>8i zi=Vjb;jK>aCx@7+p754VG)O-^5+2ODz6u5(y|OeMLhP*XbnLdMb&o?w%@nB0Czjt+ zfB8*uEjFlX{`yy%oKjD{_pR#1ZkKzgbqT5d1(VW+1fVcCakkw2hmCl>$+ektL`Mxq z(dI>h*Eq|VPgJjuU?4MPHi#d>#rb2^{t!7UO#ANVEd5JJ6GYN>H`=@_!C1Gr2{9Lp z&cGW-ZkHi)O7l5vb9aMQ+G0q14;E9=?XtHTqa0 zqcYUgK*|*loLYVG;XJlins*EV(+m}ins?1oSS0k-Q^bctsyopPsy;E*wc)~@kG~ql z8(w9buU{m=w>Ok@`P+>wmn4tya2*)hl^YPOGht?+)1tV^HLpH~S&{_~Bi zzcA(YI5`Qotll;FCo)&DgNvxG%LB_0nk{C3HC54-}h+=dwfm8U*SovO8^ z#+h9(VN~MUa2II{5#m5fFDTC16Xckyv?O_vA?WnW%Ln1)C2ZS;^zW~=1px?t`T@Ud zuSF>=Ao0Vj6{|vS>MZKObdorDhN0bLj;PXN$$i&?e{KJvj z`$HbdUgh?20vuTb5RyY*2*ag_Iv%-P(a9)=RBK|C?egRArYw(^xYu)=pMDs=o?u1+ zOq=3i#ekPi#!-@wqN3EEI|Tc-u}E!K*6Hv{k_TG^zZchT2S)#6lzLC>uj6Csc1x+% zn7vfH98+sYOvRzmZ_>qjWqZ4pk@z9OL`AYO<-Uo&mB!>>hZndxdVg03-C*7cr?c!)g7jBn~+{y_zP2 zOQ~A@@ds%CPRC{P31zqT>UR0CaHxQD*k~&?&LwTLz*>i^mVQ)JYTtk7h6nHXX&MHh zCkT!$%mPHa8cfVS*pkjYC?<)7VQBZTVR3_ zxt`Tv=xa&Ja9i-^^Bbt~7#p+GTPA26{@lPnS!<|N z-C-J5x1PjQj1zwu2^EKikK>u0UOZu}?TF`uYmRJKm27S^>6dvuVur;sltb{X$yQo? zW{k>Pyg0xx3w<=o7v?ShfXQf)ws&L#$5sII#rfY@ai_-4Tka}SK|>Z)X@W-d1i?emlEjJMEp5|9N^*fhlI-| zT+(12WQq8t-($y3%09s8;Ajz1MBVvMT-+a`&k!OIi=43w*tm^}+-wEH$pG4FK!v4pXYld<-)`gkF`&Fdy2 zpK2v;cUJH{IbI={!qoAr4aDc=b| z8Sk}ta)8%eRb`y$_hbfY<^-;7tW1ZX-{^GeV1~+){gWBeR!gK|%%LdV(1**&_p4 zS5g%QYp^*cHS48Lc9Yo`hP?91p#pNKS$t4ytmlOUS$9Q;=c!-iNVH&nQk$&W?Jl|3 zLY`)FmH8`hZBU(NuZ47Aca%d6f=P@@e-`%0naljFZr$@zEbd2K2EjnQBoJHD8Kcl3(R!-Gm>~MmIGvF?<-)3J6-m^wO z1Hyo=v8IGB9LC^-x^BhiN{-lQGA)_{$%)L}b9b_m2LA<3ZkD8iO8uLe^X^mUuh2C{WUWQ2h z8v0H}SiuDHENyiCF}0`!orM`H#*!9HicLjy+U~CZ?glPT9~a0$DQf+=qF`}X$*2Ip z`w?D#yPucFPY+B`LAa6RN!@tlX{>o5;K<9}H6g6eCmEDPggjv?yXf`nz+50oA@3|g z#I#`gk>Bq1Uw#JEyfgr?b#y0XAQ&A1wAA_O!9EhpINr+1=)Ze;dWnVS?)qqnO>K}1 z9=RzAmquuo@97m70W61#Of$sg>-6>tBiioehs4y3GYz$rY`i?pCLEbO3jVvW@|_QE zfpJOL>1zB&*y)9}lOzpG#kDGJ>1?An8~o@Ft)fssbj>s!`UCc*^F zZ8OA?RwlE(79TwDy1(C}#nzan>Wc`{O4b)rraes?edq(mc9;LH+Eco^g%@N9V3VnZ<>S2?}**zAgdGZ;f|Ld@rF0Mp!>LtEqU$EmDrQPP}IUEGhpqm`RAV{IaNY)kZz<0 zt^t~hyOEp7jdVc0nv&P{*^k_`aH5NhY-7KTLag!CjnQ6<*90i? z{sUv6n}&$ejg86I>H96G_{vJ!On;F4a|k48N9f;Tk+1t>8EM^JT`~i<0l)spFikWS zotO@tl+Fbc>8o6xo>THQfL5t^eSx9lT{e6!ibx+g6sD%Ebo+{Iei*oQxi{S!h-gTB&PqPUQ3iLd^;c7 zP;?Q_3eqr2ZMSoC(yAs^(&FJ5O zmh7eCU*Rb-E__%;)L^Xr;;}6WZbXg+3T8vm)R+HpEzxKKMMq=gh~n+nmq*h$5PCGe zA=SLc9=Sefnny(I?Go=~RoCS8r_l*mCcD)lDk<-e`FIhr0Bbj7c~NWuWn!|ZFhu;p z7*;m&O4i^Nin2HCc?dpJO{}Urj2BkG2*{UCu2K65@pjJLDX{kD^mw=4@t)aq|MVWX zT$F`e@GO?>zNH+rkBou%bhxlh78!Gm+WpQ4R(B>aThPUa9SgjUc69ZXOm*=W=jQET z6X@h)8xVfd+3MpZ+}>u3v*!ZQdXEiUgUPhx8rJCKdpM01tGwEt;_o~X_;-r@lr2lp z=;+FGNW7gZ)6mX$z3?*hZ;yk-T5scquCb^uUa}3(IA}kYwLr{tqW2f^Ha+z{7Y={t z0n_0E!?iNJbDZj#v*-DO-P!2dTiwm+Xu+1@)IL0a{n;)Nk+j+qe=BQjoh>&ym=$Ow{sx`Xkt zhHSKeTRbmoWc_Ks;%Q)NKw|@m zeA!uTu;_`^-!XawK8fPLiVUIlv%KOT<(O{+UjB}2eW(;qEuAy3; zG+O~+&>4{T&|JRg8TZO=til*s-sQY_fKg)YkVd=}7uMy}d0$R!ZuD8Ax5Mu!3Td?= zqtq8NgL@3CxH*I0wC}9@a|Q{wAj{xfY2Hp%un||TPZWcLko|+BXJL>RI~};ky*BQv z+})Z4kr~!|Ent^Y!y=6{7f6+-VeyG4J-WehX>pT%5u`4{+Yth~;O8+MdJu20u6yB7 zaY>j_n0cY}48ei6?AD}vvv0})T^%tHTW1WATel1$#%&hh9v&Fb?FWL8dS9vFzPqEpz=o#_2;d~xRtb1J z0;J;!p`!)5qeVb-6RJl-(_sMLegNNb!0&qyBc)(ZH{7puP+Rg$@Q!0W)cp@#h>mIc z`G{R0WHvxZnZ~XO8{b9+t-E`lx%ZjPWo;G3=+^h>j;Y zQlQ?-*Bjq?++e{ymIk&I;)2SN(NP3o+9fMbdOgq_+gz^-Js9?Cd13Z|6%H0XHlRg% zaRc|T1_KU*Z8d0csP!Dgn-~nbgvrFx0GF#nZ4jYCj;~2u)58Oiz(IWe7 z3#`lKt8Ed!jdRxMTP?wNV^@T2P*0JR(Jv^s0m{Wf?JT@C~hU3LrQ zR(<$RTz0u8)-1yU&0ewJGVLO3TrDM~h$}*p9;Z+}Hq0X~+VB9xnTSpvGf9LPDS&ms zxc2a4uisZO{fkvk+mx3is+eAI2kbLoaaLC=hip< zE<3}h_P5f&cDBYtw>SLZZBBpv;goS)^4gFQR3}QRu!yexh^|zyc9?Sg@P34d3zuPi zr(u2PVf~+^Kpiq5zpGQ)40ZoDMs}H$r>3H|Cx~7DzIXVA>DDypa?R z;QJpyc@H;`0!R$Y4xH~*t*}(==2OlgEvIu?_Q+#^KPgFq=rA*_=F9y|0tZ%FfdP9( zf(xCX_lPfG_GUAW6D>N|T5r8$ypq6c4J`ur9PZSE=WYFn%1VxD_J9|M^IQhyEDp^5 z0_@L~1H2%q$$m<4svyH ztCOvfZS`*kBCs6(ro7aB5~ni48O*yyT9o~q5Tmp==_^g~JarOh`N-;w$Thd2tLiQD zo!-!<#MXL*I%d4(PFI+$V@mHp3F>&JwN+H6 z8WYtvYll6RFs6)^R7kQ~hnCUu~p=uKvtV{J95=T#(}0ah!$g<&zR24m1#P^O7` z2X;3VC1f`hl>fzKRoW3fg5g7CR$*&t{WFes>cPUE+~osKI)Lem1%42||U z81H=Kav7$yj}?Drt3`_621T&>laVB?-LbsXX{kOxqj6+=9p)e$njR&j(K{mjNO{p} z&)?5}F5bUKz+J_*qMDJkX3RcXH@CQ zI69x9kFLD*dNAh%D}?o3ORa}_-Qqp##@D&CnUPdy(0 zno`EhqI@t%2Gz^(AGdq6SyXblm`?t+DO|6v*qP1%(Iis`KKy@T9o}qXD_MB)P)2lD z&S>ZIwEHY?q7UY=Ra`E5JsJDwGt+;(lVlp^^pzaU8OyoYGQHXUf$FJrdNRabe#Vlo zBUW&+rEgCqc(X-yyXIDLRpchUn?0C^`E+cpoX`=&p&T6SRnER;%6j}XXJHi9{ z`+MFo*V~fvApW(Y2;bOI6x(B_5B5>x;e*b;eBS@cFU|iL0=tJnfn34b3jFAM#scfdbda!>|UpAP%3|9Hd_3?XnF&@NJ(SV zG$`%3V;w3ow``?sU1Y~7=q^TQ+`^${(y#4y^;*t8o}9Y>bC)Q?GNq?vP|EakhK9jf zp-;&xBT~blv)so~+AD+V$PAy&#njjje<&YO(?CT)Gh=E}w)64Spr%_cYf`rHu;+Km z9qYpv3VjRK&p#+&Ny&(R`Gs9c%*jS!zN_-3dNz5nzh>kt(0e56=Kn;;nuez1@vQq(aA-kL}9Pf!G! zBo^L5NgUBcAEHP@jgfmLN>d0j(<*|#fN^tU?_0odQ^_l`S_OUIwn^y3CybgCKcY!5 z5_OaV(Myy(nzx;z2r9BB)C??=O*T#}4Lba{cbdC&na>gu;u(1&mguAJ34jz828&gT z)MkYs)Mp?`?7jhxhNPlM`;F)}5m{D*Ff&8qq#Ury7gVJex;h7SPe5(xM+UG4LQG&5 zVd9v=zo|hnqL)Neb)Ie5P1?p1W<(D*clR>#2adyx^U5w%6XFsN5-CTPuq78lq&YKx z9*}gu~HDElyLQb~jRR%aI~Q{HhmYv(662*~qZ|U^u@M7_A!g+MkNc^U5XNDN`v&3mmu5>@yOVxw0m-41 zsL{7`R4y*G1uhw{ol4{Ho@5W~g5An_05pz3oqE;r)zSGU`a?_X1c(+ z3oK?&Gl)FR<*VuwiiJm~Q{O}ih)IA2*F(^6A}P4*1PkTf|n#II?XJeHQf zh)}ry;27A|ksyI)fAkh{u~4ciTge6sE6~gUGZnfa?zqWkMhzL$CPuoiq`3ylND-Ul z%6R6j+At=9I9NBc=1w7Rh((Ayb17>;@QiN$rk`&Ms(hmW**aeYk9gm>g33^PuUs{6 zwb>rCS8aTL0WSf8h~IY`8}X?gF@G4#&-x*Mujojb>f*{I7grqj9Pfs2Ml6=9+t3;B ziVWvbrCa<9cN81N4kM*5{^7!}!(Tarp8$7hhd|~eZf_xThUvDl)b$mLuhsZCsFRZO z`MK03^s$!4^!0coYY5z-tu38;ZREY0GnleDk4Z9HYZm;C)byfr8991#W4p&2nX1lL zgq)SP>wnE3YYZu?*7srm9pNE7uP2rJtI6|D>*J*CGvDqhyRA_eUj(T;XlqiVSy;io zsWSW+sb!6l(`h69>t{rrgI7r;xkt@19i6$ba+vG$;ciG5^yjf;otfvrS9F%b*UbTm zdd#qZ`t3ApNe|)bCVd5glNxZ))4N%?1ztvI+%!~?@_4-ui)7G0aWg*3>y+=7j6cR< zBs_g}Cz^g?@XQ}yTgdxy_i%(BCp|dLOQjE~bDEC7qALV;>xWz4jWAGp`(?YY@XFK5 zX)h)@jPVQe&5`6^^`*bR&5zFlT8|xK3n648r)fWvJ`##y)YhGKp^EKA41c>X3PD@n zI6DG*?)A`3;uOKtH`h&O{yhi9&nsyEDZZWr;$r8O%Z0Z6l--HGK7=o9ZrdpTpuVGQ zhwrrmXn{o6dl!5ccJDphjR>()sHJtVAe#&386cbSQ(s4DXc&`*qnH7`Lpg)G16(M* z6SGajmo!|_X>Cex=bwi>w5hGAS5}6%PpC0u&U}$E4X8&@_@vq<6N!U@t)4k`K(~OR z5@tIfHTp!tz$IR`JLa~MsMR-ljM&2RX2h-{>hCkbZkRlWM(f}9)mV75oiTBem#!Hz zf>ciXxFfZkkr>C7_2R#0fPs%9qY6Mjh@%T2D+!A~P*Pf`z^)fGzLNu3GJ`3gVR6 z1}n(_u{b9PhJEi?`6YTKAJ=*@PPoBb!C8-jTr*OTym2JR-HaB#2vA}UAlzE?%Rn*?a0*Y{JA+l)0OH8Y$yZ*sG2qiCHL zw31+dIGr)?sHvPC-N~!msWbXwD4&5`6o;nAYA;dl%cltPHQM;7w8sDJyn2gNhQ!rfgDcNtLeGGvX&Q%5AhXHr3XxH0#ej6Hz=G7Vsh1 zt(v5*t7s!6jM;Lo$)`(v_L6#I}0E7Cr|ZY^+U zrCF#N(7xK<*2qX%Zo(gMF!$=Q(WgSnAJ6maKI%y*f5plfMks&NEsp?yk$7*Q5?+I^ z%@+2hMx0`_yO&)}N34LbK(iE9&#OoZ%@uGl{g%-;U`v1o8IF&Iujy9 z^YqV)^N&GDi?SHFz`*{Lz-`B`a1_^3m^od9fEnle(}B0GLk_9y>@2aSfzP+4KRtW8 zLmo~=XKtM47>?>0B}1Hc(|B_?7~vwlU&!ylNEx(xGK=R}%7~s8f1&eQl+)ByuvXO) zwV?6qtpsu`t*!gspJ?PpRVUf$QyB2U-3GG+#mxKxFna6APWIa7&gTM#FvSt`x_CX(o<2 zK;05bbh3!zO+`yqu8q0uio(XIvqq9vF>HIr5VA*`QuN1k)|hSkBt5!gUfDU45w9yL zwIw1Rn@Vz^iml#{huV#n@~8h}9Chx6E~Pv(!J0}TO{S|-LiYaT6Q$oAjx=Up_~PtM zK&BRVa_FUvi2Al(kr%bEgFDEPPf0(>a&eAopB0O|zj*S!U4Nr0M95hU*uLjB(>Td; z)_)qhRYF*UE}F7E{7W>s!;Qn|#0l)L6+|KRbRb`{f}0X}{t3czd8jQbDnCYNDl1?Z zsM#Ett1iP~JtSa89mU*ewYbchj1~M>asjRx!#rKNu2lIA5>I?~5nZ5+cKvRNlw4J? zqPk4hFXN{~+9~l_?u3jDtjt}%9$!9?w+M34B8l31sED+mk2+BiUO)K9*!`&zw4IgN zC5^a>pSQQiyNA>HoFTDbU{h84Zud)42Vrym0>SaErX@_Ck#ZOy+~v3q8-6rolL3S4 zU9%&ALj$`haZO>QMcNOv+vDDfbaJ2hL4Q<7wb&5n8HB*!jLWNd{dq(p{`2L8=?m}e zXY&1g;$38!#~0*U6`QaEid~9Tq6m}F%d-B4hKP zA!>O^AuOYZj(2}{T)v(};m}UQDE^V|XY)<4%VFThtP=*eMsA2wFqk$ckjDHxHM(!c zZyBLxfU=|z4Gutpvg4ro+I@P`t+G~s0Olgc{l4EKNZ(PnsnMC+eXZGj70}m@zlOhk z_R@G?y>{td5~H`VoVU%f$Pk4YGpgm|Z9o{yS&^t{2DFEpY#mjJ7tyFLYMG;rR31;# zrM4IG05is2vE_(noa(X`SFIXO(`$g`=KO|4X;li_AdkSst71#%cD>b^$gRj1vj}BE z-=TGN&0eF-R_>sAjWTcNQwcY40M%d}elV1y}2eR#5<+(uSW1B@-DREc* z^lGW~qayfbO7Wjrr=t{aWqH^$Xinf;va9U3ermaKrn#uMj(0R_>vJCI2^>q|K-;Db z5!J|OiUl*pU#+_tuF|UdX(P#W*$Wcllx(?7bZ8y0(d-4k{67GAK!?9TU?tmz>%rDt zH!oU`^8rzf*hzuX5?uF10b(^!S_rG*DFLAQ@RX<+&W56}u<0v>!o?8xe5QIvc%ha; zrTHfs1an$lbTVVlcZLlzNc5Telp@YTCfMTFHT}9rcCc1nT{Goe!v(%T`SMcVe%H9DllS7k+)15qZNW^H19bsFSuFK9*Rji7h|7&NX^4tLrkAq;sw1d z8(I`LY;ZxEg*fVJW~VEi{aj(B0Bn{XhLmuvU#Vd&=!xD?2s_zps0MbM@AbN9eDi+F z_WN{DKAO~gX4ALK@~W8amqjgcMbFlZmb49)86vWIHUnUz9cOJZ5HOk!lxp{~Z!V9( z_L`o=IlVl?20CtbxdAQdxx`snxNY?)SnW%OcpJ?{ioLdCIiHNVhx z3I^EAn30wtEMpNN+fZdJ5iK&!54pqcCcZP2iNYijR3=>tK@yze3$J_^sqa?mV!26l zDOB>`wDnt2JeQ zS!**nw_FqR%%xhpC7;i5{$i~pDqB*G&(?6~DM;*=Rn}Y$my?3TZbfCy*Kn&TNbFWs z)(O5QYJN|BfZ4GWctxe}Dd z`ierR4C0t_?DUJgsgVqvNtz-p+g9FGD~ifY4e3yKJ)*9MTxC@JIAp#Jq-p-@Tr zw#v^c1>7@LV7zeG>(X`FIcFd(tKi^$s-iMTzH%8*S9uOwB``AYH6%BzCZDsMGs?*6^S}t*6o%p2S4{N?`G_Z==A&5CQ-8Ng4=dd+F(J{)jS7tf0 zem?ISS8fZ_+PY)ile1{vQ*_(1tB%!GSJ7?L>f~PZ)IDn5RdidgqT4pKJV(x>8GRlt zd1a=vlINIo+nQUT+g9|eoD~~dd49p$HPg9w8y)CXPx!3a($A`y%a&oYZ22%P(>Cj> z6Pu-8`t%i=Zb@4q%y>nsxo*(>ma*`T0E)vZJ9!1tm)HBWQ87n6Rm z7nPhN%vaq_XJ=crRVe2xZRkm*D3zPw5`kw79H7Q>$YNE%-YIDTtzu7oU;|DRxF2> zv~kadT~_^5EZPCSGAk~ItvC;2r95dDtg_~GU2FEXs(-t5&V;W2xC~|4DR}^zjm3h2 zFPj-)EUS6VFP3Hd12F`8k>IO&2Qwx_SyLIgZfKqQCA%mDX&PLJo}KCIBeFu%%%Ruj zS!=rD701-iQ=W$kgPV&*tG>t#+q6qp>x0_){Hc(M$&M9(KTA7GNVCvvG zuMEq|9$?c}SB4>xq10HhUzT39t=Q4?TdH zexpdhSGAoeFJ+?WcQG_r(S`<-PT3z*)i78n(C-T%)+$@+@RlOOTiwa<#aO$xfy*KB zs-mJ?Xg@>=)7M(uz)4(!HmfflL+0IfC_YaVO`lc6R866$;^T$ashUX>y2u~^l&&oK zs)q&C16t6Ceojk<;(S0RY%mN|#YK+xR9p}d3}m7UjKvdrVA)epv+e*Tg?!Jd>dTOB zdrcp8v0>yFcJ0DsEY4&)UKc4voXJ6Y3zjacPWj4*38?UuuOge@Q6M86$vI6XtmG0b z(^xy}8whM=oV=#RSbRl`axs>;-4U-pT}3icCXy))b~+XxMO{TQp@?Ma+lpjr(AMiJ zlJOXCcNNKaA~p$k6v;%}iDcN{mhv;k;46RWa%qTUcsfcV88;WnFht*m;SpdfkxZD2 zWN2&T0u+YH+c1Fynl|r_Oe9k-I2m(60w5a!#YR~Yh7(m);X-tl`)j#tVT~x zu9{9*D%znttcvC+4J~0{RlDoLIHCz;)~1V9m5`T86eaS&1r)wngbm>nI$;9 zsVg57;sVxD+JWe~R}`3-P7P~2zzh@x4X5G`>oiu(ey(^0Zm7fhZ{jbauI6b`&y)7N zqk9o$v<96sjwnThJM;!hZE^-UO4Fg>L?i6(M8jc-aa0pdp$R&F-P@V#Rh4oxu7DbJ z8l$W+r7Ynny$3ykTaP;;gs8p><3X-(!Ijm40%Vhcn!PL#j=Dzs$Z)hKo})AwOUu-y zl|Hm07?fMtz$Id^d{_!3GzC`momwr4ZgJf$^G9n&n#ap7o`iQZ)F_u(oebf&F5NB+`a!aw9KPKB?v`$8mNE#~qS`O-<2)y%ojH>JDax%})`*{HPd)+(iax51h$%86lq!QhmLrdV-f@23=LN|j&fG0 z{5m+=EuoV+kIP*(7_M%_6_KOe6lS}zV)*HDw2MH;a3hzS?X{kYs~d-16xIr~SkZl; z!(I&w+Ye3*fsraQOA8SuM=(WIAsglB&QbpLa)$t>V}YH>(v?a<;OZztFQcDuV%RK@ z7?Cy*Y^Zsf*S%OQ^&u6_&PVV5bRY2c{ z|3kT2J4I)Pj&{rGC>NV1wNNpf847>G(asF{l6^|Cjy0$P^T<_*83M9VGYcQNAUkXg z>=%4_v5i0^xyx)(Tq{sr;4O2m=>Vc5s{e=Gr7D&-5a@1>IR;|XJ_B1w&Gw3REtsP$ zU+yTlVm-b+xy)wBP6_|51qJ4ylewnLHXdw|9c9bCqkgoLdE3ishi!TR|E&aCMaa1$ zYf-vC7YP1?DLUi7wLo_EOsMeRLZEL}zQTVSf#5$Fs|!&2CH%MU7x14l*>w!xf;-?p zWh1Qd-(pa}f9txg+3?%Oe@kJ(>ce59@dEx^3QG8INv3T^&C*h^75~la9%}3Pr;7h3 z!xH{m2ut{HGAQA{+(266zggXj-ovDQI-eTbRaU%jdd;Rm59}UKTOH;icQfWFyNZgw?Q1G@K4+TO4Z&TPzBQG-MVG#Ld_OA~F=wpWo&uMh8z0J< zu?Ei1+7#zSk=c%yMM0ou!V+`QA)uvXQ^SMNIM|lJ3mV)qe%(RdsJ^=8hZv@LvfMWI ziywRP$zOf)$>*5tR{KKXJTCciIfoz39Nxt60$W>arqv45SgikFAYvG8A+R zw;tTV1s_*A4OenSU)IfO*O*#8s=51CIfjRBb zMebo%3!y5z?*o|5yd;)M4{11=*NR%TZh%5HXZ1M(2#D5jo)yp59sBe!n7A7*>(z?` zGY8C6Pcu{f%-fr-Hc%j0QPIhrgOrTBS~vYRI>sexD3A8ICRquq*lP}K?pjm4W=1=? zFt$XZ@0&jHyh2PN>R3?lg{EZwP1CDqSa8$GIwQiv5o{Q3r!xXZN@%vfW*2ramF@0IZDV~_mpT=T&pvZ}eWqPD1*YFfUytffVJi%$CFvU^JX$CuCC zIk)(k6O|TaWjv_-sVSbz0JC5+f1VZX)lXYji8|t}mb1^=W^1RkJW|_fRZ65xw7u6- zOQz$c1^qFxlLEh@W-j%HVynca=hv3G)C+3ub5K)j-&6DjxZud-FW73~z)#(ybQ82X zkK#Wylsb=MJvNlS@4U0cJz{Qa)@vwdZm%$7iL*Nayqguc9Rjpf)%)O48&QfQawq;io;x~BZlF;cIub;q%`5P$5@wwRzOP` z>Los`3X`zt2{z-&sZ+#5H9n&#Z;NwPc3eoaHImnlIjgCd38KIv6i=YcIuu_%(9z_b zk~>OM2pkynxNi<&D9JS(Vb#e)(Vh=^NT&!o^f~1#wSh#G-sohy-=mW$#L09>q>DIj zO_^j_37+&;TK56(Ql4g__ps?Vp&ofR^&PJ_CP;lZCP@d@_&@(&)`UMTo zEgk|x?IF-82O(=B{q+m|4Z5TTge|wGN?PI>9s)fG5WKO2(;&m}G(H9u2BCEw>Vt4GhI&*UKg=eO)$8mW`XW#sQ z)ml`Slc?hr@uqm}8#{Q1ob&G3pmYR+?)_5X<1FN7lEWQKq%+9wNA{A^0bsJj9eaj! z2-#K2-ps5v0YB2ELx7%l4LbhmCZK12&H${y3XI z5`h8pM(wEZZ+`oo_kL{iD|YV1@czjM&c5UQUmebb>|@I-KehPHPyg#s?gnx3p@06X zfBEfC?UNLus>Y@k@4sj1D?hbY-%boqi4k9=#xf6%+4MZ$`X_kEp$$w+MQ{Y0ah4OtIPty?vd({hEC1evf78PyZqN^sCvYU*S&^`y!g$j*~WzogF(w zRmDj8XSd_0-Ys+hp%PC%_$QaG{OIW)u|xUko9@_Nd3wwpJ5Qdz;f_7)4%iLS^OM}8 zC$iD}TQ-`)}?=uF8Nt!sY1cI z1*Yq?$7aamtkcS}p+HV$n+cmpYoo+jYEejLGr?%Hd+_ZAM51Ps#fA>EZ@Ij>#A+(9+I)AcnCqkOuGyT@)!b&u zbw7S*c*abh6}A>M+nFyJ(`SVy)V3Gga;Gnm6}lM<)KGIgq^gY!!HA}v3qxD<#A??J z!(nHx>a(#vnBEjp?wG_DZ%c1G@33;LOv>D`JadW?Por?U&*c&4Y@aS|s_ zl9y?nznSH$r1Hte9Cm(9t=8{2+MArGDXnE+YxdE4o(6CLCHl(W9{kuY`l9Zt@Pgl| z;Ls&Vd+{jI>7w;YbgV+hxMu`OsN`Q6X@Fml3Q6_qv!M0QOtIeypPfcPL5w@v`aOsF z<{gW>LMVPJiKmjvlr%>3efo_A4E!2!JXERfJ2 zeB@JaeB0-i=l_68Rg&P0_B{fLtMoa-7f>$(H#`I!@WMKD0-<~*W2aXXdzYDu%>IM2 z@aZ?6qSFc`gN)TJ1PEM&FJvpJoMHfF`=FEW9CIqC`#~o!HTjz5+^$W*9N2oTHz2mF zk7ov7W9$W+)7UBuf;f)y+ipTgCXaQnTji0ZUQ3NOzLBuQak~ayXdSHPnTGa5<8bh1 zM}@tXlzC2>G*ad`MM6s}sU@e(8D&;DW!^|x<&*^@WsOr7^Awg+)af{{%kyl5ZFwC~ z*6VeV2xqSRa)IV*MFk=1&AAw?agh|%Jf=m>W45w`)dXuebW!t|u4-S2DnWa6$eP<^ zH4pLPAZWg)yU{PJ3Kqqjt4ax=p%dmS;+4b{oh^&>Xf^8W!7u!Ou;S2kwKIrc_=R8% zs&%#;ci=nZl*snxt0LxH)oLEo73Ir6W`?4p4WG4`Q~C68GG`Q9#GE;&#nJvUdYCS7 zlubGmxVWwvUDrw%HIKok66S+pVp*xIELKad31*w3mcp#7Y$g}g)aGDOEm%IX3IW#_ zb%q%{s+hDMgFWgfYjDxWDVV&Qp3r)?2P$5JNS0}nm#I%p^op)I^O!JTI0z_=Z>}jC zDW;(j>&}=S`dG2U3>d@u4w?6WVQzFuH#%1>`a5W4Htqsia6M4ld02}|eP&%N8BMbu zjlhBifd$>*WVPs=yJtIZ2=h(RwNMn5qYd><`E#wiNe*{w6T#z#ib2vFDki-M<7c9R zFn&p^foxRD78a(PfdYSUp;^=yttmA_oYPm-mb+T~EnvpVF%RSOa3Y`Uu zH8e?=mcy`?ci;h_4fnt6@pwCQFX3Z^@!Yy#yBe+G7Kh%&@S+f8^54x^c@poHAW=rC zdS>VT!ZRv{6zYYph{1u3VWDo^Z5zhjwpGyI*}|!8YEGq5u8q5e^te^%aoi;pfpNB` zN?Ot|IF${oPMv)gI0$AkT?037yaRfddfWoAo(EnY7B^VT^CtG{9g+@kxAmYzy3K}NNH zn|PH%meNpL4ixDIuTlllO?j2lq}zMI%Q7wc1=3Bcv}m_P z=OEqSTC702tp+914PMa-q#GQf6-l>At;M1pN^M8F!9UqKNVj=kKny<3m~>nBw~}s? zdj6LDr$V~H>y{?nl&iAcl5VU1xk$GSzd*Vz=!M9ApMA@uoANcad(ur=LJQ%R9cx0o z1xaYoY;cOXSYsl|O4pt|kP}rIy_Jz-LO5kKR`DQ|gRZ6yI(9L`2Zb5c7YCfFEZmC_ z4fX8~I8zxpE*x;$k4~(xN6nO9gY?#XLZXMN{<<)rRz|7l%-H?4kgA=dJ03KLl2@mEEEn&$vYqcFyL3H z1_6oE3PYjTEX0%5hkCO@8&cDd6td0~{P5P)n(o!5SES0kw6U6s)T!sCH>K|LP})^p zB*LMk^H-5y&+?UvBc1Q*gIyi#q7Js&(C7G4qjZk1i%srwqi~L|H1czNQA(^eis$&e zBrke9p5t)vv-KRGcT4B^s#iM4XW5unyz-pu9QRA-_@-Mr#~0nL=lH6q*KN9TjxW0E z9G`dPfPgClKF6m$b&k(^>KvbSz(_yj`5*%0YlW$7j64 zIliFlTJydW=lH6l&T+rnIX+!J$JgD`Ilk~@nv`GIX$od_%9uihGW8+&$+xzU&EzZF=e) zhYzIkIX+r9VCRDAjs! z>4xZ2Y)YZ#*g+J+xs205saiZC-|t1%s(gQNyi?KAXrqyaG_oOu4vlxJGM+*sHECqC z#w$~3q%Mt2*3HYK&`yf2Wu5B^IqRJ33b}4~y+W=^^18j_(X(iGJ9<{F@)go49X;@o zW`USE_^O$2+5p(6sS1d~@-+vuvw#=S7_n zo<~O=J8;%jICj>w*Q^oQgqFsJPB~anmt#k{GSbJ+l71Z(grV!2akd648hy&gP9#HF zc1l=zqag+>#Zzb2E}c4?R_W9^BH|#svmd{&GtZp8a%^gwlMOA5R>8^l?*7ac182XG6M8I@cF|*S`M`nmwsRaf zo3;`wIqJYUXr4E+_TqxeQ6Am$W#9I=nQXG5O?KKS=We?_ZHCTu*c>XHHIw?#UvPGP z)=Y16)+9S0H8V{y>&!2Xr7L62HWQo!BfZVkT8I0nEm?~!Q z0kKbRWJUX<8bWbOS0!?!!>(){_IK;BQ(Sc`g=5|SNLNz(|CB2!j4pP*i-za8hE{ib z1C4fj`Sf?VcW!^>w9`vKdbz0${<3|AaF>^w(1!T0mUD>%C%Ch3{HS%%u`cs2Nq^&w z58xhqpFMt%b!->-p~qr92O5binT_TP@GvWlN2iU?Y;3(;c zTyiN@yt-Y*snzDnp{QbsI|==CD0@1XJtf)GQ1;Zyo+9<+pvfvBXE zO52y$2{T+o1)i{vr4HUa;iaecckiRL@J zBBi-MNyqoGOOMxWe5?Y2>l*7S{x&7F^MrY>Tdaa5aP0!8EEp+^oU&-7EOE+`k+R}L zt;ti&MM+!rA?MVwiY0B$N4QQ;@w6pv-AA}i9d=pLXyG?}6`B^Rq3U_lCw%A2pdFsO zfM6-{F0wZL)ILUI3opN{&ap7rf=ma1_n1}PXE;oj7=6CPdQs}4fsp1#z_zFq4MT$Q zalE!26h|c>U*^25&kO=sEkrrAOHneRy{BWO?Wi~^u>$+d+Lvtc@zXM+w8f>U@5#6d zq1LZMsHv!Yd6>Ss4&c|+k>h$L_TPX+FjQeQp(MGNkx{buS|i$CpNdAFMX$>Zr!=>t zPkbu(alkeS@;AY8FZ-=7#TNWdAvP(8 zX73aOR7&!Ow}T&Zi7(sG;cW^rZ3~eL7q-Nu^~ST9qN0-8+$Pqa3Vmzh02)#*_WCRai|p65J!Mv?R3by2%wZBDHR2 ze$sMgAb-}+mmvv6t9;VwEx4+Eu1Unkb$3gQ+nhx=)ZLGH&-TGHHyjxYo6Ht;X#*AR zwPw!boSNF$3<_M>l`7uvoC@!YfQ0=Df7BHU+7cx&88RY&Y`qY4i#9o@mT8T5eXpA6 zO&wWOyTFscGTp+otOPpdY$5EfSK8ummDw=I2kY*-!C}+^f{hT18UyABg+ku`IfH1f zsK~98o{IDcL*({r0El)s$xt|Ym02Q^>1xa-(C;05VP%G z9VWER(|B`Rf|qhUNml7^@5utKwt3^X+PurJZpT?f*Y=Q(;n|j8xpuoI4r5zc$kaAN z_a$v!*hB3e9o)3NPtk<>FHwnn$-9tu6ssnT7`LFY5Dc1}=BIfrtle#yA*+N6UE@kt z`7ePmvq{*1T_R(j>g>ng?9N0V^(1@Eh3g~ets&}04G1qzn%F;8zPb|v(nn)Mdz?Wq z4nEOh-ogXPp8O1J6u4D&cBhBacUZaA8%%~wCr=F{&Yi@=+b66H<1RmS$_$XwV@^~a zqorZGfzfeB`jQ$)|L8N~e0Zl*%Qr27ld3th+^QMH1<_7M3l}h>bhTXiOtRl7+d4;C z6Rgszn#LZj_!2@Um(zsq9mjL9{1T%HpF59jlb}LP%vMn+e*pMIWjtJSoKns z-8$__TUm#=(+)cA6*?`ZzXqqkRRM0;?C-D@@t}-+^gZ!W7v~@3?{fx0Y&r^8ivc7ZFQb(mdX4RIYh%aMRVl655htYbT;VPR}(&na{ptm*6h zH+SG0P#L~Dzy6LLcnj zk>&`%sbsqA6-;-%qUo+@nC^Op>8_WV?s}%_E;rQr?l$DJ1vMIqzPk;DVk#e?DeJr2 zR5W(_#k9k2zvg(yCbaUQrFZ0kW(7e7LoRK;29?ME`ps@pq37I)bjdoZ)5x}7jBAqF2tT(GkWWMVx; z`U(jZ!a|BN*_6tcxj=yO@LD9p0mUiydjMOf#J<=e(AzlAam5^JrlOd2;0MyC#CCn_ zPTQ3?^vX^p&WRT2q}z!vShF>k%@O-KW?hMGrj_%zcvEEw%bXBp2@DH|>GFz)BXk(N zaQdE(gEe9>IYfut=@%c%ktLzdYmN&D9i&zM<+->1-uwUTlkfSIb!hI(;UvniukT>2zgzAX+?!(Fu(%#OVsjF!^m*2eIbUJ*YSfy(`6OX=JFqVCZEl=0`+LYLg*Qb)| zR1!{Itp;(Z4QEQ$kv2T!SO?p1x@09FhH2i8Odob9L-zBgXYhrZm=DJS+$)|pJypot zL>}Bd(_B8kl(&IAIC!J_UQo(oLVqn7PdAkd4!N6zywO=Xl^TTDdyT<(dH;y>s}l=LidNhdCb$|Z!y3eJ73 zM1Z$Bek&|huL$P(x)>r_NnwEpM52#ec=sGA!b?k(0+`dAH@TcYu4IpJTd{yuX%*yZ zNNK9|+M^a?SWSA5OmNaKi-*H~HB1z9SSCK30GgZD@6yl@I;#Qr)d@p+FV&2>G<~Y} zQEed?C`?1l5IaC!2${=Pn1u?1Iif@&v(iQVqSK(xhMK>n+*Pu_HC)$%g4b%r;!=$A zJi@tVlxx4$iqWOCxjTkif~Ugk%G?sfCa)_ja1D#0F-p9yR?h2cb?0>z_+&F#h(3eY zRrFhJ^1AkDURP^dURTeyyslXDx`yS(H*E5{;&b!547G-yGOw%WJH_jYcgO4MDQE#j z2Cu7X^13SKI?eb6$F3%?Yb57&HTmw_(k$}rcwKu8URUd>@Va_-=5_UK30Fq@C{nzx zsLbmsu>k7Lca51SFgaOy?3nGO;>7%1N+5%ldJy#K<2(masaDRr#o9vV-nbF)77$fv&aO_j1C$LzoT(_2=SKmChH!3jyN zJRo-sR&NQF1eV#6#(~K$)niix>#@;PRUcIV6RMk1 z*syTu+NE={Acfs2{H91@>t^jsc8QO_VQ)PrGbwCKOJOTY3ft6D*qWBY_G&3?pGaYQ zv=p|krLY`?xz4U6GbyZiU+FG|&AjdKXMHRY>NBOVH7%62)oXJHDQr)UCRxT=JSFSf zpOT3T<>qo&`$&YeaX|#DW;HT}w1p!w7t;1?A#ERYYpy-398Px=(l*PgXayAC?JT)k zRtRius21`x9n{ro@0~r{$%1e`GN{F-sJC!7E+|F7&=B=jRN&nHZA85-Lqc0o&eN5s z_Z&x~B~Z0stCR5(9E`I3dev7o1PvAa9@Vy!0r9zbNc&~)Dn<^s5hJsVgUG*ua_G&* zwfU*2912A|DN25liBuRQYsR72*zQoQZ#@)`s53GC_j4xJm34FROpLpqiIv@+iFK>X zkyzQqkyw9J>qB95k+U6JDopH77A|K^h+1v4O=Oz+lsR*7CQF0_VcB@IM|Ap zlsS5^$F&DA<$HmjmTeW6%QCB56}f(ymCG|dCAoO=)||R2gd9qzN6hQO6To{b4mJwB)(^&11{Q_)uuadyGg%&;F}F5 z@pQYcQ<6rzh7#^2&h4~`Pyd)lR7q05eayLyPs!SCou1ooAA8}McJJ8fbjd;t@!L8B z_jLRe5wGFE^@m3%&Q7<7q1bd=dk_8e-_{;V>TNAgMKbE@5hyMf!2p;K)H^6kO=)WKwDtNU47Z1!jH+efGazx{-H zY;Ewsbb-Vavs({3DsESQ(m(dXH_`36L7+|#wLFSkA5mD8GDK58h=;lnagO#4rHs&5 zwJb7RlTJ5E9HsJ76o*$$MfC#DE7Nvf)k^)@0fqnzQ{s%_5{WSJQXruhOe}-+%CNQjuN5Fzk(+VYf zvfyR#k1cj7YE}kmGKR7cWJKz~)**|))}RqLlTo|};vau7sj297iGgpJ)d!bfz2XG7 zSA~)}WL#=h89h@66+JX)1o&t%O;uB4RgnsgC?DdzMzD!tE~sXsmT?|wnlW{Btm36N z@!LUCr3nh5NEELnu)b`81T*vy8fQ zv~?yI^eavA{0&S;08pF|lIb^#5lMy~HqF9$sO*+V4C17bi|ggH=C+@;)Mq|@w&zST zw9C(i)Mp$AB~E0BTwD%@K6T6yJ$;@Pzq{htrzM=HS|4##pbGKY?h`qg zOOi~-{2ZMgceyV4IL+{7E^9L5OGxmAuz{15ye%k`RaMlDD>iIEz!b z9PpYbgd3Oi35o64?bnD0O%dgyXpHqb{o>;tn}v^XbiY-s?2B00p@}Mp zm6>Zv1FM>%rqji9DMgvu}fp|MVNj>@##GQS!Je@uo0L)bUPOr>h$4fu>sDO z=p#45t75hZATVSIjFLtX0z*JxQy?&+Hflo*1bZYn8e7HqV&Rf5{FI(cS8T!I z>(*zf_#R#@U#4o=m)TtMJ3R!b>;sps9dKIPTkwI~cLsCH^koM(lO~D`3g-^9YkI;( zSq@9IWsMl03=yqD9}m+g26_7X7>D%3DefRqJm8%5vI;d5uzK;ZwWw*)M(#%-AqZuZ zgIs*o0$DB<@>jjQo^JQ`bPMa*Q(Dg!H{Svyir2HXWj&XC2I*FLEk)52G18Y&q6rOD zy^uZmLawOHd=-0PeChK>Km*z;0X>NNCyKjC` z9az>$os%7V93D_vC)UHwh+Bglq_p9Vw`(+bzUH=F`Z|EMnpEp$zMokEDe+oo9cVDt zFJ)*JIQW2U= z%{gR*bir*jwK(rIYmU(sQdi5VYe-!yr>-M)-AJ{Ox`EV<3wVIirPOM@#{tiz!sFX^ zZ08u)zr!){s)ZPptw+T=ZtcJr99v||z=D&?1$%*iK7RoQ$G76HzB(3EKHYV@`T|*0 z`3MIH1)*iUH;Za94bcu-Qbm(u4^}u?=;CcUu_{FlDPLyY`hm#=y|gJskEq(vrH$>o zw0;4vG0&2$@4t&#QUg(w0`Kce2c83QLPyO25k1%*s`)kJ4D){vne%%~?T?2mI?knS- zV`bcPtc<&R_;tI(uX}Fzb$1WH?o)?f*MQ&u?X#o?;%4ycX7KB7fnWDO9Q@++r9-!d zpBkN+^bZ6;;kPy?D3AT zU)J;Vwd`^13lH71^4BYW|Gp1V^{*BY*QzbQD>kzd+u*f-*;2l_g)InU{{RjO9(Ba)suVyKauqeaX-vwLpTrTs5;YhU~= z$jT=)c!g9-y|9P3}cs}%p?Bdv+ zDZ4m$=Tvd<&dIH7BLZ+stq@VY7BABOF{_eT|Np7~-?brrzPM_Lf2Dcvjx)Na2)`fPBwB9^pKUaaFLo=U0+BhLC?R=Z07>h!Nc|7y@JVI-E?x1@ZlJEn9pos;SF zkDZ;qCv6_1YcSo#zzw7H>PbTC1bc)=STJHI!DXWeM3{ua>w#W`%D8;AQ#mu$?#Z-j zqBH2%nJEr^cPLM)Qc^Wj(&3~!CDk*3j-1q>q(-Kb!%4L>tm~wFcydyclA4){4=1%K zsm1OPI(9l4F)XuX`s=_n;XC-v^i;UyUrh-$&Uz7a#LTRN{8iz)T$StkE5Z6L-jVBa z=YJ{X)Vp#Eew-WHdig$#wJG1YTTyg?Hi8=tyWb4B?0BHMqdi%0I1#PQ; z`p-_|bemO0T3S_PGR~tvbq2;*-{$I0FEsG`GR+Dj`cr2RSwmx179pzBpXqxTv87B8 zY%W4WvEDu)?rs^)V>yrgQ&r55HV_J-T#5C#VU7yE$%#>hY_FZu*7;M?p(ksA+=MTQC23Q zoIR|RK`F!h5O>aFWt5td@6FJ|)5MwD)2@Z6e^z2m^d{%Ar?_qzhF2aW4bu_tvUuSh)%QZv$|2$E(zCbD+EouMvcGdo;?lf^m z7%HzccTF5xhFYwft~Vu4+EAXf(S-XzL%r5jy0RVI?v3yo|*YrX_8zZv-0!|e4uEy zEv)ilS7r4#c=h+F^;@p0nk8t6T0J&}n<|ZOvW4C&XwG)q8YK*x171=C&c?S!;~Qcy z7-k>IE`rQSqllyHC&(WqaWWU+T8Jw=Yxk7tC%d}~JtJ+T@BgnL)oYGnj2D+YIh$ zQ=C{1n05vItQtRPX#4LK#Sd0;9NdySa+r0ag6_Hd#mnqK-cu=aQ1+KGrcNRoEuC+Q z2bImHibpIyf-cB>1f7@p2s)7a2z#@uuQkR+1#h9* z>F~Tz_Z5ObkVRxIHal$|{3)1vGook!od8Iio%4C*G;NZ#*#KIhtmS6sLY`e#7qA30 z=9`^o$i$z5o%t#_k&6r2RQ2&KxXx?=9vEyvYb)a|%h zQVnOdFI3CuiT%vXN{rfkzc6r?o2ZnItCgs9TrH^P2KdNQU5Et#MV)8zB2?7rv{dOl zixaBqlv<0_DYZclPvdVYos0O0tE%H_vI3mQ=g!mR#Hpy`>LS@06^%%%*>QDI;kbGl z<0(1oHY0Uh$?3JOU!NryLD#idHIA!`WY0cLD&4co<7%=hSTtMug{Xu@=PD&KVos)Q zA(B~|t6*|8+IyyqHqt%RA!whL_fDg|9Z8%@iI|zGmazRyR65=!DPfoouVFP$i@F!{ zrC#)BhZiAi0C2P;wnz9fLdSzbD@djNMoof_`?r84hudJ#nrXIqt|psp2A{cRo55$g z*?xB7=F+JPAqT4GDF>4CA&4rZv?*n|kkYx015dlTAnO^FvRDV?@W|U8K#h3gYcoJs z+6>Q25gd^qUNo}K$5ctF3%R$|HiQ3M)b7W~rPMP3pHl5}cx=@+ADJ7K_8{t#3J!4v zQCrBpknT7xBIF|LdjMq(?Cljsi;H!^lDw}P=CRU4$Fp&e^(Le253e(XjoP2=!S)ZYQyLfEpkJsm=jxi>zGow1PYK zeYAg+x6@}AJi2#iz|d^#nM$6O7}Qv&P2_8$TA50onHXrgb3RdAiE4Ywuw@&~yDojY zaO!G0(R-B9-I-+Q47Btw>~5~cM^?kIvu2e$po>N_Y$gr~O41X;?mjy`$-orDWy3t1 zvCJ}I{hYhpNCwT^;Y3jl<}iB8XMQgYgX+(Q(N7sD)^!-i&JtMIw{-^2u$dMScn9d< zfLHqk+ExIyGs*dsLbXuZyrj{rw6nB1q!A%>Ch25pvr>*Ga9@@-BWa^>WrV$d@D$QJ zLxKn>=RD3K9I#(<1_dEd&IO!9xL`zbdId31&eJ)EaKc{6=@A4$IZxvp!VQV!^eIF! z$!>P&kltH3HA8iD4;PN^U>u0qI5Pr15tiVVb9*d0!=F)QdrUHZgHneJ7t648mc!G# ztNqjPwRL2>YwKEAa2)Qky5k;`WPt~sUb(hrEkY~SWfRu}j2r_6vKv7sVf+{Bdo1OQ za0)%_=WoK!K8Eg4Q3wl^a}YapI625?x46uq*L`wr4fV;G1u5<96T~tspCJOuNV1 zYtAJchwUj)T|xOuCNsO@clg*@p~*=QSB5o@56Fb*L9DBInC1XvrBCeyRt$JP5yGgS zdVV0;pLAq;d|k7eo=yi=24L9DRfsr zJ@6{kquS$uL!G^F{j1QBCuFZ@&gB*)CyvzBWhX$n-85;7+x=6m4`$uxKrSfZ0QYr zT=ghck@Ama27DOo9x0BxR0jl4Ghx5lP>hdDCYbS1?_hkG$9hL^JGBCiSUA=tq{3b) zHdpWDLlx`Eg*wv>`3{!kHG4;z1Lg#Kw$L0ffkcP)W~=O!mL0~Nu5tz=I7VoWy<5i( zcP)j*nzPF^hqZ;~5bH+SRxec>?`k=I;SXm-8&vMsmXy3{FOg$(#!&o8j@=`O(&e*y!74 zAHosLaN$_BOO(WhRl<*lWEk_;1Yzt|IA>m4m1;9heU`NiI%0dw&1|?sLPjj; z6|mIl>tKX5U;ETdX}*H?Qq#Fm#=pfDzqngitxhP+TpT-Ml)VlbeBt~MQ6Ct>!4Z*KhCsEGqfQ@qfHrfb?UzB@@VO&7z%-~#Y zoH8_iX&xH4b)IS7$yxb$m{9c!5pbRN=gBxmvGQB8We_>f{I4ukaRGr0}J<}JEUg)%4* zQ2@lgBDG7PXhVaTO-VQF?E{HdnBfhY$$cibKy|KA^&T-_%Dy{rTjzkuujuwokFe`= zLQRz!mMCt(l1clN_z(czPWFibBGXjKfm7PvAMORU7l2MZ>Cuh^I*nwH_Cc&rS~VEd?DI$?#Q6> zOlK4d2~a@l1l$NC4(8w#YI(ZUqWuMyYf(^j1Ogkb#gkfwinUy@b1g$s%Ow*XPipaH z{sxM*oL8!4pjeB7b~@cVzRBle9vXm7fxZ1)=XHvWm5gMJEY?Ap5|D-(5Ex+t$pJ|c zT^~u>CrKPsb4Zffk|h3SBYg(yRHIgQ;nX2X^|BzW z{bzVSRJ6v-8xJM->SQ?_7)r)$Bwd}z@j*!vHnN(($PuJoLWxX6_uQmI=i3&!V{g(w zMaOKfFe8cFQ+&rhle0LO&v>8WJ6?^rFBxaC=L~|N3~s|9ZKbDA9D{02$io-G-CPTb zC%+kLA0?BSkCF|E1Z|1RiRnFI!&a;{dK4PN}ZGl*h&7Xr$?_igsiY zi${k;<`5#oS4cjBmU%D9M__bSQGBek#=c9?G3hy+P>8x+M*G4Eg`Q#UCM8t;_H$Y< z;s^-r10~STL^3}j;*+EXWl0Gjl8vEd(53kpvd)UP7aw&OJIGU$IWx&SxV*K4tJ)1> zEuZU_>RrOn0Tr{nOIhQ^d8zQcR5J3(Z1rHdQQisx6vT?vXlh?ocZ!wEaABnV`i_?4 zo^E2luK2uPo!b+K=qiqbYG3SZDwaZK4Lzo!w1Cavw9Yzm`3F*}3R4J=LB=?NKP#|Z z+F{23h})6k2QWt}S196?StDhQQ)Y~mRZf{UQkc5|wpW%i?dE(aNtxl4B_m~)Qcy6{Ep`BTCp<`^o@0+gE9XTxo1=01t8%axs&C>B1W%Bs1C zQDH9_4!Z?e24-`UeA5?PAdWvP-5p!IWyh?7pQ^dbQ^Ape-1H-JQ?rwzUXA8z${SRV zzQb1(5@~28(v)jxr=?MIsIdxD4WXjH6j~4`-TFe3AzHrfw}kKt<+G-EEirF=6;_VT z@I-~3>uQdH;R%YVxmF$)o&CuculwQlvW2ToyLRn0youL#X1*U%muLqI)KGJru|cxCzZr|KFt!C> z9gjioMA=o5YmLDs0z;8;DcA8&`-@zh`BMDTdLI9@rcvWL1SPhB)`p#9)mVXmUil*> zK964XN+G75G0sJwb+K#LgpwSHc~>4~fK};|o)B-W3(G zd0%lkSKLhHYtmOdk!5RK82<`MTFeVotZ{vr5cx!wz=5+?^8{hk%l(C&MJ^kKIZW4* zk-%ZP7L5efpIRtZH}6Uw(@;tWIpf!4J})z7jdH^xScn1_ECik-=K;!SqhTGa|2oq!X4^87@BXvW(3v z!z+G4=Zwnmi(f2f8A0)jjVvP^H_8*Ll;o9A8DA@?@IfP-9d<&Y5#}V8JEq#hWz<1E z?7WfL6PP(a*ZvJKael5K9AMu3T!$ErMcJN8zvC`>kndf%>%tSvp}Z{LTYVL@jZ^3j zTA>sP>&7X|%$xId=r^rbc~IDOW~_o@%+Z61@cxvi|G3BmjpV-FHBa5my5?24#1IhJ z@EPC~*!Tu4+A=|FRsr;U1EOu2;vDD$0PWQ(;uW8H9Ygu@{so?=ZknKk7pYL;FlQ1YA( zezM_}W3@Nsvwm?v&mRj(jnD!7I-_4DT+D*5Yt7plt9`J0toG*iQ36&S8Oy8>y3SPS z_a)>COA4}?Tz5;++?Ul#X7f5N5V!71+~{Rj;zl=^>XTSHlREg!l3R=gv&V?$-q_i* z{^am1oM-0#; zm{nQSQtK{i;cl%vbaNOoiKH65cVC;wjh-yVjb719Jejj$>qaz)o-T2tXArflX&_wj zdWwstiki_qZuD%R0tkBSJJ8cKk%g_(f$=5|QD3q}pZ*|l@WFBUj+5Y4?sY)KOdYpf z`kJsto6S}I@wSsXu%?5{vdh`U*t~8jaoNQQhXOeVs-3sbg=*)WuBdialINYBQLWt# z)zbZ}h-%mE5~`i%a4ZYXE>JBIGDTFoY?n~&ro9!_9+W}Zf@wExg=uGP*~05O*vho6 zFzvLXFzqV^InCP&(at(0L_6mc5bcHzrmyaG0E;&yLyB;|g za$T_s$hD=9Py5@(ts?Ju>Zp|+7i?-gdr)0HGjuBQdF>Gx2K{s^pJ1%IYE1}Mg-0~t zQ_#C&?(0F#maZ%Bb)Cv-AJ>&cBoK75OQ$?|hz$8Yt_foBhAm-N6f7H~0zs^87!i~u zpoQSD8FKZ9pVoT84{Rf2CPv6?VpDH7=_g$R;Y2RD<#HZtbzG(c(LLgcvjmP)?HasC*r{_8 z&K{{_iFfu6>fV`q*uOv$-9jxPy86k9BzQHJ&~AHiV$o{79v(VlW*Z^eHT5L^?8T0M zx{sws4HbYGTxbMKK=0WX0DG6Tg*C0N>K?3g#LZeow61W;lfa(pL=^kbNJ4=&#+1+Q zES}T6n13au1G6FrW@X0%bJH{m%L&-3L{H2P%-L!whSYS056sFg4on0xDkAPm3AJxl zglB9pvnkgE#6%~w^7v)PI=7pbw9jR#vQ z+4F)-)^vcUh1@8tUk4lG&x8-yE2L*dosklnYf`^Ttf-l)CcjOiu>OMhy?kWWwm&jw z)mYY}Qk<{Vx{6@iDjbq(YO{4(ugFSf^SUhax?B-TWSu8XpPK3hQPIbn8iF=@9oYS; zxg04nCc-lHs)?S{6TK0sgR_6TIA&`Y-)1OammieX65+O}2Aqv=F&Y<#;Iv+f2++gX zs1(n#R{7+toHI7tW+))GSY=5iJw!M|1r{_2tmskBs8Qx?h-;I&i%Zq=`57DMXMw-GQ8(ftzwnIm z@9)7w4$w^uZlMl*v09hAf;v1`>st=b1)W6HojAy`;2r;JVS|q4JW~C* zp&o%)bBtQo7QVi;=doXQ1RksF5Rj|&5}I8Mxx`vM$FtZV^&HVoONq^T5z}r4oID-w zh-p`YZkTq{FJapGu!L#XIac*dxEo9xmN4ydP{Op+!B$K=@9P+vjA^F>g=sf^*~0Uo z!nCV_!nEsw!nEtYq9j9wX*YusrkxB6n0CY0a2M_Z({2O>OuH5oFzsZZv3B_FVp`~$ zb=(36F`cc8YY2nOI9C_f5C$i5z7CGA$*okB)^uHMO*KX9VF|%4U|Xz)B?P`0lo0rA zP(t9Vz7A;02z)l!iojR&%*+JeG6G*!tG^nW2z)`W-$r;Y1in~Tap4OHd^s#3@cE#G zz?c0p0$_RUkAfoBk<*I5crb6GXiHbM-HR~^iXF(0?o4_hp3h%2XZS>{vfu<6(n-h zcG8MYUE~#&a_r(*_LniHPDM5vJ0WrMJGL({;)nW~MwpKn2B~AZThbDu~S}m#E zW<=+t`__7_*p;=UX2#g;p#xlHZP4A?%%Vx$R9Ty~q;6(a54)2!6-&IH#J3p%LTQzz zRn`n$p3QF1P?l7MvxL#j3Tfq+Rn{Dx5oQ)G?~2NruO$O!7D3ah%37!;eP%akz1Cuh z0j$(h8wC~&9Y-ok=>Xlw202dYKp{?PGAKHrJq0EGDP|QR%2A)0$R(=yfkTXS|&2g*`#|6#^t~cFf*%wA?wz1SsVuGSJUhk zgi8G!8(lMNGhwF|{peoQGCw5}mmQ+5c&AH)gOG|6TU?2kYDP_QcNIBdC|CJfVcu}o zCBUIvLu#f-rVw9#R%A5ub{_7r8|R3_(o;oofl;Iyu9xa0@-cbNV8|SMxAk&F&n1MX{6S$eTB@UEVp4$O=L9RnMsZOcJ35 zAF`F3Qe$CobFmV~Rm$SH!hQXq3^p6v5C`<7#s(DA40>qe8W8~ug=Ld)XvRj(W4EZjEcV-YIp%f_Lnbk_i{Xke$SMxt&SgWY9lySQmA z#NBTit(`9#ix?NYA$o9l2y7DPmW`%TmT1WtT3MnbXQ*X~j+~*F#i8*m;Us}EWGA*X z!^AX{KiXB%eQ8$!Mcj+&y4ed1qcBh=rsWn{WxMHu{Zk%{S9CQRTBRn=S!ZrpSEFv| zPgaU8ZC0@wRTU#f8p}+R1~c75*3uDjV%bwbw+@*g%oaEtX``q?p_OR#sx}PO+)@`N zu|TU;2{u#iLOlxtY}i7HdJT~#Ccwo?OSlTdf?T_ys#S$Fm9dgh8FFpHUb zv|eJ7;#CbJHr!8GH-Wkxl)LTn6-TLYmIgbGuhy!f8dx4|MPRB2H>vyXri;%LPkzQa zm6^EN!1}k1JtpNjN13fTa+9ua&AfzzyYU9unkhzRe4ValxxUIg$gbjndlfjVO(cI8 zYn-TDH}Z5C7bw1n=H|N$(YIlE1lVlgb&!Li9%Qx_wnlDf$}o8wCXhhW=H0=b#k&=p zjJe<>g4gSUZnuKdQgE81w@E>)!(;8n>S^B5L23bx6d3w5WIs6^{~XB?(pEN>J%& zGMaFGD|Tlu-;Alg-co%viH1H3n;WSG#vZiM#38wApii<`|34X&aOq(ZA}dmZgvLTL zMAfLWGfbEc!*WN}%f{$?L{O>fZK`^qev_aNoB%_ic8CrPiNDTPJHlJ5-IFkUPCA`^ z%-w+F1>wTK6dzAr-El@0(RMSn(ct*()08Eb6=gcnP#2$NeQ?d^)LCcDxx=JGXp%&o z)niMLr!)N9xFAVS>;x?`RWgH!+`Vx0z)c?DCY9w!FS|hSGF!XM+<`sgICq%5QPm_< ze7q7pbcE7m1qxEtB1B1q)B_4M9hv{0L={_6^B*Ougn0O9>8X!$0EHTYOn)TSS%5*O z!@G^`>t(E$pa4y=KMM7K&4Go#gMI9Y!c&$Aa*yEAjafpIBbDX}4v${&CiXGofJ}P9 z^p>fPWU5yj@w2+Xf8#ovyAv2J+LYl6fY@_WO!7nDkr{mu{8wRx<&>1w?NY%Mi_4`6scNbqSV7d8+v#__Xz~+CO6F{kK|1@rO9DqC2OT7aaU|fI0oL1 zQGsY$)-7o7N386IN>ODCRle>}wF=*i>9 zk6-LO3v~IL941RGqNN!>&eLMn-P-j05gBzrU zV(5fNW)C16kzBI*uy{VKY(6ZR4{I;NikuTbETD~Z1Blg+m?Y-}5DU2d+yG+LpxAv* z0I_f~pL^vkkFU+=f+LQ|a|kHn?a#8?r&<5)S>p#SiwI|Ep5qCDPWt(&mkuF2eJ($b zAR;@x?d3O`iS#^v8cpnj7EXdumcJuu5bRcvs|PKw)5m+hvwxfsLgzqQy|u$w!Rzch zfg%>>Z0caH9MYGZcQriu;ZSg@+w70_6_MRK%Eo(U--tG zANINSO5VR3`o~QNRN=t5>Kq5hNL72_$-f>xf^u5N5B3%gOTempw?(@;i=c7h_-=iu4z0};U@8Pz6uWj3R zYNxLHUctN%slLYu6a`q;Q`V*Lm2LVS^L)6nWJLO9OKDR&yEp6F_qcoC>uM%WpXk)O zjEhEGQ8PavU55(=#(c8p9T@S0eBX<ZnFvBppE%A?t1{}hG7{kA zI8P349am6zTugl$>~PlE5u>w%=f%KzWlTD4r z^CZE_s+(Eg2Y71~s)_S&A~oKyT#fE~k92|iz8AB(ec$7}@BJvSZKM9yz6acBtVQ3hyx)G~ z!u$OR#+PAsrWW%A57UNJ@LkOHx4|AwV?*|%pQGGQ*(v$wvEGnGXcjWE4M_tpWJG#H zcI|9kV~?(#tra?3%{sf+=xm=_xh|dcx9eRxY z{Gd!!0~kG0w6G5(-~opPTl*wbG4&{E6f=D86FOTjW)N0xY~R_Cp?$l~MupDq%{tpM zI@^cNR=ajK-mbHa?K;~icGfB8*0{5Q?riB>!6pqJBs$Ao^cBtsc;Szs!wn#acYNS) zWrcb4p3bXd+8arr=Ymm=pML;qBuKnGLDr)#UqteSM-?$jb@YUDVm<#V+fRY4m1Fk3o&$ITBp_GU zM#O-+8czf|(8D3*ivY)nTBP4^0K zYXD7GPe7R)NVjD)9dXmW!d|1M`xCCO4^5AZGapl$?w6{n(zI_j4c0uk%zMykzbfA= zOgO5XQ-+9^te|m;x_NLMth_$#$9z=% zG8Wanapv?>=SDG){nD?PhicP&BtYsTSdTqPr+imHM_LJV;P;OMp|r3wdy^rVxfpfV z;{Ocx`(F6ve2_K6nWL}Nanh-`JYXryc_=oekN@-o)`gB{>Fbv${;cD8r|sKW)vC>r z)~$BnT$2BfMLtBREm@bbB{+1HT7QVZ^p2Pe?uACWlfLkZIvWutOll)~J3`Cz$9~HG z&-|lx7q*KK2|4Kl)>U;IujBMd%7*361crepd^XXMLL7AdD7WoV!@57n!Vy8A;j36F ztp#K59b$nmg}H|!hbTp+Z$*q3^j@beo`Esf%^gRsmNrq+(12&m}Otn?C^-SaHxw7G2g@?B)XlD|>09oO@N zFsh(~G+vK@D50)Ce;g(T)Q2(qu=6ZRSb6IM7GzJ91$mppk=HMFj_^~$kZH4#P3wJL zt&&$(lgb>f41oDVQmrG^-j`MT07B8|0zP7aZ z!a|F47?K(6aDI`a2@jq*oLgw9%{X28 zS;j{9{cMJf?qY0|C49+o+|$nOMWi4Ka?V-8mhj6P{5STq5grx~A1nogj-bNQ)T^u5 zROulx3TM~Q$O`#DfCz$bmeNgt7jF1&YPbH9hs2Iri2QEDe+LaUxCI&bkY6vs^$`wA zc$~c5a3Xt&d$bOH6*&dy6%hxV%lQ;>$JN);COT}(CDOjC9;9XjSYJRg0&I;ze7uF%F1shMzca%Yx}SIo>|cg(DXhy+WF7NSC(?mWg!gB>U2l zTj|fhttaSjcScG3~qc z1mBvdc&Cn}Iw#?xOn>psiDMAyBnhB;e0N|>sfVYV(=Ds-GJsKI#aF&Ck11+Nit*iqr>3|0ktIbm0 zWFK_^48Ex1a=917}AIPGEw!p8{PwM`2pdU zHtBo!1ca;9aL5gZ((osj=YQLt=+v+@(J`W;!M?!ATlBYuzO=Y6Eg8AX)CxKP{RcxI zVyh|yD0831gYcP69cXr)`cF=M@{b{NfN+mmt8i--9(jev-l7ltz)n@_2GD>oG$OVt zLv%(&8dL}OhMHD0S4YEjZn!QDf9;(Q{<+T$`$+{Ouke_C`CA6bOmU%!4m6DpG_wvg zr2~y5WYL7Id0kEY)-`|RUta&!fTuo0YazE5^2h;zm2BjDcM0nOVI}yG#+282%IjUH z{5>Ci%RT-CUD`Sj=5}h-ShxeU*ZJT;7wYIj-RMF+>q1?+5TgSvnR>nETc>{g-Jku4 zGeLL7?$C}ktMSOs+a;{`V$CbKa_v0jum7E&zKiYx6$S0JT|m3&ySV6rYjnZQy5LF| zdI0T}b4~q+f9el^jZTTa9iUxC{;XX>`v3ttYdM@_%76b~-#bsx9x708JEU;ua>8H;tT_^ls zHtu)>wL1jJ7{<6=`Z)oO%wvFxBE}g{_MrVe-2NVJpN?!Ws?dIu+iyzyVZw56s&@!J zaj5-%p0*K8+W=1+xBrJ9y5k9pv5betJZ{Y6aU(|Juo`z2?N+(nDz{4~_8`pOAV=VK zeQDRhN-%cohu+S%^Zn58|Mr|hE{TV6dop6$@PLUTzG2lX^k9U0Fv2~cBYPB7LK7Rb zE*lg*sEH)EvnT22_J?@dMlfvyJZ;?mKdj#U57K@Wja9j^Dvuk1fhua;4d%>ps|{{- zWE@D$VKoVE)sa?RKtdnjYzQXq+s^m9-~6$^B-(PA*@qZ+g?@lg0qx~I2W#&DJqWl5 z0rvnRM?g{&kW^<#;vVz^!%)45%ZzdFq0dLq{s^}}q7L%E{OI5L+4_ zEeEkkFM80+J?P~g&~fbplA3^|IztloUamUmb4d*>*wTD~n;Z_N$guv8IY{a^3M6}AfijdaOd;XZ)wYcjXHoH3~&zyxChYG10*#8Np*%K?!g{rT#pky5%9PJNdM7( zFSp+-?Jq8T<4KR(??Gcd+*l8fyN7xat8ova)j@7`kXt3B0Rr9yg%9yyYPAA4LyFxd)@%141t@AgKvRsxu^U4@Mv! zC3qX4araXDz4ZA2+8^Nd2c-R= z(t|0^t@cT)!+?YsyvN-BK-YQyi$DC0i+P*%qOD$TtCxq} z3)vfeH_9YW1LwsspBHGBFbeIXVKh6;%??YmEz!T|A@G4p7kwV{E*SwR4KOHivtRhw z-M>b}>HxsJ7sGDQ50<;p70i9K?{oV;w-1uI`|%yKX^%{M&$iS4#BDzafht$#qEaNF5-iCKfW2v2W7g^Zco?gUi|2nH>lk~fcXH%?a|NnVD7L$ zk=u8;eZnn$-H-1c_7!lhd4K$q@BJba4z>aF0X6O#>l<;qHEx$M%1HO)J053&<2mO0 zXMb_+7w8z-EttEk^UdwM+&&aIyB^*JFyDUOAO8Gr%m?R&^M173&+YbeyY9BfH)}Qw zoNK;6^tSo;g}aCIh_!pT{YaCk-4E|w!uiL(^4QnHiF3mF7V&Oi0YpFK$J?iS96(f%;EKdi~*?uYj- z;rt7~b>BCfbHn+T<9m49<9l~-{>V3e=}(;9!}(J}B)4l{}ta{nXclZh;~jyDw-ktEthI)fDgk1lMpLDsc6>va}!i>aYDS(GPpOUPGx% zJD=Y@Y(T}W_DHJ(U}0m0Am`S@7lKW{l^dg z?LQJS9mR>?5H?d|2R73-=XWpK@8$M;rTqZ&?$hmoPV#UEHq)Qq^^HfM3E7q1LS0hV zl5NiKL9{!_?G8%2qgV&%(a}jBGMgvt%2@oyXFm8qpaclsF@z4LAF!GHu5jM%{O$q1 zg#8Y;AL#R2%MZdN%GgX>=l!d1{P5kdNPtrNe!xPX&_4JJRWSOny3P4b8)+2nj&i%B z(r#4@3mT&DA8pH4{D(h$+aHABjdWmt!3vDE9pJp%`90A6{Eo!Bf#u-o|!PK&^sZ_K-o_I+;Om-g?Nocb4{7x#3P9k>iAjcv~FpxgP~hxxA2 zaSv+c= zFLNURp8*CRZvD-RzcB4hKyXo4%;r5j$fA50Qr_|b&d2wbVdHRvMN$Xa7kaW=Xtu@8 zwxrp&yybTvB4VvM-iFftf${bMnyU7AyG@;V+IahEkmdq^wD(cV`^Vcb{z%5#2|-Y2 zyxn2X!W}y~4{>22p6@^n%t{id##qUIsDW6?KGCv!8WeD>q%GQn2Smxjhc4F7x>`H# zA!{58Z%~i(%j$7a$5!fbqSU~84+zJibRjrwNv0sj;z8R`kc&DV2eC;!QINCI4?9zk zv!UrA3UaooAQ#d2lxl=63UZECxlnx)6*)JB+KN(L_PPiy3N6aD4o5v!GU4hzgi+gxmVOV5_q73U$}7euO9KU9MCVdxddB8 z1f_6t2Z=6%DX@ZA9;%)bj1W-{Kds^G>2SOqh^MYdTy#~~Em*rDe&9mjhA|tCsnPXx zsO@EgcpV1e!fQYDrLdLO(~5J`T`)}C#RNb=R(cd3N>E=2N%U$>@N$DB%Nn4#^PW*w6%Au_|-x5_c+TZMk8 zgo+V8y;Ta9-ecB~$a}*GIBo<&aQQ`jY)P>2EPC{U4cl0FNQ2B?yT$56?3XZ-GB-;Y z`#GCUr5AOS`S_Z%r{v=m8y2(5nU{*deX3LEYO3s5y(KjrlA!S~MI83r$yyU3!MKST zj%KdhtijG0IUt1cww7$75OffG>P4MngjKkqVQ#c`s_8U9oP9v`Wg*d9 z@Ktq6`gCNcp%w*p+m`>H%20Mh#0@Bx$VN_XHRbm0B#;g|`vDK?o4Iqzd zz*eJbZhP_ZS!)3$vTEd9P}+AhL22Ku`K5g~=a=@~idWiq zOI~T;EqJAUH|Lf1-Hcb-cavUe-)*?1eYd6(@_x9bowwwcw%&qU+XW=p?q)W<4W}pc9SRx6!VNuBCN`H%oepujx31Zc`4TREI(2+1onxYht=r3@6^% zG5gGIv>k`9JyvJ$r5hfjlxg-^i;YRU%xAcrl_d58IpYH>a4=ZjCX!WS%;U=j+VB~r zOmnOhx}u|^K)hul5Dw$CULctY_Q4P~C&y{&hf8eE8i2#K2)Tm^TGx@ekuT?H~4V3e`uVZz}pUuH2xAWvjBsm~lR2K80J0J#><1$$9n4<%wA z8O=2nzF5~GyY~pfr~>a0KEH+$2G5Vnh*&wBbJ^=2JWQ-+2`erjffiDFHS6h&8HO7A z!sA6>%`#Rz!R0dnKmY-O^ujj<*$(k2{SI8V%m!-C`uVhyr5wcMhu82zp_3jK6OQ`@ z76z~7xmU2jotX1GV4khZ3iQK=p42wPFtztoXCE&CK1di;-A)^zDs}Ej_My%_$w;#I zTAp0g>7jWGQg|2e-M<1&bu9ob> zXSHjjzx@~orpnE{f}>qkDIzQ?;8DH?63t#_Qs0CTUwlB3NBxB6vB3R`-=lj>__%&DhOL# zTrwCdggwFt8^I3-PVu%92v-Q3039Ihr~o6Q*D?+s1PlWVLG=tMY$~6QFbwYl!Va^2 zx#aM^6py8y4xsm1-adN-tL|Yhp@hVf4mw2bTtj~bdB?!F7n&G4rT2XwHx!~Hb?IX$ zyD(%gTFN17w*U5EtMt((JkDLNb8QNXV^b!**dsOWcO4sVlsDd_!y8Y$+R`k>IMk3G zQlIHh{aPU%V~)wvhaCs{^El6=P>X8MDUZCN-g9*z_n1jR+H-A(_YMHSrET}r_Rs83)z>-eq7?U72@(}xLQVG44*ZPQkZ({KL516H~(z3Ue> zi{#IdaQ+Sna-ELADIq#l;y@bLX|{iqi#4`b2)m>!*iMLUqYjPJp_{08Ny_$2iNmI$ z_<>an-9jC@g~CZJjDgsc=*1B1&@I&ETc{gfXyqN)(j=}aXUCqj;mSEaZ|9O@@Gu`= zlv`Szml<$IIyAJMFgFLTs9T?MtoT{Q(keIN@6x+zhEidmwH~3WpPd!9I8gNR+aF;2 zB`bXvGXm4Ma{^_x9-+GTao{HFQtuMXak}`6$jodvueF`ioX?S|@fl3LVAcaeAG%X$ zv(7pqD7g62P8>1PEmqZxX;C9(`MGM_p0e&_!!c*P<6g-(4eLeBF0fIncWE6iUp=V~ z{x?!(|4US^D<*%FlipQzH+9;yTw-MCZE;+gwr=@BOW1hM#1(A!MUA!sF;nvN%pF zVyuL+j=~HW4CC>Ra|I8X&6U9t>39Tkv{zkBPHO$ACo}GJ)U*UNE#LqL*}Qo9yZ~u4 z2oc1!BN#Qimxy%}2ADqiq)QXPJ(Xp36SzW!msR^pHkqTv&@&Sx9^Y)TMOHEnFD+>QjN{jt%~Hvoy1M;_rOB#ttgsalI0| z-%pR8Yd?MYmy7%9U{+YX8av`X*B1A<63V^xIma}M{tY+2KKshy(BC|GF)GqmGQ(?Lpdnak{k3ZVTFxF$gCOk9E98VAXBM zt$TzP+b|+dt8Li*rg0k(k=ELj!;z6E*mIeCbd)waElM--uE0qKK~meTMKSI03fvU< zNd@+$$}vHljzBOIAFcCYd_|oZ%h+dZRYaiJ3C6$2LP)zO?f+884x||!&(jBy?xAiP zSp_qW5{^+~PgcS)O1MUep{#^!l<DB&9=MzRvVQ6ex(jAkVQqeN(w*h?i| zT!+8qkV?c!T?m2?Rj@hC40u6O@D{R4$|M@u@3zm z8QV*LN5=-~@7}T29aA)SM^L;Ve?nwHQ}i@Y6g>?XqNf2v^fZu(o(7cYiI7DkzAJb< z5sxP{*DS5H1J0`$d4npis`9Ev-X4_~tGw9A8&Y{Sl~*(JhE-l&<<*V65tY|ac?~0P zROK~QUem}^YXY68$~dn_Xskzz*7D!mYP5{iXmweQ9yQ9IF00Y2@_M_hMxV;->#`dC zDzCrGY7D5nfi9~tsPYE8ti~Rdx92IWM(y9-Y7Di*Y&C|)x8SpMxE*rda2cmj-iXQ@ zDPuFr8&!FuWjscCdsW`vG6ti(eJXEX8Fx|MewDYsjI}85fXX|t6<@*iq*{%juo}Jp z-c|#Q;uI$p{3^t>9&|Ny+lbrecj#2A@U3s*ZWfH+b$9M`KofZPP|mZ{nR&{YMUD^e z9q&{E@^s~wncRE$o!N&;EuFf%l>L~_P8Z%O4e12u5}~Z?bacWL|El9eN0@{KoD(o5 zjkA+oJit{&OgIR-s5njo5V@5kz;RkZk_YV(^He2*pt1!gfa#%5)v$1?GQHr-SyfS| zYFIc`eVnRU3Acot(8%7; z*>!lYz}gXHo@&Dij=k@B;{^M(83uVX4D)6f;mt70n_(|+hJCyl_VZ>KEP(x>3HEfO z`5|09keWgNpaK1Z8T1b_^uGYNb&f!Jlz+iV$KDRW6ZF+;bQz-m zJ^X80@5uvBSq8g_}|EG@`C0tdaS4u>2>e2u1dPiQuQzd$&L=dO69_f8X315|H zNeQ|aQNPoNjS_(>(UcN&i=yR8A2UjXszifJ5a0q;#Tr%hX5)YG*RwMN+oj#2?MbUi zID$qn(e49FMeQXArut3HlAAQqe?8{~Krzo-ti z?`9H%(0~V5IFke0gOEUldV*p<%084lctK#kj19~>Hu*0WIy;c#kay|D>Pf4Y(fkmG z&QBjzM^n{NoSjpXE;_e`o2%{JSZ&+3ZQHhO+qP}LZQHhOn`hPc6HZmCQmNeJBFV)Z zbBw27zogWV#;uoXRf-F4T8%SfZ@vzK=ThQ#v}zF@o6AeA(JXQfaez}>^%gia8GeDE z{%YxCf8N$-n(U>=Ev5cA=$5hJ(x|sq2VwuZ=PIUN;=?|atANZ65L&xb`n#RheQxPj zvouq599-d+jC?~&#;q>v-keSUJfk?^)0>Ti7dbIM2+9ktOVd$JSXfY|5JA1^Kr@R# zT~D9CItt%gY5(?|M`2r} zzUge<3enFe9XQDkvQNL81S`w8D=7SQ*7|}^fQZ#$!0&`3tP|!+*(0r^kDd)i>%!8u z#-Zp0Zs^IJj@Ue}aimR>|6c6#XYZWeJ(j~Chb?Qe#7nX%hooNWHO1?R7lM-5naf>n zGpc{g!*&y?H8!W7Pe2fCj?Ae)sEQPq7;4#g4_pQoHV7JztdpCQ#3&6`_Th`1k z1XNq4pgx)RtLo{&^<&YKYXlfK`9PY=l@r4b@Rg5qr{p~ONR1~q+r&M;xYyw6S^d?% znCZ3|ZvN-C;_e+3o?b{zv3u@ZEPgK>$F|Xup63~*!d3l!bxGQr-8}V0z~~zhaO-$T z!Dc&(PG#pfP*x|%cGE>;7}B}>je|nJOcPHm+i{)Emy!_h~=LzRxY1MtIT> zT@=n4Nmo_#Dz^jUTlJKcE?Aw%(_}-{jf?ee`8FDS`yIc=Y5Q}M?92hzS##G_L$47G z-fpQ0Aj019zo1Q9pMj9@i00|0_w{p~+ZEZva&&Y~ zFN8qw6rsp+bAl-M(;+WwDIYSS z{=|?xHj)UfG?LJ0c@~5=vx#evn9~0S=lsj&uSRULy|3n4uhtr1ckN@BwIVH#DC5&& zKZicJD)sJPR8fj|P0o^_mUDP{cVh3Aq8|7U(_n7O?~#X@D(F1twK79)*OyL;_jVO3 zsnuq&KmIw0p@?dm9%xq}1?@RwSS=kX6*J!^E#O!XKIlxo2{8j_#vlKrmie*P?!2F> zrprU>h!sRK6lL{**`P}7;ZTCjqeY7qFs!7{T8`JlSM|r8KF&$pAJY~VKS9K7DhnaB&x4vHI|c*-ET%sNE3w9OHB1{6 zAp94HwQ|;75pyhUP$eITfYER702HExXPv|U@H7)2o-8-6OUr{t<~Q6oZ?@jYI2#-z zJ&`ET7-+AC0zn+7?fh@yT#S#2R+rrNia{q)SRkFDqjafLK@RqxjX#mD3y-68%{7Cp zh!r(+v{I#K(Eelyz1-IfUvQlhOy%vF5*~Ecz~wYh2)<^icPJ~ZR&P*NlZ2kXyE;ST zuU}%CLvreJKB#*BLRsJ58v87SphfEjVIj8L88ENpDYutb9D#&-%be_w% zXSE8eex{jK6fLjZx)Z)l;fVf1GioPn&A81=bSed!09%j7b)QmLA z-7T-~)GfRJ#9ZK_9fOL3La5*yJKSg&4&iZq;uH- zdG*^kEbJ=R73rIEp3j!Ag0`UP_P%XCc>2cRob%=DBCKG#e@i@jwyBO@p6*c9p)Xmw z`^0(jC`R3X#DITm4qxJxubMS2zCTra;uyx=o!6DGmbO{_=D~RS_rad?eW%_qee(Me zdzskn@YU%4ZXur@`4yO+z8|Q0t9JkRU*XTyw2e^a?bYir-N>F>?pGGqDJu0=)GA)- zXmi=5X)UF8DorZBiom&gQD3WeVo>d^e?%8xCDF{(F-0cN)V06DJRXByy!;|>^29`S zZ}nl!b;mj><1pB)b`xKl>~8QMpuYX?IEhF)UyeVSk&$&9rQz0b5m|4D*_`jx2iS0i zd)a(>#p3X1!Bnbm1ry1*t1U0X&CPmT3im%nE~pkRp_h-3c%-6+KK(xUnI=lTB6iXw zh}o=!4Rm>?t=ec>gEf67yKqpsioc+Cp@*2B$gD(n9`}!X=pbqIXkDq2C1*fBW}Gc_ zp$0)HB!* zequU~uh{K6Cbb|+M(&U|xoF1b)ZBdQLyj>^FYZu5fh6r_M69JR?~w*DSx{`!Hthxv zxnPj>r@~XK%6~yMQ60nH@2B7Uue|F_+G)Rgzx2|GpLb=QN=7q-kdnawGvOU+ltVr9 zMx%c?)xKYgf0wI&Q-%h4sqvlKGKa-E2|b{Z(LWSuhsu%M19^+9d=*1l0Cf|*hB`Ce zi1gT8z*W+u{b2vi*BPG=e~K8Y{aJwE(;v$mg`)ND3-P&9tc(T^z_8v9kS@>$_l)0p z1)kQWm4k>2q6!br`5R$~FNS8Hbdkc{Dh`KngA;K}T zt@DB$N$L;nY{V-j72gU9m3yc0?Ww|(zZ$27vLuBE$;>}HcR%np(9AU7HgduAL)Ddi z$wy(m$R}3P_B4C>nB_C&UqMoPMlC3puF9x?g6E2g;UQ0+w*S!HU3Fj)eDG5nwJN{0 z>2gmQ+1W{}E9PLfI!r|_Yb+vdzba&}w)-;)NkFI!PTM)3Z)fBH;NMJa1v-iLC(7~l zqaEXtzO4C=)0TiTAipFrfYd8vZm*x-h93q}n_o&~OHG~!wW7>L3Ia$r#pF47*mJ;; zhhP;{>W^o!r}dMS`0~NICU#S5QCCZ}CbbHTEo%*#!}4)uSGp1YTy1p@cdmF`SCakk z>@zOCXUF ztP>#DyWr{4o#&_%Q}_CCwn_B8<~7wB)K2INZ7b0v&R&p44ntL*Iiaz@AB4E>(iT+h z%dq6`77Aa$Bp_9a7H3O_1vG*!(svVtCaI=q>W^s^NZH(ewV0I-7k75Y#fDTyMNM6m z=xfOrvR@A8$Bkw-Lgfy5&-Yca?v|;h=*dx}wP@nan;0`d;}q9cKs)0`8` zSqZs8`a0Wf`-ef=MB`N&VP_<>6xn!#IRiLbZ~gpgu~cPlKlpK9 zMp6I(XA+&NOo!rdtdF;H_qD%X-$zGB1%vQsazen@A626`Eqe`0tjJ1*mY zk|h|Hjgh%$8%6p|hj&NavIMPe6beKP+J&#*Do`gO=HN%!ekthaNb%AtAi05HOgjeP ziBMsXZa|nGN<;|{dcQe;VlLg2Y%ZlTlot(ZE6r4oBkyBs6{f?fm@$DO#boPjEe$)x^`eG^MG~FjE(7q-bEaQ$cnO2 zF#Qml1Yiy!yU7yz)~-asBv2~IimS5*>_^d5(d41%=#)Jc>K1`ybT9Z8xcUj{lrG{X z*EdQ`)mE=uYB+qZ=6gNm>={-MVn(klC5_V;o_j}GB;E{uJnCEPedlT$Qps~7!~eDO zd4|&)fxiC5Bp|^ySsor?H(<+Nauk}K+=WCjE`bk2*)=mRDU^~jnM?KjPqxZ@nTflp zz1$At=~;LyRcQdDo(!}{Fm%$@RM(*za=glVQro0Kw8EN?#Co{S`foKDzS9x)jHs4W z_kp>UmRJ?<8t0a|+F;I4K5p%=4%W@?CZR^zzUOH~WaiqEyCKv0u}^g|DsBT2(Tifo z``dbW6Ve1KtYsLv2T>vMB?Bk(NRh-`=+i3pnKkR23k=4WjVX2UJUN25AVNeXOy#3OBA6)S9JE^J6;G!05Wtd%dD0&wz$Bj68hr=)S8| zN?9hKy?}L$P=uad*S(rXIy@F3K7xaG=bp9v8t#+4Q?DZMjE(D9s!V&$wun&gO}u9* z48hYNvE2YCsP^NZn~XuLUv-7E^;6hr$)S4=VSx5`UEgi*WL63EKLdZ2A?bv8P_;*qapLl~(j#NAra`bKt**BDD_55crA*8Um9EA8mE1-pwe1PAcSRQ(?&u$g@)y1K4FvYsBqZ$~ zMc%;d0qcP_br3|x_ZZzqKNZ%UntN;80A+a2n%E>ptHtt^TW+08l@^{`kBs>8!Aj>D zRe8m{WU)&ZyqcTBJ)SdGiV!`mEyg$bH@Idhgrqa_N#y+lkn9O!e;d!S8=gc&TL1l*i+Kc# zl%E)cNQUJw#~9mIl7X6(Rv~W!Lb6z#_M$}$ubn5J!;4xdNyr4+M9*>g=tv&758QzQ z4+*g}W*LhMaF|9}r>pgnx_>AFY%X=l7vgp$$rDIumqElbTa1GxCZTLjtOIAv*SQqq zyHr6q0!zpRRfgrX9=5WPmsCwKLj#!MYtr(@OQ=d;DU|=*^71ubp(>pol+p`ph-~fI zI;C}*E|*%211&dY{NHU4pIBr;@TGq7 zS(N>1yU1$`>6xUKgy;ypWgtaGe^N$*NjiLv^y`jem;6+M;fzG|hjB-5Je-`*GJM=h zlBZ&YPR&Y|e6qv>5s~p!Cb$DCSB9#h^2R!2 znxC3zyGpo5)blu7IxjDczj*FGc33wpbNxS_H!sgW{bTNTzBI33?%dhk0dXJZ|7uvf zi*|1}4FhgU8n|^6w;8+JHM=J^CL9TEnf}tZD5oqnZf!VvV8%Do6<#2Bb{>Q`Kt-t< zQ9r_As62gi%;<)ymVjkwjV)AVrcYIBVe;==4kV#dH!Wu{kH&;5-W{yf;+` zxA65=XNE`i=-ZLTt-nJWo?5kZe5{=Lg89_C+$zHJoyeIK20L{U2eSO{q*(r1qeQo4 zH;uQWxW?Dq#4Z9I2t<%fNPxvjgT(VJl|3l*w`?VkGNcWSOqepgd&M&(%)KPnN=ZQ+ zBgHpInxw54N7r?81ILuRkhQ#_^-BX-}C}=2zx`j5*Z%i4=jP)+- zH=QMVm?>>P^|F@F6rc@Wr`@><Ss-dT6X_D5JCP5)e>YH~&lE6&V@yK*C5MP)1~ zBqYJsqpDa@0t?{0RxMpgsRC581RJtc-O$VX8HeY+>BV=ag?@0n{rh;u#d}v;PPlO@O)*ab#@bG4)e{a$IHM$IINErwdkqVTG6w*(6V0h z$=xvK!}m*g3>@bod%g0zfY5t8Jliasf{~?ll#};PXhW8V7y?Pb_b%cJ5OXK;6&Z(i zxSqwEYa)tj^crwyY9d zGu@Wz;?6>J^-SOScE~`yzN=>@u(c4}vKHKWqLl^>?)ZRWWXO$?;|K(Xo$D9qPfgJz z3wt$-QE}oY$)aR>4wQv^t2r=cylC_MN@MU3AIJbQp}rjuQc&d5vS^FgiF=qyXR?t| z$=1|BEmKfct}N5l0F)`n<7_C3@VJO%iMeRLKTUzhrY>C0JF0BkUE!5154PGJqDKh^ zWgG2Mu*JIZHZR88;0rLkFUk}ypM|uE~gpDqvGiogc!oIfWWl{Wmn3A=D4g;p+ zvQ@F5iqZ5F3+f^CvJE<3`Y7ED$VY)fvFQDZPm9l zj95o|qlzXf4~Vsm2ilw9yzFo8*>61-xR9bJdAL&C#-Hptcf=v;OJkNS9X*T#r@zzKNEs~gLS6#~3CTZ929`pk*A{s%+^BUESL zvAW2Ys5n;t+=aqgjdHTZbQp0CPFxwhKc#V%Kr+=RIISz&N!1%87pGkq`c#cCpid1x zTQ`tE=fw|Pt~j;F*O*r6&sJ`IP}$UA=RI1Aw;25)OTHY=&tD3Kac73&G{k5Slps6i zOt=o0@RtrvH)@xUwYX;tuuv!SdiHu6SM(%7YW^`Z+ren<M0QZr?X`O4h`n0tf^YX)SpQ+MJ}_&|lV(&d z*nQ-cm%?p9oIZ^|FkJF(?3x+%QUjd5F*BVS53!Y^?dG7z28XcC8X-WOT8rYIJZ6Or zWY!<*m9u$-T7G~xdi`m%oRM31vkoNI6$rb#nDC!$3Cg+btBp|BifQd;tW|4^t+=#- z%2oQT!*tO4hfTr%Q?#S+m9A1x3^(ax?I}FG1K|e>A{kdDTv57yR6d1-H63D{=aqBr zQBE7M0_DU#aqd#^wr?1#6EW;{K}gY(Il+ufgCVVqytQ-zTsxyCQMkRgIdzf>DrS0@A@66W-Ev2`M(v)iekY8r~I) zMb?{N#akID|NVfzV9a`fCu7+$u;qzmXptbBaGO$8lj6-^&0bPSt*`t_t_Ef=|{THgda{mzS>9OR!-ZxovaXfi4NvhlPZ-YsXboWU? zV*j~+^6=vLo+~>0?~!!3L`~fP=N$h#MEfpvYhW70@??-{gGv{7u`VuSRL%ae!Sh4C zhBXddTzQ()Zm3#+LSA#;{1ohcdZKL;?{NUr zMeN?hln?%dPOU7(Kw5QzhBa1cVTa1$=am)dy1!cv)y2n)mBbsQL7eJ@Z)8^W=T0#|NQcgH;wRtHu z9JzytV%CHuvcwVLvP>Esa3!SxIME*GhFTpKrPXO>d1R^8J$zn=w30(yyEbka=MbA$ zVuG0-z$6tj&Oq_$9R~x?1Q`KO`;>UUI{)90wvZO&PSA&^$PRN#ZBoPHp#qQN_n*+s z56(9PL0O`Zv2%R1jbT=E^dLirjFF2qEpjvvEE(gq%&~eY;Xf#9JsmWh8_#K`Z;i_V z4Gs9A{aJOdpfg5RAhguW{HQFU0`DmPaBd*R4Q2iG4YXBUAIhUJvYT|BSMnORbg?~B zh$Pxd1cf2;s|l(g{67Au{_uWtIo!m8w`d{+2cg@hdW^8~)dfP!emKBN#WY(5c+O6Q zGB;qdukSB_GQ@8kh42m>J~RwKdhxt{P5~5wI%g&?5YKU{BTC91<*Xr*Wdw(t(#CStLZrA?Ct{cU0B{uR)|NlKTl6{;IMEy<7MT)7U1} zOV)T!qa$$c2eJbhPEv=(2 zZl+v5CIyA5(Ffb%rOg1+x(+EiMxfd@0uI{f)B7oE9}_e8kw^t_wvERufXUoR_da)w z{+S?D*Fpn6u$D3KgR9+O?4ziyQ;?Ob*YFapJPqd7hJ*wKMb?8%Vj)yk+A~(#E2oIp zy`-?8;Q)^`Xec2g>^a!GBBd&7XCfQi&Q03CiA+NJh5r%+iBw*)TAyJt{cE(97e1iR>)inqpt(S zV%5_GIJ>==R>P~xc4fa438VX$N%M4BE1!dHxY%@1+MzkgFkgbXxmHG@2O4Y#kw>)m z#rE6+jt&d5<46s`%Xuu8g0J3m;BO_`WNrGxq$p!$Gz4K=^KzQLt=XeIMMjZY^O73A zx!HrC8Vi8UPLYBfeG$C8&)?Jy#o#6CTHtFj_*oh}j2=Ue<@CEfwZRPgXjxpd4RWl# zq@6uDnCcI!<_VU0BOWV?tc;yxU5$byEgdPv2ze_cp2){U@gq^LA%-Cx=nHCTqva00 zuseM-Es)#W7N3{fngl6llnD;J+e4407eVCmGDNyAMHRE!SE@7MIhp((QSvenFCt|j z_}nM&o^zF4uPb@^41IhN`xe&o)Qrdos`K{}2rFbE*V%lTC(ZtJ>;R~TjH>70lI(TZ z7w$x+wgQEtU z=hjeHgd%#OmlY^+!qs3a9{1%q=NE(rB6I|D-Yf?mK@p6Y7c*xkm`>r&q^IpX*Aq`= zwUKe%$cB|vAxHt7)j`UJU#Sx6$}uQ}zs+OI_r-F7Y;@Sj%d*Yo1;E}%)ooRJXyv#U zWq)GC@lbRQgUd^S$Sw(M;@TMa9*HGLDrJu$VNtA9^VlZ_OB;{!m+&e&kLiZ@KtUFU z3V2@jgb>uv5vxQ?qWmOh$v*tLqbcU`mj(GhQMID#on_R@Id2NIPF)LWl zP9g(-o45iI;mz5<@`-I0>bnLkm@`b0+2#0`uL(w#&4qTAc3itex0t8iF&Dz5$mvY@ zP5P+53M0?~8>92KjW+|YPa-9j#O_ac zrM22T8D44N?F%ek=lYIegP6asRhvNZBNr`=g~K&y)g z4K*;#Ev1N8=~mH7T|Ii(4{N85Im1GGGMxUfCChTTD#wA5N5?~ZnRC9qx}pV_>Hb%N z!;WYv@BW;@YyJu|H~Y>9N@zi5GX~Ov1p4ljrnfWANK#{Tz{?(@v0pIm31lJS`YIOJ zx1pRairo}%$yAM=H2%+Vn0lxE$!rS^v)XWFoZpk#-EyAnPrD`>5mmupn9tq;dC>Mt z{1)s7c)iwDY!*)LV1am)%I_MU-M}em92)P6j?~ln(?YS+lKKZWu01DAyw|5sJGRxRJ!|WpY9!XoA+PGkA0FL74136# zowx=3if` zyXkDbfrf}1_pgj<^8o+h>34lUD^2|6`e<`dEGfH&LY6t@t4-(>q>sW|g*>@Vuf!8q z`_&{-ZVoDbdnF`DhRpC1>0Qbw?2MXYXjtQdYbif5;ugYfR?HKjxb!0-ACc-Ea`?+lO1O8n zb(k(YC;YmG8bUtr*(Z4WxFH>L_tEKI+0X*yNBJKs$O0DDRuJn1~B76CvVKBOK* zA+&A$vUd{Fw$RJ;J}0ki=vv6^WIVBA7Q=oStqh1|@$vy1h|8oEr%IIFJ~u{RuE9Gm zb4!z(^xbeH=buM52;FdV<$S5n6@0ROB0H2%E9hlz<60>@o`=qnyOul-A1S?KmgWk6 zKZI2|kcWI+BVv;l?bmh5a=wVO_`1K7{vy!;kd9e5W^9QFY>Bw> zuBo?V0Z~vyE_!D&FXSGDHR+6;2^r7qiovIq65d=y_qX50r2uVs)TZeYFc!xCiW%}; zY!{5Rb(KEWI*?Xv@T;pEgTb%W6}LDu&CnEx(zinmM4*N*+i8yp-D8UMtgq$vDH*h% zQghqJ&q_YolG|1$o0}=mF(fqm*jbIh1$*jE6BdacB7Mbl`~QHWmJOg2pjf5epkk5C zMr85IU>Y`n6?Qb*Wlj{l7M^Q|wI^eDk?V>0P@}pDX9}}d5~;G^O{vw;Pr^uF+Mji< z8+)pzKWcAMT*xsyMNCB1sF*$mDw{(@{_|HkPpJ?dE_^bmg|seUS5IS@^pNc3H~b_4 z;4UC6|2N>x8)$$t0R4$_jSrOpAsh~2O{SNwXrmrQ$RRI!Ess;u9P#v=G(SJz;ocd# zt6*yHX-!gLdxw9G8DgzW1rx`yJpUc#n=&D#&MT=b3Cly5}(sOVpT#3s~~t@mVr6#Z&vGXnc1 z`Hhj>9B4&-Srx+-RrJ8yrCpnw9<*PTon8?=R41L`s?j&nEsmyWl@Cv4H8C9d3^1b^ zh|p$_Y}2ILI9Zk6L(4O)AGjB_MyM9us>+QTK;clVoytqN@vT+3U;q+td zYm7J#L$@C7#BvZ~dfG<+*^x1D=0A~5QA^Dp1uX6{-J%PIbxsw#Dh1)@sW)=K{Y~T& zrN@Mx^N_hyClb1I?tC93nLRC@@Q%yl{ryDiTr_AK<XdPv9#aiKX8K0e0=o}J7e2{{FRnEa%z%03 z>hA@MxNsxHRb2_Kfgi2EYZ2yEEvhkSUO%L<+*??_e}h=VQQGJ@MlRSyo!l^FYF9!W z%tNyP@gf@t%=vEz_2j!&j)8;k-6G`Ks?xIa*=z@3#o&2c=4QmOF{YVK41)i28CYW= z8tclyw6y~I);|4ac>^%;KN~r%x24uV^@RzI*!5r%nR zyc-%WP58EdFulS^Kj78jwI3`+~p`W-%c{R@o!NcvuJ6glz9sPl9T*LDn zMG4gbf~n^wR@CPdk?Yxp8t#_#k_VE^{)u+2Vfg*~7J$flOr4AO8Qt^X8JTn^$vVXh zvQ#eKdLe%d?6K~T4dps$fbC#r8Xh3GrR}Ezp{+~?i!LU_h92}9`LCa%Z>OJW#K>xc zDYR*r=}#U##BeK*!qwVrrTBW?nxip|Z!1Q=+(7LYu%eHPs1Iu#q1vLtQS_G>Unh%r z_JA%I5b>Gwb*3uAtQ}?6o?4oA#yDon1}{abHuKgto5hVPBvIe4^UrJtE3z zj7V}n8;zOv>#RUbTCE7ia#sVTxA#B60;(qBO6xx%JsbV$9)-BZso}{|2&}?Nq;t%PWN+wWG5R zsGATR8^jucvnb6f z@mro&?^E_wdG(=~)lkHk+GZJHy@%w(vq?vU;>P*4#>`o*>H`w}dXsBZs{_`=J922| zLz@?yufjyTNMDya=fzRpPaudHM-ulos)h-j2#lLXdO4lh9v*9#UqE1uF0|@L#;ic` zoJjg$YO^>7$_;u63JgW z6Aid)98h&qTzpC~tjW68ORYlCxmb-N+mPA>1m9(YWrak9Gs@Dy64E$SEgBGR?wMV zP?c4}YC%@jp~`F6K-a-sRa=S0aCfP`RK+&ECvh@xiiyV~-8gKydSjrB0F$my8^W@- zfitDZbD&U|a(q~8Wb2=zn9S&C_-DN4FO_^D%mJxe+MN?4G5BzC;3rFf$>8@!cb*cL z%Hn`@GBgWp7YV0&xyCMM>XL}V0xkI{`K^gXln;!&#?S;)t5z0KJp~hw2?E^q9vO{x zer9;T!x?*671pUePSFAFaPFRd)eg-B9WD!(Y)#irPo!Oe^XEHAc9w)rl6;(Wb;L^N ze0FEn3A|sKrjeauk}Kyc_;qpJ)5QU(_UU1FAw%lUD~EW^lOx4Z4HIABlqkic#2q(I z$>0eS1pCw%@&2gYWJx;;kd0>-8gS)j)vS^WUKyVRb0#N+0#XrJl<4+deMKCK=bDzd z%<50wKh) zB!xm}U>+KXBr$X5k;e)WSaxtO)_%dDEukLcQn3{)6 zifz%5z^VL4THfjW{G$`<`Q)0A;1tmrZmey1{NeBF3Q7a1IqyLczlD#18`6jb8(-PX z<`c~o8r*2!5Qr%sgCnBjninsy6z|^I*hjeIahn0s3Om9})|MeY%^!B5&*3UT7y(nf zlx>{7we8C>@LY5fpD|21KT&D^MTnSFx1)P+)k!D$qx`lRZ%q`3rxSf3cS#H@ zD?pI$JKh>;eMRx!kN03WKuS0;H8Co_02up3In-LP9127D{SW}d5Oz{AC-+HrUkPp zp_~Nq8y-{@xZ=`t-a?V1MbXvBNhx|SRoPd9^vJYbHk4vLykqhf0s!n8jb@4$c)SWN#JD0 zf;ry9Vwik3vbh_xEyRY0o|25EDH#AdA-6dM&sV5Zz#DJq>mQ^Cd*v@7Ruo8X@>$0{X_Q4jCmv4R|#=8g4u72C(jIg!c- z%*I%@X?|{Er_~5ZV;gEIr4u!DB~VJx`kLM;JP|y=K3)U5nLnHugZ6Bnt4YyD-2x$) zK}DtG`7nr|?=f7Jz_4SLmK{(K#f(1U0bJJbT(riWIY-GkvpN8)e0wNO0?}8Ka5kOS;4xf*F`&(m{GKS{X1d~5 zgry%I`JY@Ed0{+`2)n6>eMoWSAv5H@r1<9& zYiJ};#~yu2EH~gz+Rcqy4!IB{c5M6iS)j2gi!Wqw|=jxfR&?0iU_@HIu*~#6^&+Kn@HV zpp~#jEWNcy8D0%-1g<3R02VH)8vQyszFUy$Aq&P2GbE@cWL>w6qS8>va9_VnW~|5F zMv|}JnK`MJNO8U_en7a8aOg00_`}a|+-|r`y%cJj|E7!XJ|-Y=Iow($ZMor5_95l) zHUzd6;Jjeo=8kvH|0<8izH)qz#~GWoEvKC!{6x5591%>&oNlH%I_U|_baYkwfY4U; z)>hS5frld)QZ)q0)n*?Yjm}!9ht5^|M8z0AfS$$}C)08>K{Lc+M?ed?N7f@+4vemiB&Cx^K!BgTYydTq9!L z^_F?>g#9n#ViiqCl>u+JF;-eKJZ&zjdZHu)4>v;*pC+ji`LqeMcvZ{qT^<$8sU zape^tdD&?aWv#O`L`P$7VRA7euB|C;;zPLWt@CkgbN@z>=s|@qkY8Tzj z>;5&c*J85uiQDrD&YJNVe0??KJnj@U>}+IH?D)}>Memny!2gh&;DcAesHNd5?L9Aw6Hsq&gKX-{YG7@QWk$ zIS4xgKV7`AA%m}p6fhna-^=_gw0W$S!1q2M$7l9{%L!z=qnSSfp6X|HbH15kZXeO! z>HA&ws(=*RzEhGteZOt4ugCqkBZp9!zulsptX~e;bwwz`zu91+CP&uWBix=bqZ>0t zFghEf^O0HnD0d;6pVY~Oq_?t_Y;rxE*>+LNY{vpzQuLFO^m-D~n$+t_Is0So-PKCI z{Ru)Yj2`{#KHv7A2TMYA2iBQ=S}Y=VzY-CER0Pm^c7fj>r%4#~nA}M2LmlI}(P{tA5g3(eN{UiIVIr$V0mjRC8vfHBPzQ zy*psaHG=8LY+&j935?3&8or2qNs-}C`eH*1M*gcGqhYlBcD)SYd#vVrTL8$xZPG;W zqHf!Zj`Mlh&U>5S@p~%uYjz%qWRXR6{ya*AnpyjRQeZ@HWV;KxcpYQU(k8tLv2~0b zL%a! zRYor6dxvZ1ZU)dbniYKy4CijM58C??0PtJHrS?D0d2zqQT`83A zs;F{clljdkZx-rvb=$D`1yj}`P)_tH#-tN$T0*==-2U&1sIx_wh#Zh?tfw;=X=p#s>6k;nq>W%()bzuk$DF`Hn@SdwYp zTrUrFgzo|d>G0f_)IwU|M3GW;CQiHR2nR|_ zxpxH{56Btc75T6wQGri+)r~u@S>L9gz%~LC({Li?EcMP11lfk#D9G-RAQOBl){eH| z@@|>7eAe#^;*!AkZ3Bg5YIoACuIQ*5&Phci@Bd~L-cVUt;BsEKlyb6#$bKIdE}vS)$oC-W2lv=&`w`+{BjglB*;qcT5x z1Cg2HReLXB*8mrk#SX&QBmf2dlF&|?RARHJ+@w}O7o%7bD_B$#?ibo+P?DtqxngvNJg1qhUg3~y-%47e}RLJKGzCxS5c zCjQxTEc_1uLNP!&^$=G#F-=BN;Ccu&U#V&H5oSm5mp{CKM zi?ws4nM?%p+In6B)vMHT^H}$jhpNcQY!uy=qT5HztX+4A{PU}@>~*tGr>Z8##gK)V z9w`^gncV8TXK_~v*4o4x%$z9G0%5g1zg>LCne5IsZ z6o(ly0Ks<%hklOo0ab;7;N)Lzc8XpO16YH`R}r<}IRDM8N4OGZb4ujth^SJ!&8)n1 zgaSAPHiJkk2fCdzhqN$CzHkYmy)~tP_XJ97T1nv`V;9@M;TxkIW^~DRJUd;D6qBe& z3gFv0=~rm;5l&v}Y2`Ju&(wIWEs@#^=F*lt*+h+gf9BOjz z@KK4d;KBZ~Mb=R;`wcoU;|EtVU8Ym$Uy;Id%a)J#7B$P` zN>~DOuSd@c-`Z=YVg?EJCXdB)05hn#)%pXxge~=tA|>YGySK0}O=J_>U;AXH>lqrB zQLa$>YuSM0MDZCv^HVykI$d%_!XuF%4_|^8cDQ-MlLM`Ne9hwu^B)*?IXH23qgnu* zuhUdd%%yp5ftj-7<6oVKQM3dwJpRe4|L%i*I0vraPjX}FKbKHmC=x;rtrc=!rJi4R zlVx=qdTExCN!MjAF3!R#43p1s=C zs!0TZUU)F=MhdYAqaU9bwuerKmW?p;h%b(TVord@Xw?KbP*k9-l;@cF9)>`%u>+vp zyw^u~iG^YpB$Tsl-!_aOlJafc^(n=0NJ1kX1OHAECT&dVM}t&oUKW@ zg|FtQzmwdSNf%!I9x}wv-_>xV$QF8I;&97OXMMAC{ahf&Z{JKjt+9DxkI3lXp43hQcj(&Ow0Eq1Sd`g}_|C^cOZCAbiVx z2crWM6S2I-=97q(_1OpCi^RL-2?hy#b-7YT#q+m2L4UVdoFG_J{FZ%19icFh_tYlH zjY}05Cg`qzc}f%Xfq%mUMZ1|GJD(tYCC)!R0eftn6#}K!TSWBs4o6-&Dy|4`(zUPW zL4J#+f6LyXbj+k_VndJSou1H6#qaqdcXP|iMt z>~HF9znqP;Hv};t`JOs}>G-?{{++S|*y01&V&zG=s0fV%ILr=Uo`4#A9JwIDB8sCD zuHKfrd{{n8`5Sf xTlCHGrUcXmbH`OYtY3x+4Z8aRZ;Z)eeTT?_<6j+~aTcop`K ztRq63I!ZHrRX0~4V8s~Pk+L%bF*}M9Zz6S%(Yb&6vg1tPc}aK`dvd}T5DBmv2rP!R zk_T^4*6|3BikTpEZyfarhyvQgtkl7t&KSW(v0TrRc132jUG3sf$WK4;6*&M?hhUKC zIHlSSkDo{D!I;&q)ao&QvgE7k>}(4k!CHcDz!S=-KdlpeKucXJ9_Pi4hBpA#wq;rD zH#q%>eFbfV<~T#VbH#B8b}(-=Ysc$#@rAZwN%kS?g2)M_$mt)Z$DgsUI9_MG<&@ji z{J(lM#-=O?TU{K8DsfreSHa({eA;SID5g;!OXsMHigd+jc+S4+cs&yK-2v%f?JCyk zdx9RnYF{p+D~>4I(ti}Ghq3CR9z(Qc42rj3ObnGN3TKLG0z(O%RkXhqC@h(Sa&q{f zZ_p}prV{V$R8pNfEDprPzRi-2CQcQ_%9=fVeZnq=u@<=*8@q~&8VL#Aug%>=>4w8U z*D_5%D~tOaX`R2^K2C*vo%)JWidM$%2b0WnT_{n zqwldYQ-t5GI8`~GsyL$5A?)e`qulGct^22f$YT-CoM3(LM_58^qA-k z_!$*{Ac|_LUe@tO5v>hgPeyUWP!Y)yE8(c{9l4_- zS8qp!4p+|I;VaD!N5u|TiXE;93f#HF(YZQISG)@TUD0tz5k&HSKKd|;C%DD<=x7?XB_E1*V}zqtdchf!$J_=tOA*-SomNNBK)6 zU=hIw4$rWw8m!PPS3z}zGJn+x>5G{BMd`erVyZ1l7rRY(<+4tsCp_W_$0?jtn6501 zEy~AM+uhir3CzNlv4#0dC=e8O9b1I4)ugM@wqpx-7+a{v7M8~b7$nR`od@{P-=m`w zOjqV=u*_+}Pnto7bUcR-ub=@Lag;nR1C3wCiH8)9q@U-Hr;$88H$##K$CVj0Opro( zO0rzj!>+{VgW0C`lF=e~zF2#*tsi#9eYuJ`!K{l*#S%q$Beb@Py(;PWl#WXp%T=sn8;)6HRV{p`H4lvU3tb{t zUYz(4KnE*pm-@{5jVqQCpmtM)y#2pMwi_5c@a= z(2H?S*J=#sP=#QAZ}msZHF%|RN>R-$z`742$WfwiH3f9@aT(%#p)TI?l(*#J@9GA4 z%TwNw-`)Onv{RL{93}SNG5ZuAez;?eGQ)rQd zxr(5r+y*NZLB~)~tt(~HOhwSzqG#u1I%;3*QY6-@fm$~BVW-PlTRJLncPqi15@u}i zojXA4&Q9>a80b5;HFj<*v;S+J!%i@F1ay}df5k4_DCYt@hN828qDm2pMyCqiIezB} zwlZX}nRz1j&Y@gOr4L9I;=M!i1*|-P71W+{pyK7ntJ6)%S?LdV(}>O$mkYq7fJVcR z-gIw?uDol@DRaG_O4i?#}IC zsos8yKB6*k8F3A~(h$(xevUjFjr z)>oZ;WpdLkHyrko%btDxO|QA=dv3V?`isB!2Y%q?FZ+QTu0Qg<-}jv3*WLK?mt6nK z>*)U%9eVcnKKpy+i`Sk!@$BO#sQK4Z^Y1^;X#d1(Uv~2Nb=RLPcEYl(y;jTmf70(O z=$~)AzpC^;QF?!adha?8>iTo8f8`C=PuxU3dd`U(u0MXm$%{_jbknORUUl-KBZt5D z@DCih;Rmk!o+CeS==zs^|8rjU{fB?zxHe{9R@qu--9zUt(QZ#Z%DO*fvn;ng?2;zcwuuf9PiTz=CnSDtvq zEjOLK;pXEv-F(xD>t2oLm)vyo$yeQUvvYWz^-D@cS#TJMqfb zoOs2nuY1`IufE}RH(dW(l)I7Voa_6qC$F1$)s3&9nvUP_aw_r)s))w-l3T8O^{ZZf z9gXhgCr;)sSf!UAzwXv7;rI>Lzv|{!-EiZ{*WReV*1y-%kgnnp{pd|UM&Dg~!^xY{ zmr-wDMG60p8&3SlO|M8#o;?1lmr<7{Zusw1Q?7fgtl$H_|L& zdT%&Re^0*TC#dfy)ZG5plP|yY`0<;LV>k?ouX)vtuce{_r>~@^*WP&DYfrxNrsJ>r zA2(1X$6rM=@jq^O$qmPkpSbC@$FINP=If|Zyq+Y8yW!-GH&OkxTra2by!=%+^1Qv| zwI_e#h<<+Abti7P__?pR;YOYC!X`%A2{?AFT3sso^$<8CticuGy(YK47@kI?&h10%bxsYw`JW(@cIJ!H$wmP z`%6miFIMk_23||sbqwop^#5k=N`U03&U5c-(YcZaAp``O^a`O}?LDj2Y8ixJbXfvj zNGnc3t7qoTZd*Nvx@UHGhzp}C2ttO!v2h9!yG&t748&NtNaBEPL=cHWOo1svDwuKr z6B~n#Rg~>uTR^`5{qObk^lEijqLMB3cK@&6`M>{uf3Nb{0yFL+6Pum`GX13u^rs6A zaD!n?#?^p}{+1c=V&{C{8O+X3eag`L}aW|VTZ{3Md9U~l9jh}LO!A{SVh*c z^J$T?UAhf9#Br6v2=HY*g0ZHc@5gbUg!_}~{!h4*3@DaUL=&52&t|3|{CsoC1n0UH zl09-JZKv6^+fobr!C(Rr@)L zUeArt;#^#xinOJ@{!_z{bZeU{9lz+>71PNTnWk;IAkb{t1GY>%Zwe9-W;qW&5@|?0 zx6?M8u-HR9Zrn0>v)fewc*_r;{Zn30qQ9Rw7>T;cwXG5V9 z?WHA8g0Ud-h$W3JlVZl@n9Dj4_YBD2q)AQ;ysb5 z($TWxm?7F1AOQyxiRDfnOFxl`9b+OyS0Xbox*!LNI!0a4aMl@&uC#V4N*4&sW`&(E zjU+-9cLCX#`IB6^66Vr6Z1S=b6=StF z^NGj{CG#89)r4yvuJa@1^CNI$1Sb9U#|m~@td#4}r(L;1h6H>2be8LH)GHt5Wcvma zz_^1q<>jgW-ROTK`t3c9*R0`7Ph)!}3^z%=Qg$;YOjMv28|*=Nx=vb1ztHpS3XD(` zlJaA1oG^1v#$0-_3700@3C-TJ@Z^_3BPs-4J|kwVCp&ARA?-R1FRACf(r~|mPto8$ zY+f zOO*2?o?UENxZMQGVPDxJL!U1wTm7W* z3iHtGf>ehV?1HgZ&dFg6GZr(p;(n*X$z+9}h7g|UM_Lv6L0EnQ^tpZeeP}lm<=?`c z>L}mI1O*Pl`Diz_9R>q#zpDEJ?$dD3l#5s=1d;9yWxv3?(?k80^E>kJD1d3Wb1>Yu zZ?Eanh@H;$n{X!?fo<8ijk~SrDBja=HaD9cw8q0~jnikv z~!Kx7=BeCW{>t;mOhLnKGwJ{I>H6z$L z1cj;=7+r*XSy?P!WsG2CTCNU}&{iBigSo}6=k;YB&o5cr%C&>XE6NmNDpf#dd8sc_ z!n{#<1u`W~n3m?+m8LlaFW7dmpiBkMlARvHG#~)XoIUE~$~kfkeJ2Gkjs===`E2H< zt8gdkL_g4#WGN5^d0^#}n~rZ%#IUjfV^_m3w90ZZL(H91<}@{Bzux#R`fcMV03-la zD0!a;~JMq9<BYF2X zF{20T#_rG{gh8o`<0B@<&HE&tsxcm(7msZicVqO6C8xQeFwlT*rn<)Bs1+({3cBEF*lu_PC+s$4^CU-I?GXvjI3jeIx@v-vhXoQ>JYhjTC+ zdYHmHLl#c**HrM!x(OQzS>Y{mD8RL|Oqi7z*s@{mrViNr=1%xlV2E~e5I72Lm{~q2 zW~?A8k{i2rWx|wbl(EqLcsCXAo>O-xGuq>1Li9!fHCh#kAgou^@S4eHs}yf`5e-L) zj){5lV`z_%DjUn~4+#fj{-1E%Y_gHu_Z_VI{RvTC%E1UCJO{K+{7WVqDcQ|p7}fC_ z*boqNa%WJP1{9fNObESs1xP`^hV=hzZp>Ju`40b5f(BAHB55rOwwJK?PL`HL!xCxA zE~zGn=R}+G?s=MSPP92ARW;U(;z(&``Y@jym|WC>@*PQ^svR$UDkeR$@eu`DqIf3r znl1T}tYU?%2he^ASuIL`{dg){H%x6LluUJ4V@i4FdF5hBlcLhWGwL8lpHdvU{~0{| z_cYz#rbdniYIth|wi?-**YF_V_7FVOXw=MaM%;nj;6*)7E^F|6ebL9NdYfO z#S>w>C=22F!x>CZRs0RYKF|$JSzFh=b*53XM|aJvrM25!w0f5g>^$zB zxU=Aae5gAg#w+@&Z6LLSGz>=5Fw@O=clQN4rW;z#urQZz99Y9hvdW%gCO51^n-Wll zIYTxQx8MdbWj&c@Uh=AsELd=~goGoMYWb5yz6a?GCK z2-RqB;qxuIld57(1U7o;N|FR^NYaO*`{@D{xRj%oayFO>HGp|qg{*Y(ut0rGz-QX( z7;vX@{FEPP5wFThJgG4U3OupJp^3eNd67n;b6vlZOBGxx{_)Z)6f26SEMfxqhb2n} zfOQ4~o9BE!Y_Y;rMbh$MliXreU}^mjm}^0ag*j{2PkMG195ag@$Doqz@klS!C@FXb zHHj0@kJSVV!d*UFO4+6KkfkAgx6&?bSRa}>=#-wrYxkr%nX`8YUYbAT6!n~`?x0&p zVN(Lb5k(_IPDzlWz)E#F--WtaKqKobdeSPZI?r$kr9)KT1P~ToE!7amTF_4UF;pgL zN?0Lgp*e;?pv+Q!wI^~kI|WI!@M9XHcMy{$0-@pn-y{LbzFG^Py8UipOh#YoT4VBz zbY?4S!}D61(_35F!b#vhkz(Gs)0yyVhy_3JO?(vhyw8ju7@~XMAQ8&TR3uiz%r~Z?vxs40e)zzbKPnXqTAm9gLHB2gf3VmDL=I zNty^zSdfZT&HWh|O-lJk_@RqqDNJo-t__TqM$xZ~u_=Mg&r*iVrU4B)QlbXgMHH%o zj8w@hSeJTYIa0_H-#dI*X6a|TXDA9Llq3%LIq;FHMG9{j3(`UIuk0S8ED&&@AfqqghsDs>rD>hV=o7ZpB={`O9ig-soWZ{n{DKCx<$iFMhA?4V_H?jp{zT zllShI?aY5>C)0UbC-;-+WIA8p$?vc4WWGzQc7;yn%iC1Fdpnt*dKU8gM^(G;tA2UH zi5AGuY(N8GETv!q$!Y9D*(9gZ-BquUH_o`i4CkvHVUBbbT4hTR zAg_(oq2%STGL;&qx`Z*ERU3`_Ce)lWe5CBrhHqf=atUd!uwt)v6Vd1NLIvNX0;+-< zn_HwLpd(7klq$=i^H@3XTPhT-5Igv?z^3T^=i^Lwe-Y<%kNe|HznadX^xF`jZ%xNh zdX4gjru!(pkI4oYBhGObd&G8Vfs*iK72B0)@Ar7fxWb1fwEF~TOBDj#EcLf`eU z9eJecRSU1$rM& zC9r^-5q{cpWJ;{9Ghcl&bO${Oi$XNJ@T#Z>DZ9}EZe6LI67-l883#(YP?E=zR<#2) z$6x{q`SI#3hkIl4ynldBWVN`U3>SGsE1z=qs3p&3RBy5>_f*}*1L%j&AlK7WRy(f9 z;*!lN#DN-g(25ygwgKW)&1hG~w8fk!nyhWHE|&R&#e59=MRoLFChc^zL)^Yzb%Sr`OPKxF=7Qr%xFf8nLc~M3%onCFdjjG~Rs444Z2f1dxfVzIEJUlX5xv@G- zTYG2M$@S3LRekkf70g&EdF!yjb|yX2uzI{DKTu(wRCs(H%}xx#sk993t+% z-(cWp>pnpdN4`-9=a)dxUD(+zo48Jjgxq%%`~}XrD$_0uPY=O!Bk;Tk{EE!ANFMqv zR`c&ukLO#Vj!-UlrxIe_|4(wce{xZ6E_XbXU)ZArc<-spWmB1khH>>$&Xs$A8e=ye z$wfPr`C|u{M)Jo_E_cX*Ig*L@bxRV9he&Mx#WCY*vb9t;j?Nb=!>nQ#Q2DRY-CD!0 z?{fZdB&k0nIf10R#UY&ao%FgOYl=OK`*y_X%eZc3Bajmg6Os4qFxGcH?st$v3c>d) zctfGIDqkoM4y_kCtZZOJ*gIB`EaMMHRN|N{R?jejiBBqP^~)_%;9V{%8rEN!D0q`} z!K&}q^QTs8^&xOj|3q>Z`y+Vl5Anc->VB$l>sNf>w^z}POyicwz50@vaRc#%q8$xi z6M?Ubz}q754H4K1(V{N1BXv>{I1_<|fP-Q+x+iHsq?BG+NDxa>H zQcJ7MW9n-S`ih78x=Hn=;agP>TZ8-kaQZTI=h@ zyLx_q-lk^{G(9}h_TY~mpLqW}JAShKW+VB9-Ke59` zSM`&o-8RG6ws7LL&pt8Dcx?PBIScO>Q09(_lP))`#DieEJMy z|5F=Z-MYHb`1*p8R}*Vs22iiv@)#B($M&j85c054rS7V2GrA6c{P9Qh*I$$Wc>B}z zx4yafh38)Fc=Naa(%f`J^kxO2lx(k-1%skv+2}&uT{7AC;vF}oJ{*$fm ze#}2ca_=5=->kZSdc(-WdyV&dwL*I4t*53w^tpjT%kCL1nFXw|*um)`!|b8qjQz31VJ&wTfmFTV8!_wDC*y!8s_*pXNMbjT8E&mNRBJyMR-_ zga_w3u~Gz|M|+7xrV3ehzC!6dLxs%TH8Eoi`fKOJKvVbcuHmR)C=b7zvYq0(B4zHW zy0@S%oyL*MHu_23t4n8ptNFLhS}A60$l z=UwyWOeTih9@XssoO$yg2#Vc0e8SA{{qOhw$M5{Uiy;$y zBhPv$-4HIP27A(P!CtN>b{$FAj$PQz0WA32LB=1k7hCWuA@uLMAxxQuxCI!c8?1|WQeX_5(DtfI@c3H7QJ4%3~~AA&6=7aB4wh~uMFv6 zgAvdK*o?Z`i2EIKG)+Fx^$ReIKAy1nvlKxe(7kz%>RRRHK#zPa1cwv^3Dyrop0lH? zU&a%p`f7{jdqht>9`L_=z|1{+(Sw|p$RWbJl7>$f9eHGX2YWqq66s>^ zuL2)h_Nps2`%xfSuszrV-9yUZsRkbr(mE`w#VgH*)kP=vf{~sSE;iD6isyt>GSHNv zP#wY0JsAA6@E=5VR9Ba-I+~|AxE2vej(Rc%Wmw@nm8$1*^x<#UVSPANt<;05TpJF_ z%C;L+eQEs0hg!;Z;vh>HaU;ZbQoRuC+mA7LzoGOCD*6P2_e4s+tV(}Pm3~^4{+25J zT~+#jtI|JErGKPK|4fzsg({t6)6=zVdU`ifWzIbGlOyT+dWyq#PXfK18 z0;K~a(pE_iQ_xe0iH6cw6Lcm@_o?dN#NdsO(pwm;Ii+-ys{h^Ok*3T?71%Qv?V3mu zu)`bYCn7Zzx}kWDBU{=!f%saAZ)PYgrH8df8|p1+snND>Q;mJEYC7FZ##%R|Q4t(H zs1rCql$sZ5`5%#E<4P~(Ap%=9QUh++^ED$|X?Ysi`jsYCMQK|0Ix=QTCkRWUJSrfY zGh!i@E7~aF1`=aP6b9N>VRSs0Z;jZ?p)=kc3=NT|9powa*4YFM^wfl(m`pkN>(y9bGm&qjwD2lE%HGvI&d$tIH^A5DK_|LsjwKBc-&aTy+ zY1R92^|QXZdRSWptgWt!Xkg%-fzu`Z)?FZ(Jkbjz0nr7`fD0CbE_XJF;S~w5Q*;L_ zRJua6+HY!wh_uUPYoc%|fGr8>LmY&qD+jDHnn#GQla^aF9mFLi2MF1ZKotakF$SKN za1nmxlI-GudoAmf`=y!nvukS9!%p=AI@e@e0UOLkMxPYor6voq5fu|LiPAR^TQH@s zB`5((T2j#8Ck{A`1iyl6*s!F6jvURYCLBvL3!i>qB6cA3f=`+(-|Bcl3K=k3*c!_U z3$lYfO~y>=V=DT26@3zmcTfHH$ffytor4*Vx&I!1Ugt45P?lVY8Hqc;hMyNLdpBW9 zDE&B@@=97#(1(d8OG%GY(0?O-UX*4S%rq(KLIuq-*i5UWM=R(N#BWPU>lJjqingfo zTU6=8h@TgwvsCHXDmwRT_<5aLHMF0Xt{MAz(fZ4Y&_d}Mq&<2TB5nZ3GD+aP>ga&j z4q$+DNIlD%amZJ&8N7N?TV#(V$*!T8G}~Pwvd$$DzuxiJHEQ^ zp_%akko;MkZ(;?H@2kaC!D|Eb-%K~%lc>-mg5DjsM8yagDke{vI&J#kckVN7a42(^`mL&%}5 zrQL#bv+%ud&_&K#LY<8;oV426NNRx^O5$v^xUs&WdDhI?^BWe=oLz~i1vRr$S7s&U z(zJ235;q(wBz6$!apg7WlGy^~G_a@E$T%FT6l~7RWNd7#mhqlUzmZ7NlA>cW4*j6? zm0-Ob5XH)6PiHaZeu#Mn4wjxE5cV{;%XnWtrNhdxZpFBv=LB>)?NMD{k05vm;!hZy zuYGbmrMu%XaJHtdcPsSG5e2N>B|I%nQ~|jdBYmKC#Z`3gWkTllDV|-wYJ3}1^!F4x zZ}r@ab;5Bcxmk)!j4->Q)CVMLAQekE8-lt4hdNdP$o-wcI1JG(U2Q>-g6BA_tfKVC z90mp{J1-?QX?LMcz3G_mI`8y2-GrG z2gO54EP#~l0&q{rKLLhxgpuHj3np!1s24CWA4~+|;)Ntia4W)4eX$yrME$21;CDB) z^{?v!{6|{^FkWTtaxX-fgje9|h@cYfVCc~Pi}C3Z-v%p_TI10T5gF@+5P`0u>Y-`~ zQqc`j2t~a<9*zYG6a$21m)FAi0E5}(waNNIDNq>nbowG)F^ppdoif^?dX%bQq3aX< zjWxFjzg&)?xKmIc(aGU{V!%>Gch-f&J#css^F4w?@QK5QRkp3RLFN(N0hq4@KKL@E zFILn53e&#Az@K`9WT2Zuo-kbzysC~kBiBh^y0HG*Ix zdb)aKI;wUcO;XJzs<#)+dUzj`SU(6MgiO*9nn2_SY%$o1CKs(u!H;)_!GuxJibBxk zC6-2aKzB3+z)HIu>H?1!k0A*rC0WBny(*QY*1+p)aM<2EYw%usvGeA9m{Wu}(F{E; zz`_Pgd%RTNFteeu`RbYV^QEa%rNxc4wKcVKVMA+iNYnvhIH&_vO8A`&Z8A~{_C&yx z567eH2y|LcxC@BO2$YYMy`Ge174^MOWDZJy&R|9PLR1=|+@3$AXfsq?hC^h>LLr}E zeE$aOC?OVIDA!Orm&k>b&L?@)6{AyREw)OQuEYIdi0z8fEQ{3{*DCgNsGitJ_F1|Q zLxuY$qG+df*8x?Y%_@2e@%*TbuR{Y@?%Ufg_-xfT0xaIOa-^KRWdTa+Z?3~&TceXU z(xmGtTI*}^97yIXC!Qs#BnhJxw5QpBHPziX9FUePO~P&}>c{2b8VbSsXxTqt-UuGk@{emp27hObmIKGQI3oQHe0!3=PxHUfSd7O-53fjkEmXV zhzd56cqH1@E3bpEG(g~Q@aUKOOG7wx?^0Vrg+MzEpqyRNPIWNaDdFwDEeJMbxU7>p zn#<&dpw}zd$ofJ`$utt|qe{0!Aq?!Q z5a&GrIQ|~Iw#$j5b+j+o(~QA82wIO796==ttfDDUmxZrF-uIvp7h8&6544H0Sz7` z7vw6U-5Bi*9K;yM4jG`-xe)Jh;ao}fp$p7awPKwtD{TLu#!loFg-&y-ez$23tjF@i zEW}@j6N$76`P3zN3?e-~Vb&~qNX_y^3jU5YaZ8o%!#dRqy6J|bgv zk~4zRF0w~U*BVL2NxoE~ne+ zaeAFTr{5WH*Dx7+P;d)+>_-yQJSJr0l4jn*Z^GX{qU;TzJjJ|D*bzh~oE*StPTVbx*m$~qZ}w6TsdKUO|dlP}(? za8EUwvAtNIo^&He1(JCo8ZY*BQIuNNiya>#z4#to@O1{{&0-Mm0X!1s|M{bt`RRK{ zG)5PD(GREkpa3Mz%-_5ZioTh1I~eX&#H^7u)UXwAad@^5vyjJmyge!DF$(%Wc=FZ( zLO(5F_MOt_RP+agZnD{IE77ARle$awDkk^~?73I>V-aduKc0Sct8E25SqQ!b0?ukH z{856f4{(-2wgr^Ez8_l`@94*99(VQQX;14&c_*O21k^6LCzA=tArPRt+GR;(tWx0urUDVK_n1 zYB^D>)9JGeg~ohSw%L+l&g3oJuwldXxlEogg3adq@+8I>z>lekj0%xGimoP%{T z_pt}q2lxkdpRu0{U+`aYgZiKMZ@6jukL^pB-E{M3KkvV_C=YO-6PhYXJ`H{D_ zZog&cZ3iBH?D1!gKKF+|z5ULhhR+&S;&A&aCQq%Iw{q((An{j^J%02LFCKsU9Sv{J zK&cgzE30bet!kII?%cEYxfhR{vq~y!mbS~=cOC$lpLy=|+wYt+XI0j;%ZaVOIQ+zu zFTHZ^gDu-`y64^}o_yxmi^pGoqk8x6UO4*V@tWGYrPr)#zTuV~5C8hnCyyLG_DWW6 zUek(?|N7-%!rZ<7Pp307M}@+LMa>(pJNVG!hd;~BD;`xfx3+HC@)fJD+w{mYr(SyV z+y{S&M0dpEca%4ex0T=b(4$WtJO0Y)yJpufF!5Uk+-d<}sU3^PA`BM)KOMfuCh09`sm^i8EZjj^WFB zH!pIGs1>se3p0m_jUvYv8uXlw6FImBO}xMvwM<5iP{C!1TEQYN6VK7s`dn zBAYQnpZH~2%#?V!z$7FFg~VyoduDFycFw0CSdpFhjV|%WiGI$Y_3Ns1CT+}E%q{1y z(I>WyC^Y2i7x0N2wGZB7%HtjT`GMERizY!x{4{Hz+tP2Hs0FFp`NR|4NG{W?(J~Ae z9t)-^YY>cV25(`q*kQu(tZXKS&13V;g+h^TEVG7N%N}M=vZqWh>0f4FVP9v?2xr-M z+4rP#{3qT7!6tvl}*4U?yJbnUn;-2C4A%Ukc- zGr`)pci;Y>+;iXkKY#4-@3lr#PEp15%0>6y_xua{#QcIW+HEz7s<*%ro zw_ss?;}ST>TH54}wbA~Kn{K@4frkz~b>iSd8=en^cdZ(8t-ygt(!nw1w#4Ql&XHNj zkJT3olY}{Z#>B(}+Ohmt-l}sOnZ&IFK7Fo1m)ITP+H`t*t}vP#DKInq{CuIDH;8(1 zhBSdU>AhTqP$2Rqabbc|brbY)nz!ufh#M2Xzwz+a@*O8P&)xsq%>i*D&$f&=R2i(o z@Xd#sUyl&v;8~C+?nbV7wT`h@^4N+YvuPSj@ zwrQz8Kk>tXx!kr{nK|1QPD;E~#uf1FKu?9hY||uODOtc9cy>$HoCQ-8PfyV@e4{YZ z%?@Og^6jQ2hQvXCk-3!DgDI^|+_mLZotZOpG1E07STejH^xvu*Q#;UL%HcRc)aQ$$ zo->Oji9e1rY}F3A9g}Z_k_30;N3X+3QuB$3PU)pYRYmE=#CuuED*m&=RUL^)Ntuzn zakHm67DjSnGvI>K%kI^nmqBQ@@RDYy(4tv6e4l1m-o9d!bf)BWlV3v%!LYOtsOT zV_{^G)v_$ZU&R!UY%*5p^~?yK(SubkOyc@78OaB-^E$9Si3V`?RKUW#4rDN}1q{mu zz-GWhwuC8WImQTS0c2pZ*<7$yRKS)%Zjm#v#mr<-)&xpgLFEBX0Q-o@8d06FJD@=p z(uHh*O|?knO8@2P;k%(*ZWiX&U!N`o&GaWpm1zlqES)Q}- zX7E$XWHR7>b46ScTg=X28BxcuMm|MYIgUMA!3Y}WUq@@W?acp`aQ3_q1yLA2?>X~z z_paR~ab-#57Q$wW^%+!TBNBxIiP|a@B>sR(qgN1g8vXtT{)tv18ohHyHIqr^oq3;g z=Bt@eP2rNsp;7Y@lWmpgvd0t8PEBAjb<2UQz<@1bFW7yqslJx6uDZ-#efK%x+n_-& z7@dy2F7b&+PogeePaNJp^ literal 0 HcmV?d00001 diff --git a/tests/test.py b/tests/test.py index 1719c6a..bbfb425 100644 --- a/tests/test.py +++ b/tests/test.py @@ -108,5 +108,3 @@ def test_params(): assert params.tx_sig_limit == 7 assert params.sig_verify_cost_ed25519 == 590 assert params.sig_verify_cost_secp256_k1 == 1000 - -def test_ \ No newline at end of file From 6496473331fca8e0f564513835ba84ec2149783d Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 19:58:12 +0100 Subject: [PATCH 37/47] StoreCode, TxResultCode, 9090 port to localsecret( --- secret_sdk/core/__init__.py | 3 +- secret_sdk/core/tx_decoder.py | 132 +++++++++++++++++++++++++++++++++- secret_sdk/core/wasm/msgs.py | 6 +- tests/setup_network.py | 2 +- tests/test.py | 32 ++++++++- 5 files changed, 167 insertions(+), 8 deletions(-) diff --git a/secret_sdk/core/__init__.py b/secret_sdk/core/__init__.py index 2c2befe..4c82c4e 100755 --- a/secret_sdk/core/__init__.py +++ b/secret_sdk/core/__init__.py @@ -18,6 +18,7 @@ "Tx", "TxInfo", "TxLog", + "TxResultCode", "ModeInfo", "ModeInfoSingle", "ModeInfoMulti", @@ -45,4 +46,4 @@ from .sign_doc import SignDoc from .signature_v2 import SignatureV2 from .tx import ModeInfo, ModeInfoMulti, ModeInfoSingle, Tx, TxInfo, TxLog - +from .tx_decoder import TxResultCode \ No newline at end of file diff --git a/secret_sdk/core/tx_decoder.py b/secret_sdk/core/tx_decoder.py index 0bd3cd0..fa759a7 100644 --- a/secret_sdk/core/tx_decoder.py +++ b/secret_sdk/core/tx_decoder.py @@ -1,4 +1,4 @@ -from secret_sdk.protobuf.cosmos.base.v1beta1 import Coin +from enum import Enum from secret_sdk.protobuf.cosmos.authz.v1beta1 import MsgGrant, MsgExec, MsgRevoke from secret_sdk.protobuf.cosmos.bank.v1beta1 import MsgSend, MsgMultiSend @@ -116,4 +116,132 @@ "/secret.compute.v1beta1.MsgInstantiateContract": MsgInstantiateContract, "/secret.compute.v1beta1.MsgExecuteContract": MsgExecuteContract, "/secret.registration.v1beta1.RaAuthenticate": RaAuthenticate, -} \ No newline at end of file +} + + +class TxResultCode(Enum): + # Success is returned if the transaction executed successfuly + Success = 0 + + # ErrInternal should never be exposed, but we reserve this code for non-specified errors + ErrInternal = 1 + + # ErrTxDecode is returned if we cannot parse a transaction + ErrTxDecode = 2 + + # ErrInvalidSequence is used the sequence number (nonce) is incorrect for the signature + ErrInvalidSequence = 3 + + # ErrUnauthorized is used whenever a request without sufficient authorization is handled. + ErrUnauthorized = 4 + + # ErrInsufficientFunds is used when the account cannot pay requested amount. + ErrInsufficientFunds = 5 + + # ErrUnknownRequest to doc + ErrUnknownRequest = 6 + + # ErrInvalidAddress to doc + ErrInvalidAddress = 7 + + # ErrInvalidPubKey to doc + ErrInvalidPubKey = 8 + + # ErrUnknownAddress to doc + ErrUnknownAddress = 9 + + # ErrInvalidCoins to doc + ErrInvalidCoins = 10 + + # ErrOutOfGas to doc + ErrOutOfGas = 11 + + # ErrMemoTooLarge to doc + ErrMemoTooLarge = 12 + + # ErrInsufficientFee to doc + ErrInsufficientFee = 13 + + # ErrTooManySignatures to doc + ErrTooManySignatures = 14 + + # ErrNoSignatures to doc + ErrNoSignatures = 15 + + # ErrJSONMarshal defines an ABCI typed JSON marshalling error + ErrJSONMarshal = 16 + + # ErrJSONUnmarshal defines an ABCI typed JSON unmarshalling error + ErrJSONUnmarshal = 17 + + # ErrInvalidRequest defines an ABCI typed error where the request contains invalid data. + ErrInvalidRequest = 18 + + # ErrTxInMempoolCache defines an ABCI typed error where a tx already exists in the mempool. + ErrTxInMempoolCache = 19 + + # ErrMempoolIsFull defines an ABCI typed error where the mempool is full. + ErrMempoolIsFull = 20 + + # ErrTxTooLarge defines an ABCI typed error where tx is too large. + ErrTxTooLarge = 21 + + # ErrKeyNotFound defines an error when the key doesn't exist + ErrKeyNotFound = 22 + + # ErrWrongPassword defines an error when the key password is invalid. + ErrWrongPassword = 23 + + # ErrorInvalidSigner defines an error when the tx intended signer does not match the given signer. + ErrorInvalidSigner = 24 + + # ErrorInvalidGasAdjustment defines an error for an invalid gas adjustment + ErrorInvalidGasAdjustment = 25 + + # ErrInvalidHeight defines an error for an invalid height + ErrInvalidHeight = 26 + + # ErrInvalidVersion defines a general error for an invalid version + ErrInvalidVersion = 27 + + # ErrInvalidChainID defines an error when the chain-id is invalid. + ErrInvalidChainID = 28 + + # ErrInvalidType defines an error an invalid type. + ErrInvalidType = 29 + + # ErrTxTimeoutHeight defines an error for when a tx is rejected out due to an explicitly set timeout height. + ErrTxTimeoutHeight = 30 + + # ErrUnknownExtensionOptions defines an error for unknown extension options. + ErrUnknownExtensionOptions = 31 + + # ErrWrongSequence defines an error where the account sequence defined in the signer info doesn't match the account's actual sequence number. + ErrWrongSequence = 32 + + # ErrPackAny defines an error when packing a protobuf message to Any fails. + ErrPackAny = 33 + + # ErrUnpackAny defines an error when unpacking a protobuf message from Any fails. + ErrUnpackAny = 34 + + # ErrLogic defines an internal logic error, e.g. an invariant or assertion that is violated. It is a programmer error, not a user-facing error. + ErrLogic = 35 + + # ErrConflict defines a conflict error, e.g. when two go routines try to access the same resource and one of them fails. + ErrConflict = 36 + + # ErrNotSupported is returned when we call a branch of a code which is currently not supported. + ErrNotSupported = 37 + + # ErrNotFound defines an error when requested entity doesn't exist in the state. + ErrNotFound = 38 + + # ErrIO should be used to wrap internal errors caused by external operation. Examples: not DB domain error file writing etc... + ErrIO = 39 + + # ErrAppConfig defines an error occurred if min-gas-prices field in BaseConfig is empty. + ErrAppConfig = 40 + + # ErrPanic is only set when we recover from a panic so we know to redact potentially sensitive system info. + ErrPanic = 111222 \ No newline at end of file diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index 42cff96..1a7e42b 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -58,11 +58,11 @@ class MsgStoreCode(Msg): """""" sender: AccAddress = attr.ib() - wasm_byte_code: str = attr.ib(converter=str) + wasm_byte_code: bytes = attr.ib(converter=bytes) source: str = attr.ib(converter=str) builder: str = attr.ib(converter=str) - async def gzip_wasm(self): + def gzip_wasm(self): if not is_gz_file(self.wasm_byte_code): self.wasm_byte_code = gzip.compress(self.wasm_byte_code, compresslevel=9) @@ -93,7 +93,7 @@ def to_proto(self) -> MsgStoreCode_pb: return MsgStoreCode_pb( sender=address_to_bytes(self.sender), - wasm_byte_code=base64.b64decode(self.wasm_byte_code), + wasm_byte_code=self.wasm_byte_code, source=self.source, builder=self.builder ) diff --git a/tests/setup_network.py b/tests/setup_network.py index 5863057..6ca700f 100644 --- a/tests/setup_network.py +++ b/tests/setup_network.py @@ -30,7 +30,7 @@ def setup_localsecret(): teardown_network() # 9091 grpc web, 1317 rest - run_command('docker run -it -d -p 9091:9091 -p 1317:1317 --name localsecret ghcr.io/scrtlabs/localsecret:v1.4.0') + run_command('docker run -it -d -p 9090:9090 -p 9091:9091 -p 1317:1317 --name localsecret ghcr.io/scrtlabs/localsecret:v1.4.0') print("Waiting for the network to start...") await_blocks() diff --git a/tests/test.py b/tests/test.py index bbfb425..668a26b 100644 --- a/tests/test.py +++ b/tests/test.py @@ -1,6 +1,8 @@ import pytest from secret_sdk.key.mnemonic import MnemonicKey -from secret_sdk.core.coins import Coins +from secret_sdk.core import Coins, TxResultCode +from secret_sdk.core.wasm.msgs import MsgStoreCode +from secret_sdk.util.tx import get_value_from_raw_log @pytest.fixture @@ -108,3 +110,31 @@ def test_params(): assert params.tx_sig_limit == 7 assert params.sig_verify_cost_ed25519 == 590 assert params.sig_verify_cost_secp256_k1 == 1000 + + +def test_store_code(): + wallet = pytest.accounts[0]['wallet'] + + with open(r'tests/data/snip20-ibc.wasm.gz', 'rb') as fl: + wasm_byte_code = fl.read() + + msg_store_code = MsgStoreCode( + sender=pytest.accounts[0]['address'], + wasm_byte_code=wasm_byte_code, + source='', + builder='' + ) + tx_store = wallet.create_and_broadcast_tx( + [msg_store_code], + gas='3000000', + gas_prices=Coins('0.25uscrt') + ) + + if tx_store.code != TxResultCode.Success.value: + raise Exception(f"Failed MsgStoreCode: {tx_store.raw_log}") + assert tx_store.code == TxResultCode.Success.value + + code_id = int(get_value_from_raw_log(tx_store.raw_log, 'message.code_id')) + + code_info = pytest.secret.wasm.code_info(code_id) + print(code_info) From 45ce751489009e5421cdb222d0ce72408fe75c5b Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 20:28:24 +0100 Subject: [PATCH 38/47] Fix code info by code id endpoint --- secret_sdk/client/lcd/api/wasm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/secret_sdk/client/lcd/api/wasm.py b/secret_sdk/client/lcd/api/wasm.py index f41fa04..b6f7407 100644 --- a/secret_sdk/client/lcd/api/wasm.py +++ b/secret_sdk/client/lcd/api/wasm.py @@ -29,7 +29,7 @@ async def code_info(self, code_id: int) -> dict: Returns: dict: code information """ - return await self._c._get(f"/compute/v1beta1/contracts/{code_id}") + return await self._c._get(f"/compute/v1beta1/code/{code_id}") async def list_contracts_by_code_id(self, code_id: int) -> list: """Fetches information about an uploaded code. @@ -40,7 +40,7 @@ async def list_contracts_by_code_id(self, code_id: int) -> list: Returns: dict: code information """ - return await self._c._get(f"/compute/v1beta1/contracts/{code_id}") or [] + return await self._c._get(f"/compute/v1beta1/code/{code_id}") or [] async def contract_info(self, contract_address: str) -> dict: """Fetches information about an instantiated contract. From 0205001e9fb10ffccc1b6d2380b700b17f14d069 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 16 Oct 2022 20:29:15 +0100 Subject: [PATCH 39/47] Fix MsgInstantiatContract, add instantiate test --- secret_sdk/core/wasm/msgs.py | 15 +++-- tests/test.py | 125 ++++++++++++++++++++++++++++++++++- 2 files changed, 130 insertions(+), 10 deletions(-) diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index 1a7e42b..ae6e1b6 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -133,12 +133,13 @@ class MsgInstantiateContract(Msg): init_msg: dict = attr.ib() init_funds: Coins = attr.ib(converter=Coins, factory=Coins) + code_hash: str = attr.ib(default=None) + init_msg_encrypted: dict = None - code_hash: str = None warn_code_hash: bool = False _msg_str: str = '' - encryption_utils: EncryptionUtils = None + encryption_utils: Optional[EncryptionUtils] = attr.ib(default=None) def __attrs_post_init__(self): if self.code_hash: @@ -147,7 +148,7 @@ def __attrs_post_init__(self): self.code_hash = '' self.warn_code_hash = True # print('WARNING: MsgInstantiateContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') - self._msg_str = json.dumps(self.msg, separators=(",", ":")) + self._msg_str = json.dumps(self.init_msg, separators=(",", ":")) @classmethod def from_data(cls, data: dict) -> MsgInstantiateContract: @@ -160,16 +161,16 @@ def from_data(cls, data: dict) -> MsgInstantiateContract: ) def to_proto(self) -> MsgInstantiateContract_pb: - if not self.msg_encrypted and not self.encryption_utils: + if not self.init_msg_encrypted and not self.encryption_utils: raise NotImplementedError('Cannot serialized MsgExecuteContract without encryption') - if not self.msg_encrypted: - self.msg_encrypted = bytes(self.encryption_utils.encrypt(self.code_hash, self._msg_str)) + if not self.init_msg_encrypted: + self.init_msg_encrypted = bytes(self.encryption_utils.encrypt(self.code_hash, self._msg_str)) return MsgInstantiateContract_pb( sender=address_to_bytes(self.sender), code_id=self.code_id, label=self.label, - init_msg=self.msg_encrypted, + init_msg=self.init_msg_encrypted, init_funds=self.init_funds.to_proto(), ) diff --git a/tests/test.py b/tests/test.py index 668a26b..9ce8d15 100644 --- a/tests/test.py +++ b/tests/test.py @@ -1,7 +1,9 @@ +import datetime import pytest from secret_sdk.key.mnemonic import MnemonicKey from secret_sdk.core import Coins, TxResultCode -from secret_sdk.core.wasm.msgs import MsgStoreCode +from secret_sdk.client.lcd.api.gov import ProposalStatus +from secret_sdk.core.wasm.msgs import MsgStoreCode, MsgInstantiateContract from secret_sdk.util.tx import get_value_from_raw_log @@ -129,7 +131,6 @@ def test_store_code(): gas='3000000', gas_prices=Coins('0.25uscrt') ) - if tx_store.code != TxResultCode.Success.value: raise Exception(f"Failed MsgStoreCode: {tx_store.raw_log}") assert tx_store.code == TxResultCode.Success.value @@ -137,4 +138,122 @@ def test_store_code(): code_id = int(get_value_from_raw_log(tx_store.raw_log, 'message.code_id')) code_info = pytest.secret.wasm.code_info(code_id) - print(code_info) + code_hash = code_info['code_info']['code_hash'] + + msg_init = MsgInstantiateContract( + sender=pytest.accounts[0]['address'], + code_id=code_id, + code_hash=code_hash, + init_msg={ + "name": "Secret SCRT", + "admin": pytest.accounts[0]['address'], + "symbol": "SSCRT", + "decimals": 6, + "initial_balances": [{"address": pytest.accounts[0]['address'], "amount": "1"}], + "prng_seed": "eW8=", + "config": { + "public_total_supply": True, + "enable_deposit": True, + "enable_redeem": True, + "enable_mint": False, + "enable_burn": False, + }, + "supported_denoms": ["uscrt"], + }, + label=f"Label {datetime.datetime.now()}", + init_funds=[], + encryption_utils=pytest.secret.encrypt_utils + ) + tx_init = wallet.create_and_broadcast_tx( + [msg_init], + gas='5000000', + gas_prices=Coins('0.25uscrt') + ) + if tx_init.code != TxResultCode.Success.value: + raise Exception(f"Failed MsgInstiateContract: {tx_init.raw_log}") + assert tx_init.code == TxResultCode.Success.value + assert get_value_from_raw_log(tx_init.raw_log, 'message.action') == "/secret.compute.v1beta1.MsgInstantiateContract" + + contract_adress = get_value_from_raw_log(tx_init.raw_log, 'message.contract_address') + assert contract_adress == tx_init.data[0]['address'] + + # expect(contractAddress).toBe( + # MsgInstantiateContractResponse.decode(txInit.data[0]).address, + # ); + # const + # tx = await secretjs.tx.broadcast( + # [ + # new MsgExecuteContract({ + # sender: secretjs.address, + # contractAddress, + # msg: { + # create_viewing_key: { + # entropy: "bla bla", + # }, + # }, + # codeHash, + # }), + # ], + # { + # broadcastCheckIntervalMs: 100, + # gasLimit: 5_000_000, + # }, + # ); + # let + # txExec = await secretjs.query.getTx(tx.transactionHash); + # while (txExec === null) { + # sleep(100); + # txExec = await secretjs.query.getTx(tx.transactionHash); + # } + # + # expect( + # fromUtf8(MsgExecuteContractResponse.decode(txExec.data[0]).data), + # ).toContain('{"create_viewing_key":{"key":"'); + + +#def test_gov_text_proposal(): + # proposals_before = pytest.secret.gov.proposals(options={ + # "proposal_status": ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED, + # "voter": '', + # "depositor": '' + # }) + # + # tx = pytest.secret.gov.submit_proposal( + # content={}, + # initial_deposit=Coins({'uscrt': 10000000}), + # proposer=pytest.accounts[0]['address'] + # ) + # print(tx) + # const + # tx = await secretjs.tx.gov.submitProposal( + # { + # type: ProposalType.TextProposal, + # proposer: accounts[0].address, + # initialDeposit: [{amount: "10000000", denom: "uscrt"}], + # content: { + # title: "Hi", + # description: "Hello", + # }, + # }, + # { + # broadcastCheckIntervalMs: 100, + # gasLimit: 5_000_000, + # }, + # ); + # if (tx.code !== TxResultCode.Success) { + # console.error(tx.rawLog); + # } + # expect(tx.code).toBe(TxResultCode.Success); + # + # expect( + # getValueFromRawLog(tx.rawLog, "submit_proposal.proposal_type"), + # ).toBe("Text"); + # + # expect( + # Number(getValueFromRawLog(tx.rawLog, "submit_proposal.proposal_id")), + # ).toBeGreaterThanOrEqual(1); + # + # const proposalsAfter = await getAllProposals(secretjs); + # + # expect(proposalsAfter.length - proposalsBefore.length).toBe(1); + # }); \ No newline at end of file From 049d99f9445a4d1c95cc79f56b9a26407d37f538 Mon Sep 17 00:00:00 2001 From: phd Date: Sun, 16 Oct 2022 19:19:16 -0400 Subject: [PATCH 40/47] Fixing tx decrypt & adding height from get request headers --- secret_sdk/client/lcd/api/tx.py | 159 +++++++++++++---------------- secret_sdk/client/lcd/lcdclient.py | 3 +- secret_sdk/client/lcd/wallet.py | 28 ++--- secret_sdk/core/tx.py | 12 ++- secret_sdk/core/wasm/msgs.py | 1 - 5 files changed, 101 insertions(+), 102 deletions(-) diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 199f7e8..2bd79aa 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -14,10 +14,11 @@ BlockTxBroadcastResult, SyncTxBroadcastResult, ) -from secret_sdk.core.tx_decoder import msg_decoder_mapper +from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import TxMsgData + from secret_sdk.core.fee import Fee from secret_sdk.core.msg import Msg -from secret_sdk.core.tx import AuthInfo, SignerData, SignMode, Tx, TxBody, TxInfo +from secret_sdk.core.tx import AuthInfo, SignerData, SignMode, Tx, TxBody, TxInfo, TxLog from secret_sdk.util.hash import hash_amino from secret_sdk.util.json import JSONSerializable @@ -136,25 +137,24 @@ async def tx_info(self, tx_hash: str) -> TxInfo: TxInfo: transaction info """ res = await self._c._get(f"/cosmos/tx/v1beta1/txs/{tx_hash}") - # if "tx" not in res: - # raise Exception("Unexpected response data format") + if "tx" not in res: + raise Exception("Unexpected response data format") # # TODO: update TxInfo interface - # return self.decrypt_txs_response(res) - return TxInfo.from_data(res["tx_response"]) - - def decrypt_data_field(self, data_field: str, nonces): - wasm_output_data_cipher_bz = bytearray.fromhex(data_field) + return self.decrypt_txs_response(res) + # return TxInfo.from_data(res["tx_response"]) + def decrypt_data_field(self, data_field: bytes, nonces): for nonce in nonces: try: return base64.b64decode( - self._c.encrypt_utils.decrypt(wasm_output_data_cipher_bz, nonce) + self._c.encrypt_utils.decrypt(data_field, nonce) ) except Exception as e: error = e raise error - def decrypt_logs(self, logs, nonces): + def decrypt_logs(self, logs, nonces) -> List[TxLog]: + _logs = [] for log in logs: for e in log["events"]: if e["type"] == "wasm": @@ -178,24 +178,18 @@ def decrypt_logs(self, logs, nonces): if nonce_ok: continue + _local_log = TxLog(log['msg_index'], log=log.get('log'), events = log['events']) + _logs.append(_local_log) - return logs + return _logs - def decrypt_txs_response(self, txs_response): - nonces = {} + def decrypt_txs_response(self, txs_response) -> TxInfo: decoded_tx = Tx.from_data(txs_response['tx']) + nonces = [[]] * len(decoded_tx.body.messages) + for i, message in enumerate(decoded_tx.body.messages): msg_type = message.type_url - msg_decoder = msg_decoder_mapper.get(msg_type) - - if not msg_decoder: - continue - - msg = { - 'type_url': msg_type, - 'value': msg_decoder(message) - } # Check if the message needs decryption contract_input_msg_field_name = '' @@ -207,101 +201,100 @@ def decrypt_txs_response(self, txs_response): if contract_input_msg_field_name != '': # Encrypted, try to decrypt try: - contract_input_msg_bytes = base64.b64decode(msg["value"][contract_input_msg_field_name]) + contract_input_msg_bytes = base64.b64decode(getattr(message, contract_input_msg_field_name)) nonce = contract_input_msg_bytes[0:32] + nonces[i] = list(nonce) account_pub_key = contract_input_msg_bytes[32:64] ciphertext = contract_input_msg_bytes[64:] plaintext = self._c.encrypt_utils.decrypt( ciphertext, - nonce + list(nonce) # takes list of int repr for bytes ) # first 64 chars is the code hash as hex string - msg["value"][contract_input_msg_field_name] = plaintext[64:] - + msg = plaintext[64:].decode() + setattr(message, contract_input_msg_field_name, msg) + setattr(message, 'encryption_utils', self._c.encrypt_utils) # Fill nonces array to later use it in output decryption - nonces[i] = nonce except: pass # Not encrypted or can't decrypt because not original sender - decoded_tx.body.messages[i] = msg - - raw_log = txs_response['tx_response']['raw_log'] + txs_response = txs_response['tx_response'] + raw_log = txs_response['raw_log'] json_log = None array_log = None - code = txs_response['tx_response']['code'] + code = txs_response['code'] if code == 0 and raw_log != '': - json_log = json.loads(raw_log) - - for i, _ in enumerate(json_log): - if 'msg_index' not in json_log[i] or not json_log[i]['msg_index']: + _json_log = json.loads(raw_log) + json_log = [] + for i, log in enumerate(_json_log): + if 'msg_index' not in log or not log['msg_index']: # See https://github.com/cosmos/cosmos-sdk/pull/11147 - json_log[i]['msg_index'] = i - - array_log = self.decrypt_logs(json_log, nonces) + log['msg_index'] = i + json_log.append(TxLog(i, log.get('log'), log['events'])) + array_log = self.decrypt_logs(_json_log, nonces) elif code != 0 and raw_log != '': try: error_message_rgx = re.compile( rf'; message index: (\d+):(?: dispatch: submessages:)* encrypted: (.+?): (?:instantiate|execute|query|reply to) contract failed' ) rgx_matches = error_message_rgx.findall(raw_log) - if rgx_matches and len(rgx_matches) == 3: - msg_index = int(rgx_matches[1]) - error_cipher_b64 = rgx_matches[2] + if rgx_matches: + msg_index,error_cipher_b64 = rgx_matches[0] error_cipher_bz = base64.b64decode(error_cipher_b64) - error_plain_bz = self._c.encrypt_utils.decrypt(error_cipher_bz, nonces[msg_index]) + error_plain_bz = self._c.encrypt_utils.decrypt(error_cipher_bz, nonces[int(msg_index)]) raw_log = raw_log.replace( - f'encrypted: {rgx_matches[2]}', error_plain_bz + f'encrypted: {error_cipher_b64}', error_plain_bz ) try: - json_log = json.loads(error_plain_bz) + json_log = TxLog(0, json.loads(error_plain_bz), [{}]) except: pass except: pass - tx_msg_data = [bytearray.fromhex(txs_response['tx_response']['data'])] - for i, data in enumerate(tx_msg_data): - nonce = nonces.get(i) - if nonce and len(nonces) == 32: + tx_msg_data = TxMsgData() + tx_msg_data = tx_msg_data.FromString(data=bytes.fromhex(txs_response['data'])) + data = [[]] * len(tx_msg_data.data) + for i, tx_data in enumerate(tx_msg_data.data): + data[i] = tx_data + nonce = nonces[i] + if nonce and len(nonce) == 32: # Check if the message needs decryption try: - msg_type = decoded_tx.body.messages[i].type_url + _msg = decoded_tx.body.messages[i] + msg_type = _msg.type_url + if msg_type == '/secret.compute.v1beta1.MsgInstantiateContract': - decoded = MsgInstantiateContractResponse(data['data']) - decrypted = self.decrypt_data_field(data['data'], [nonce]) + decrypted = self.decrypt_data_field(tx_data.data, [nonce]) data[i] = MsgInstantiateContractResponse( - address=decoded.address, + address=_msg.sender, data=decrypted ) elif msg_type == '/secret.compute.v1beta1.MsgExecuteContract': - decoded = MsgExecuteContractResponse(data['data']) - decrypted = self.decrypt_data_field(data['data'], [nonce]) + decrypted = self.decrypt_data_field(tx_data.data, [nonce]) data[i] = MsgExecuteContractResponse( data=decrypted ) except: pass - tx_resp = txs_response['tx_response'] - return { - 'height': int(tx_resp['height']), - 'timestamp': tx_resp['timestamp'], - 'transactionHash': tx_resp['txhash'], - 'code': tx_resp['code'], - 'tx': decoded_tx, - 'txBytes': tx_resp['tx'].get('value'), - 'rawLog': raw_log, - 'jsonLog': json_log, - 'arrayLog': array_log, - 'events': tx_resp['events'], - 'data': data, - 'gasUsed': int(tx_resp['gas_used']), - 'gasWanted': int(tx_resp['gas_wanted']), - } + return TxInfo( + height=int(txs_response['height']), + timestamp=txs_response['timestamp'], + txhash=txs_response['txhash'], + code=txs_response['code'], + tx=decoded_tx, + tx_bytes=txs_response['tx'].get('value'), + rawlog=raw_log, + logs=array_log if array_log else json_log, + data=data, + gas_used=int(txs_response['gas_used']), + gas_wanted=int(txs_response['gas_wanted']), + ) async def create( self, signers: List[SignerOptions], options: CreateTxOptions @@ -329,7 +322,7 @@ async def create( [], ) - async def estimate_fee( + def estimate_fee( self, options: CreateTxOptions ) -> Fee: @@ -343,11 +336,9 @@ async def estimate_fee( Fee: estimated fee """ - if options.gas is None or options.gas is None: - return self._c.custom_fees["default"] gas_prices = options.gas_prices or self._c.gas_prices fee_denoms = options.fee_denoms if options.fee_denoms else ["uscrt"] - gas = options.gas + gas = Numeric.parse(options.gas) if options.gas else self._c.custom_fees["default"].gas_limit gas_adjustment = options.gas_adjustment or self._c.gas_adjustment gas_prices_coins = None @@ -358,8 +349,8 @@ async def estimate_fee( gas_prices_coins = gas_prices_coins.filter( lambda c: c.denom in _fee_denoms ) - fee_amount = gas_prices_coins.mul(Numeric.parse(gas) * gas_adjustment).to_int_ceil_coins() - return Fee(Numeric.parse(gas), fee_amount, "", "") + fee_amount = gas_prices_coins.mul(gas * gas_adjustment).to_int_ceil_coins() + return Fee(gas, fee_amount, "", "") async def estimate_gas(self, tx: Tx, options: Optional[CreateTxOptions]) -> int: gas_adjustment = options.gas_adjustment if options else self._c.gas_adjustment @@ -502,8 +493,12 @@ async def search( actual_params.add(p, params[p]) res = await self._c._get("/cosmos/tx/v1beta1/txs", actual_params) + txs = [] + for tx, tx_response in zip(res['txs'], res['tx_responses']): + decrypted_tx = self.decrypt_txs_response({'tx': tx, 'tx_response': tx_response}) + txs.append(decrypted_tx) return { - "txs": [TxInfo.from_data(tx) for tx in res.get("tx_responses")], + "txs": txs, "pagination": res.get("pagination"), } @@ -544,14 +539,6 @@ def create(self, signers: List[SignerOptions], options: CreateTxOptions) -> Tx: create.__doc__ = AsyncTxAPI.create.__doc__ - @sync_bind(AsyncTxAPI.estimate_fee) - def estimate_fee( - self, options: CreateTxOptions - ) -> Fee: - pass - - estimate_fee.__doc__ = AsyncTxAPI.estimate_fee.__doc__ - @sync_bind(AsyncTxAPI.estimate_gas) def estimate_gas( self, tx: Tx, options: Optional[CreateTxOptions] diff --git a/secret_sdk/client/lcd/lcdclient.py b/secret_sdk/client/lcd/lcdclient.py index dc7d489..49d8cb2 100644 --- a/secret_sdk/client/lcd/lcdclient.py +++ b/secret_sdk/client/lcd/lcdclient.py @@ -168,8 +168,9 @@ async def _get( if not 200 <= response.status < 299: raise LCDResponseError(message=str(result), response=response) + request_height = response.headers.get('grpc-metadata-x-cosmos-block-height') self.last_request_height = ( - result.get("height") if result else self.last_request_height + request_height if result else self.last_request_height ) if block_height: self.session.headers.pop('x-cosmos-block-height') diff --git a/secret_sdk/client/lcd/wallet.py b/secret_sdk/client/lcd/wallet.py index e481f24..fd73f58 100644 --- a/secret_sdk/client/lcd/wallet.py +++ b/secret_sdk/client/lcd/wallet.py @@ -75,6 +75,8 @@ async def execute_tx( execute_msg = await self.lcd.wasm.contract_execute_msg( self.key.acc_address, contract_addr, handle_msg, transfer_amount ) + if gas is None: + gas = self.lcd.custom_fees["exec"].gas_limit return await self.create_and_broadcast_tx( [execute_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode ) @@ -98,6 +100,8 @@ async def multi_execute_tx( execute_msg = await self.lcd.wasm.contract_execute_msg(self.key.acc_address, contract_addr, handle_msg, transfer_amount) msgs.append(execute_msg) + if gas is None: + gas = self.lcd.custom_fees["exec"].gas_limit * len(input_msgs) return await self.create_and_broadcast_tx( msgs, memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode ) @@ -114,8 +118,7 @@ async def send_tokens( broadcast_mode: Optional[BroadcastMode] = None ): send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) - if gas is None or gas_prices is None: - gas_prices = self.lcd.gas_prices + if gas is None: gas = self.lcd.custom_fees["send"].gas_limit return await self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode) @@ -144,8 +147,7 @@ async def multi_send_tokens( } for recipient_addr, transfer_amount in zip(recipient_addrs, transfer_amounts)] multi_send_msg = MsgMultiSend(inputs, outputs) - if gas is None or gas_prices is None: - gas_prices = self.lcd.gas_prices + if gas is None: gas = self.lcd.custom_fees["send"].gas_limit return await self.create_and_broadcast_tx([multi_send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, @@ -170,8 +172,8 @@ async def create_and_broadcast_tx( fee_denoms=fee_denoms ) - if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] + if gas is None: + fee = self.lcd.tx.estimate_fee(create_tx_options) create_tx_options.fee = fee signed_tx = await self.create_and_sign_tx(create_tx_options) @@ -272,6 +274,8 @@ def execute_tx( execute_msg = self.lcd.wasm.contract_execute_msg( self.key.acc_address, contract_addr, handle_msg, transfer_amount ) + if gas is None: + gas = self.lcd.custom_fees["exec"].gas_limit return self.create_and_broadcast_tx( [execute_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode ) @@ -295,6 +299,8 @@ def multi_execute_tx( execute_msg = self.lcd.wasm.contract_execute_msg(self.key.acc_address, contract_addr, handle_msg, transfer_amount) msgs.append(execute_msg) + if gas is None: + gas = self.lcd.custom_fees["exec"].gas_limit * len(input_msgs) return self.create_and_broadcast_tx( msgs, memo, gas, gas_prices, gas_adjustment, fee_denoms, broadcast_mode ) @@ -312,8 +318,7 @@ def send_tokens( ): send_msg = MsgSend(self.key.acc_address, recipient_addr, transfer_amount) - if gas is None or gas_prices is None: - gas_prices = self.lcd.gas_prices + if gas is None: gas = self.lcd.custom_fees["send"].gas_limit return self.create_and_broadcast_tx([send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, @@ -343,8 +348,7 @@ def multi_send_tokens( } for recipient_addr, transfer_amount in zip(recipient_addrs, transfer_amounts)] multi_send_msg = MsgMultiSend(inputs, outputs) - if gas is None or gas_prices is None: - gas_prices = self.lcd.gas_prices + if gas is None: gas = self.lcd.custom_fees["send"].gas_limit return self.create_and_broadcast_tx([multi_send_msg], memo, gas, gas_prices, gas_adjustment, fee_denoms, @@ -369,8 +373,8 @@ def create_and_broadcast_tx( fee_denoms=fee_denoms ) - if gas is None or gas_prices is None: - fee = self.lcd.custom_fees["exec"] + if gas is None: + fee = self.lcd.tx.estimate_fee(create_tx_options) create_tx_options.fee = fee signed_tx = self.create_and_sign_tx(create_tx_options) diff --git a/secret_sdk/core/tx.py b/secret_sdk/core/tx.py index 64ca1b3..f6b7c18 100755 --- a/secret_sdk/core/tx.py +++ b/secret_sdk/core/tx.py @@ -4,7 +4,7 @@ import base64 import json -from typing import Dict, List, Optional +from typing import Dict, List, Optional, Any import attr from secret_sdk.protobuf.cosmos.base.abci.v1beta1 import AbciMessageLog as AbciMessageLog_pb @@ -610,11 +610,15 @@ class TxInfo(JSONSerializable): codespace: Optional[str] = attr.ib(default=None) """Error subspace (used alongside ``code``).""" + tx_bytes: Optional[str] = attr.ib(default=None) + + data: Optional[Any] = attr.ib(default=None) + def to_data(self) -> dict: data = { "height": str(self.height), "txhash": self.txhash, - "raw_log": self.rawlog, + "rawlog": self.rawlog, "logs": [log.to_data() for log in self.logs] if self.logs else None, "gas_wanted": str(self.gas_wanted), "gas_used": str(self.gas_used), @@ -622,6 +626,8 @@ def to_data(self) -> dict: "tx": self.tx.to_data(), "code": self.code, "codespace": self.codespace, + "tx_bytes": self.tx_bytes, + "data": self.data } return data @@ -639,6 +645,8 @@ def from_data(cls, data: dict) -> TxInfo: data.get("timestamp"), data.get("code"), data.get("codespace"), + data.get("tx_bytes"), + data.get("data"), ) def to_proto(self) -> TxResponse_pb: diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index ae6e1b6..0a6b87e 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -14,7 +14,6 @@ MsgInstantiateContract as MsgInstantiateContract_pb, ) from secret_sdk.protobuf.secret.compute.v1beta1 import MsgStoreCode as MsgStoreCode_pb - from secret_sdk.core import AccAddress, Coins from secret_sdk.core.msg import Msg from secret_sdk.util.encrypt_utils import EncryptionUtils From 8e3947ae9599d62e4f2bb343956937cb66406910 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sat, 5 Nov 2022 19:07:32 +0000 Subject: [PATCH 41/47] Fix decrypt tx on broadcast, search, added get tx, more tests on execute contract --- secret_sdk/client/lcd/api/tx.py | 51 +++++++------ secret_sdk/core/wasm/msgs.py | 9 ++- tests/t.py | 0 tests/test.py | 126 +++++++++++--------------------- 4 files changed, 75 insertions(+), 111 deletions(-) create mode 100644 tests/t.py diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 2bd79aa..1fdb620 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -194,14 +194,14 @@ def decrypt_txs_response(self, txs_response) -> TxInfo: # Check if the message needs decryption contract_input_msg_field_name = '' if msg_type == "/secret.compute.v1beta1.MsgInstantiateContract": - contract_input_msg_field_name = "initMsg" + contract_input_msg_field_name = "init_msg" elif msg_type == "/secret.compute.v1beta1.MsgExecuteContract": contract_input_msg_field_name = "msg" if contract_input_msg_field_name != '': # Encrypted, try to decrypt try: - contract_input_msg_bytes = base64.b64decode(getattr(message, contract_input_msg_field_name)) + contract_input_msg_bytes = getattr(message, contract_input_msg_field_name) nonce = contract_input_msg_bytes[0:32] nonces[i] = list(nonce) account_pub_key = contract_input_msg_bytes[32:64] @@ -269,13 +269,15 @@ def decrypt_txs_response(self, txs_response) -> TxInfo: msg_type = _msg.type_url if msg_type == '/secret.compute.v1beta1.MsgInstantiateContract': - decrypted = self.decrypt_data_field(tx_data.data, [nonce]) + decoded = MsgInstantiateContractResponse.FromString(tx_data.data) + decrypted = self.decrypt_data_field(decoded.data, [nonce]) data[i] = MsgInstantiateContractResponse( - address=_msg.sender, + address=decoded.address, data=decrypted ) elif msg_type == '/secret.compute.v1beta1.MsgExecuteContract': - decrypted = self.decrypt_data_field(tx_data.data, [nonce]) + decoded = MsgExecuteContractResponse.FromString(tx_data.data) + decrypted = self.decrypt_data_field(decoded.data, [nonce]) data[i] = MsgExecuteContractResponse( data=decrypted ) @@ -288,7 +290,7 @@ def decrypt_txs_response(self, txs_response) -> TxInfo: txhash=txs_response['txhash'], code=txs_response['code'], tx=decoded_tx, - tx_bytes=txs_response['tx'].get('value'), + tx_bytes=txs_response['tx'].get('value') if txs_response['tx'] else None, rawlog=raw_log, logs=array_log if array_log else json_log, data=data, @@ -309,8 +311,6 @@ async def create( Returns: Tx: unsigned tx """ - - # create the fake fee fee = options.fee if options.fee is None: @@ -385,18 +385,22 @@ async def hash(self, tx: Tx) -> str: async def broadcast_adapter(self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None): broadcast_result = None + tx_encoded = await super()._try_await(self.encode(tx)) if mode == BroadcastMode.BROADCAST_MODE_BLOCK: - broadcast_result = await BaseAsyncAPI._try_await(self.broadcast(tx, options)) + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast(tx_encoded, options)) if mode == BroadcastMode.BROADCAST_MODE_ASYNC: - broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_async(tx, options)) + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_async(tx_encoded, options)) if mode == BroadcastMode.BROADCAST_MODE_SYNC: - broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_sync(tx, options)) + broadcast_result = await BaseAsyncAPI._try_await(self.broadcast_sync(tx_encoded, options)) + if not broadcast_result.code != 0: + raise Exception(f"Broadcasting transaction failed with code {broadcast_result.code} (codespace: ${broadcast_result.codespace}).Log: {broadcast_result.raw_log}") + return broadcast_result async def _broadcast( self, tx: Tx, mode: BroadcastMode, options: BroadcastOptions = None ) -> dict: - data = {"tx_bytes": await super()._try_await(self.encode(tx)), "mode": mode.name} + data = {"tx_bytes": tx, "mode": mode.name} if options is not None: if options.sequences is not None and len(options.sequences) > 0: data["sequences"] = [str(i) for i in options.sequences] @@ -456,17 +460,8 @@ async def broadcast( BlockTxBroadcastResult: result """ res = await self._broadcast(tx, BroadcastMode.BROADCAST_MODE_BLOCK, options) - res = res["tx_response"] - return BlockTxBroadcastResult( - height=res.get("height") or 0, - txhash=res.get("txhash"), - raw_log=res.get("raw_log"), - gas_wanted=res.get("gas_wanted") or 0, - gas_used=res.get("gas_used") or 0, - logs=res.get("logs"), - code=res.get("code"), - codespace=res.get("codespace"), - ) + res.update({'tx': self.decode(tx).to_data()}) + return self.decrypt_txs_response(res) async def search( self, events: List[list], params: Optional[APIParams] = None @@ -502,6 +497,10 @@ async def search( "pagination": res.get("pagination"), } + async def get_tx(self, hash: str) -> Optional[TxInfo]: + res = self.search(events=[["tx.hash", hash]]) + return res['txs'][0] if len(res['txs']) else None + async def tx_infos_by_height(self, height: Optional[int] = None) -> List[TxInfo]: """Fetches information for an included transaction given block height or latest @@ -601,6 +600,12 @@ def search(self, events: List[list], params: Optional[APIParams] = None) -> dict search.__doc__ = AsyncTxAPI.search.__doc__ + @sync_bind(AsyncTxAPI.get_tx) + def get_tx(self, hash: str) -> Optional[TxInfo]: + pass + + get_tx.__doc__ = AsyncTxAPI.get_tx.__doc__ + @sync_bind(AsyncTxAPI.tx_infos_by_height) def tx_infos_by_height(self, height: Optional[int] = None) -> List[TxInfo]: pass diff --git a/secret_sdk/core/wasm/msgs.py b/secret_sdk/core/wasm/msgs.py index 0a6b87e..cb4cf7b 100755 --- a/secret_sdk/core/wasm/msgs.py +++ b/secret_sdk/core/wasm/msgs.py @@ -35,7 +35,8 @@ def parse_msg(msg: Union[dict, str, bytes]) -> dict: try: msg = json.loads(msg) except: - pass + if isinstance(msg, str): + msg = base64.b64decode(msg) return msg @@ -101,7 +102,7 @@ def to_proto(self) -> MsgStoreCode_pb: def from_proto(cls, proto: MsgStoreCode_pb) -> MsgStoreCode: return cls( sender=AccAddress(bytes_to_address(proto.sender)), - wasm_byte_code=base64.b64encode(proto.wasm_byte_code).decode(), + wasm_byte_code=base64.b64encode(proto.wasm_byte_code), source=proto.source, builder=proto.builder ) @@ -147,7 +148,9 @@ def __attrs_post_init__(self): self.code_hash = '' self.warn_code_hash = True # print('WARNING: MsgInstantiateContract was used without the "codeHash" parameter. This is discouraged and will result in much slower execution times for your app.') - self._msg_str = json.dumps(self.init_msg, separators=(",", ":")) + + if isinstance(self.init_msg, dict): + self._msg_str = json.dumps(self.init_msg, separators=(",", ":")) @classmethod def from_data(cls, data: dict) -> MsgInstantiateContract: diff --git a/tests/t.py b/tests/t.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/test.py b/tests/test.py index 9ce8d15..1804364 100644 --- a/tests/test.py +++ b/tests/test.py @@ -3,9 +3,9 @@ from secret_sdk.key.mnemonic import MnemonicKey from secret_sdk.core import Coins, TxResultCode from secret_sdk.client.lcd.api.gov import ProposalStatus -from secret_sdk.core.wasm.msgs import MsgStoreCode, MsgInstantiateContract +from secret_sdk.core.wasm.msgs import MsgStoreCode, MsgInstantiateContract, MsgExecuteContract from secret_sdk.util.tx import get_value_from_raw_log - +from secret_sdk.protobuf.cosmos.tx.v1beta1 import BroadcastMode @pytest.fixture def mnemonics(): @@ -135,7 +135,7 @@ def test_store_code(): raise Exception(f"Failed MsgStoreCode: {tx_store.raw_log}") assert tx_store.code == TxResultCode.Success.value - code_id = int(get_value_from_raw_log(tx_store.raw_log, 'message.code_id')) + code_id = int(get_value_from_raw_log(tx_store.rawlog, 'message.code_id')) code_info = pytest.secret.wasm.code_info(code_id) code_hash = code_info['code_info']['code_hash'] @@ -169,91 +169,47 @@ def test_store_code(): gas='5000000', gas_prices=Coins('0.25uscrt') ) + if tx_init.code != TxResultCode.Success.value: raise Exception(f"Failed MsgInstiateContract: {tx_init.raw_log}") assert tx_init.code == TxResultCode.Success.value - assert get_value_from_raw_log(tx_init.raw_log, 'message.action') == "/secret.compute.v1beta1.MsgInstantiateContract" + assert get_value_from_raw_log(tx_init.rawlog, 'message.action') == "/secret.compute.v1beta1.MsgInstantiateContract" - contract_adress = get_value_from_raw_log(tx_init.raw_log, 'message.contract_address') - assert contract_adress == tx_init.data[0]['address'] - - # expect(contractAddress).toBe( - # MsgInstantiateContractResponse.decode(txInit.data[0]).address, - # ); - # const - # tx = await secretjs.tx.broadcast( - # [ - # new MsgExecuteContract({ - # sender: secretjs.address, - # contractAddress, - # msg: { - # create_viewing_key: { - # entropy: "bla bla", - # }, - # }, - # codeHash, - # }), - # ], - # { - # broadcastCheckIntervalMs: 100, - # gasLimit: 5_000_000, - # }, - # ); - # let - # txExec = await secretjs.query.getTx(tx.transactionHash); - # while (txExec === null) { - # sleep(100); - # txExec = await secretjs.query.getTx(tx.transactionHash); - # } - # - # expect( - # fromUtf8(MsgExecuteContractResponse.decode(txExec.data[0]).data), - # ).toContain('{"create_viewing_key":{"key":"'); + contract_adress = get_value_from_raw_log(tx_init.rawlog, 'message.contract_address') + assert contract_adress == tx_init.data[0].address + msg_execute = MsgExecuteContract( + sender=pytest.accounts[0]['address'], + contract=contract_adress, + msg={ + 'create_viewing_key': { + 'entropy': 'bla bla' + } + }, + code_hash=code_hash, + encryption_utils=pytest.secret.encrypt_utils + ) + tx_execute = wallet.create_and_broadcast_tx( + [msg_execute], + gas='5000000', + gas_prices=Coins('0.25uscrt') + ) + if tx_execute.code != TxResultCode.Success.value: + raise Exception(f"Failed MsgExecuteContract: {tx_execute.raw_log}") + assert tx_execute.code == TxResultCode.Success.value + assert '{"create_viewing_key":{"key":"' in tx_execute.data[0].data.decode('utf-8') -#def test_gov_text_proposal(): - # proposals_before = pytest.secret.gov.proposals(options={ - # "proposal_status": ProposalStatus.PROPOSAL_STATUS_UNSPECIFIED, - # "voter": '', - # "depositor": '' - # }) - # - # tx = pytest.secret.gov.submit_proposal( - # content={}, - # initial_deposit=Coins({'uscrt': 10000000}), - # proposer=pytest.accounts[0]['address'] - # ) - # print(tx) - # const - # tx = await secretjs.tx.gov.submitProposal( - # { - # type: ProposalType.TextProposal, - # proposer: accounts[0].address, - # initialDeposit: [{amount: "10000000", denom: "uscrt"}], - # content: { - # title: "Hi", - # description: "Hello", - # }, - # }, - # { - # broadcastCheckIntervalMs: 100, - # gasLimit: 5_000_000, - # }, - # ); - # if (tx.code !== TxResultCode.Success) { - # console.error(tx.rawLog); - # } - # expect(tx.code).toBe(TxResultCode.Success); - # - # expect( - # getValueFromRawLog(tx.rawLog, "submit_proposal.proposal_type"), - # ).toBe("Text"); - # - # expect( - # Number(getValueFromRawLog(tx.rawLog, "submit_proposal.proposal_id")), - # ).toBeGreaterThanOrEqual(1); - # - # const proposalsAfter = await getAllProposals(secretjs); - # - # expect(proposalsAfter.length - proposalsBefore.length).toBe(1); - # }); \ No newline at end of file + tx = wallet.create_and_broadcast_tx( + [msg_execute], + gas='5000000', + gas_prices=Coins('0.25uscrt'), + broadcast_mode=BroadcastMode.BROADCAST_MODE_ASYNC + ) + tx_hash = tx.txhash + tx_execute = pytest.secret.tx.get_tx(tx_hash) + while tx_execute is None: + tx_execute = pytest.secret.tx.get_tx(tx_hash) + if tx_execute.code != TxResultCode.Success.value: + raise Exception(f"Failed MsgExecuteContract: {tx_execute.raw_log}") + assert tx_execute.code == TxResultCode.Success.value + assert '{"create_viewing_key":{"key":"' in tx_execute.data[0].data.decode('utf-8') From 211d0c2ad00e17293924f3550e241cd2c52af5df Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sat, 5 Nov 2022 19:34:11 +0000 Subject: [PATCH 42/47] Add contract query test --- tests/test.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/test.py b/tests/test.py index 1804364..48e06b3 100644 --- a/tests/test.py +++ b/tests/test.py @@ -177,6 +177,7 @@ def test_store_code(): contract_adress = get_value_from_raw_log(tx_init.rawlog, 'message.contract_address') assert contract_adress == tx_init.data[0].address + pytest.sscrt_contract_address = contract_adress msg_execute = MsgExecuteContract( sender=pytest.accounts[0]['address'], @@ -213,3 +214,8 @@ def test_store_code(): raise Exception(f"Failed MsgExecuteContract: {tx_execute.raw_log}") assert tx_execute.code == TxResultCode.Success.value assert '{"create_viewing_key":{"key":"' in tx_execute.data[0].data.decode('utf-8') + + +def test_query_compute(): + res = pytest.secret.wasm.contract_query(contract_address=pytest.sscrt_contract_address, query={'token_info': {}}) + assert res == {'token_info': {'name': 'Secret SCRT', 'symbol': 'SSCRT', 'decimals': 6, 'total_supply': '1'}} From fdbb34bc3f131bc6632dcb785caf33c846e333fd Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 6 Nov 2022 14:49:37 +0000 Subject: [PATCH 43/47] Clean tests, fix mnemonic key --- secret_sdk/key/bip32utils/.gitignore | 107 + secret_sdk/key/bip32utils/BIP32Key.py | 418 + secret_sdk/key/bip32utils/Base58.py | 82 + secret_sdk/key/bip32utils/README.md | 10 + .../key/bip32utils}/__init__.py | 0 secret_sdk/key/bip32utils/requirements.txt | 2 + secret_sdk/key/bip32utils/ripemd160.py | 130 + secret_sdk/key/key.py | 4 - secret_sdk/key/mnemonic.py | 2 +- tests/core/auth/data/account_test.py | 7 - tests/core/auth/data/tx_test.py | 16 - tests/core/bank/msgs_test.py | 98 - tests/core/distribution/__init__.py | 0 tests/core/distribution/msgs_test.py | 31 - tests/core/staking/__init__.py | 0 tests/core/staking/data/__init__.py | 0 tests/core/staking/data/delegation_test.py | 22 - tests/core/staking/data/validator_test.py | 36 - tests/core/staking/msgs_test.py | 22 - tests/json_examples/Account.data.json | 26 - tests/json_examples/Delegation.data.json | 13 - .../MsgBeginRedelegate.data.json | 7517 --- tests/json_examples/MsgDelegate.data.json | 10809 ---- .../MsgModifyWithdrawAddress.data.json | 1 - tests/json_examples/MsgUndelegate.data.json | 8270 --- .../MsgWithdrawDelegationReward.data.json | 18969 ------- .../MsgWithdrawValidatorCommission.data.json | 8738 ---- tests/json_examples/Redelegation.data.json | 42718 ---------------- tests/json_examples/StdTx.data.json | 1 - .../UnbondingDelegation.data.json | 14 - tests/key/mnemonic_test.py | 6 +- 31 files changed, 753 insertions(+), 97316 deletions(-) create mode 100644 secret_sdk/key/bip32utils/.gitignore create mode 100644 secret_sdk/key/bip32utils/BIP32Key.py create mode 100644 secret_sdk/key/bip32utils/Base58.py create mode 100644 secret_sdk/key/bip32utils/README.md rename {tests/core/bank => secret_sdk/key/bip32utils}/__init__.py (100%) create mode 100644 secret_sdk/key/bip32utils/requirements.txt create mode 100644 secret_sdk/key/bip32utils/ripemd160.py delete mode 100644 tests/core/auth/data/account_test.py delete mode 100644 tests/core/auth/data/tx_test.py delete mode 100644 tests/core/bank/msgs_test.py delete mode 100644 tests/core/distribution/__init__.py delete mode 100644 tests/core/distribution/msgs_test.py delete mode 100644 tests/core/staking/__init__.py delete mode 100644 tests/core/staking/data/__init__.py delete mode 100644 tests/core/staking/data/delegation_test.py delete mode 100644 tests/core/staking/data/validator_test.py delete mode 100644 tests/core/staking/msgs_test.py delete mode 100644 tests/json_examples/Account.data.json delete mode 100644 tests/json_examples/Delegation.data.json delete mode 100644 tests/json_examples/MsgBeginRedelegate.data.json delete mode 100644 tests/json_examples/MsgDelegate.data.json delete mode 100644 tests/json_examples/MsgModifyWithdrawAddress.data.json delete mode 100644 tests/json_examples/MsgUndelegate.data.json delete mode 100644 tests/json_examples/MsgWithdrawDelegationReward.data.json delete mode 100644 tests/json_examples/MsgWithdrawValidatorCommission.data.json delete mode 100644 tests/json_examples/Redelegation.data.json delete mode 100644 tests/json_examples/StdTx.data.json delete mode 100644 tests/json_examples/UnbondingDelegation.data.json diff --git a/secret_sdk/key/bip32utils/.gitignore b/secret_sdk/key/bip32utils/.gitignore new file mode 100644 index 0000000..a49501a --- /dev/null +++ b/secret_sdk/key/bip32utils/.gitignore @@ -0,0 +1,107 @@ +__pycache__ +*.py[cod] +*$py.class + +# Distribution / packaging +.Python build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +*.manifest +*.spec + +# Log files +pip-log.txt +pip-delete-this-directory.txt +*.log + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +.pytest_cache/ +nosetests.xml +coverage.xml +*.cover +.hypothesis/ + +# Translations +*.mo +*.pot + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +.python-version + +# pyflow +__pypackages__/ + +# Environment +.env +.venv +env/ +venv/ +ENV/ + +# If you are using PyCharm # +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/dictionaries +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.xml +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/gradle.xml +.idea/**/libraries +*.iws /out/ + +# Sublime Text +*.tmlanguage.cache +*.tmPreferences.cache +*.stTheme.cache +*.sublime-workspace +*.sublime-project + +# sftp configuration file +sftp-config.json + +# Package control specific files Package +Control.last-run +Control.ca-list +Control.ca-bundle +Control.system-ca-bundle +GitHub.sublime-settings + +# Visual Studio Code # +.vscode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history \ No newline at end of file diff --git a/secret_sdk/key/bip32utils/BIP32Key.py b/secret_sdk/key/bip32utils/BIP32Key.py new file mode 100644 index 0000000..1ab09a6 --- /dev/null +++ b/secret_sdk/key/bip32utils/BIP32Key.py @@ -0,0 +1,418 @@ +#!/usr/bin/env python +# +# Copyright 2014 Corgan Labs +# See LICENSE.txt for distribution terms +# + +import os +import hmac +import ecdsa +import struct +import codecs + +from hashlib import sha256, sha512 +from binascii import b2a_hex +from ecdsa.curves import SECP256k1 +from ecdsa.ecdsa import int_to_string, string_to_int +from ecdsa.numbertheory import square_root_mod_prime as sqrt_mod + +from secret_sdk.key.bip32utils import Base58 +from secret_sdk.key.bip32utils.ripemd160 import ripemd160 + + +MIN_ENTROPY_LEN = 128 # bits +BIP32_HARDEN = 0x80000000 # choose from hardened set of child keys +CURVE_GEN = ecdsa.ecdsa.generator_secp256k1 +CURVE_ORDER = CURVE_GEN.order() +FIELD_ORDER = SECP256k1.curve.p() +INFINITY = ecdsa.ellipticcurve.INFINITY +EX_MAIN_PRIVATE = [codecs.decode('0488ade4', 'hex')] # Version strings for mainnet extended private keys +EX_MAIN_PUBLIC = [codecs.decode('0488b21e', 'hex'), codecs.decode('049d7cb2', 'hex')] # Version strings for mainnet extended public keys +EX_TEST_PRIVATE = [codecs.decode('04358394', 'hex')] # Version strings for testnet extended private keys +EX_TEST_PUBLIC = [codecs.decode('043587CF', 'hex')] # Version strings for testnet extended public keys + + +class BIP32Key(object): + # Static initializers to create from entropy or external formats + # + @staticmethod + def fromEntropy(entropy, public=False, testnet=False): + "Create a BIP32Key using supplied entropy >= MIN_ENTROPY_LEN" + if entropy == None: + entropy = os.urandom(MIN_ENTROPY_LEN/8) # Python doesn't have os.random() + if not len(entropy) >= MIN_ENTROPY_LEN/8: + raise ValueError("Initial entropy %i must be at least %i bits" % + (len(entropy), MIN_ENTROPY_LEN)) + I = hmac.new(b"Bitcoin seed", entropy, sha512).digest() + Il, Ir = I[:32], I[32:] + # FIXME test Il for 0 or less than SECP256k1 prime field order + key = BIP32Key(secret=Il, chain=Ir, depth=0, index=0, fpr=b'\0\0\0\0', public=False, testnet=testnet) + if public: + key.SetPublic() + return key + + @staticmethod + def fromExtendedKey(xkey, public=False): + """ + Create a BIP32Key by importing from extended private or public key string + + If public is True, return a public-only key regardless of input type. + """ + # Sanity checks + raw = Base58.check_decode(xkey) + if len(raw) != 78: + raise ValueError("extended key format wrong length") + + # Verify address version/type + version = raw[:4] + if version in EX_MAIN_PRIVATE: + is_testnet = False + is_pubkey = False + elif version in EX_TEST_PRIVATE: + is_testnet = True + is_pubkey = False + elif version in EX_MAIN_PUBLIC: + is_testnet = False + is_pubkey = True + elif version in EX_TEST_PUBLIC: + is_testnet = True + is_pubkey = True + else: + raise ValueError("unknown extended key version") + + # Extract remaining fields + # Python 2.x compatibility + if type(raw[4]) == int: + depth = raw[4] + else: + depth = ord(raw[4]) + fpr = raw[5:9] + child = struct.unpack(">L", raw[9:13])[0] + chain = raw[13:45] + secret = raw[45:78] + + # Extract private key or public key point + if not is_pubkey: + secret = secret[1:] + else: + # Recover public curve point from compressed key + # Python3 FIX + lsb = secret[0] & 1 if type(secret[0]) == int else ord(secret[0]) & 1 + x = string_to_int(secret[1:]) + ys = (x**3+7) % FIELD_ORDER # y^2 = x^3 + 7 mod p + y = sqrt_mod(ys, FIELD_ORDER) + if y & 1 != lsb: + y = FIELD_ORDER-y + point = ecdsa.ellipticcurve.Point(SECP256k1.curve, x, y) + secret = ecdsa.VerifyingKey.from_public_point(point, curve=SECP256k1) + + key = BIP32Key(secret=secret, chain=chain, depth=depth, index=child, fpr=fpr, public=is_pubkey, testnet=is_testnet) + if not is_pubkey and public: + key = key.SetPublic() + return key + + # Normal class initializer + def __init__(self, secret, chain, depth, index, fpr, public=False, testnet=False): + """ + Create a public or private BIP32Key using key material and chain code. + + secret This is the source material to generate the keypair, either a + 32-byte string representation of a private key, or the ECDSA + library object representing a public key. + + chain This is a 32-byte string representation of the chain code + + depth Child depth; parent increments its own by one when assigning this + + index Child index + + fpr Parent fingerprint + + public If true, this keypair will only contain a public key and can only create + a public key chain. + """ + + self.public = public + if public is False: + self.k = ecdsa.SigningKey.from_string(secret, curve=SECP256k1) + self.K = self.k.get_verifying_key() + else: + self.k = None + self.K = secret + + self.C = chain + self.depth = depth + self.index = index + self.parent_fpr = fpr + self.testnet = testnet + + + # Internal methods not intended to be called externally + # + def hmac(self, data): + """ + Calculate the HMAC-SHA512 of input data using the chain code as key. + + Returns a tuple of the left and right halves of the HMAC + """ + I = hmac.new(self.C, data, sha512).digest() + return (I[:32], I[32:]) + + + def CKDpriv(self, i): + """ + Create a child key of index 'i'. + + If the most significant bit of 'i' is set, then select from the + hardened key set, otherwise, select a regular child key. + + Returns a BIP32Key constructed with the child key parameters, + or None if i index would result in an invalid key. + """ + # Index as bytes, BE + i_str = struct.pack(">L", i) + + # Data to HMAC + if i & BIP32_HARDEN: + data = b'\0' + self.k.to_string() + i_str + else: + data = self.PublicKey() + i_str + # Get HMAC of data + (Il, Ir) = self.hmac(data) + + # Construct new key material from Il and current private key + Il_int = string_to_int(Il) + if Il_int > CURVE_ORDER: + return None + pvt_int = string_to_int(self.k.to_string()) + k_int = (Il_int + pvt_int) % CURVE_ORDER + if (k_int == 0): + return None + secret = (b'\0'*32 + int_to_string(k_int))[-32:] + + # Construct and return a new BIP32Key + return BIP32Key(secret=secret, chain=Ir, depth=self.depth+1, index=i, fpr=self.Fingerprint(), public=False, testnet=self.testnet) + + + def CKDpub(self, i): + """ + Create a publicly derived child key of index 'i'. + + If the most significant bit of 'i' is set, this is + an error. + + Returns a BIP32Key constructed with the child key parameters, + or None if index would result in invalid key. + """ + + if i & BIP32_HARDEN: + raise Exception("Cannot create a hardened child key using public child derivation") + + # Data to HMAC. Same as CKDpriv() for public child key. + data = self.PublicKey() + struct.pack(">L", i) + + # Get HMAC of data + (Il, Ir) = self.hmac(data) + + # Construct curve point Il*G+K + Il_int = string_to_int(Il) + if Il_int >= CURVE_ORDER: + return None + point = Il_int*CURVE_GEN + self.K.pubkey.point + if point == INFINITY: + return None + + # Retrieve public key based on curve point + K_i = ecdsa.VerifyingKey.from_public_point(point, curve=SECP256k1) + + # Construct and return a new BIP32Key + return BIP32Key(secret=K_i, chain=Ir, depth=self.depth+1, index=i, fpr=self.Fingerprint(), public=True, testnet=self.testnet) + + + # Public methods + # + def ChildKey(self, i): + """ + Create and return a child key of this one at index 'i'. + + The index 'i' should be summed with BIP32_HARDEN to indicate + to use the private derivation algorithm. + """ + if self.public is False: + return self.CKDpriv(i) + else: + return self.CKDpub(i) + + + def SetPublic(self): + "Convert a private BIP32Key into a public one" + self.k = None + self.public = True + + + def PrivateKey(self): + "Return private key as string" + if self.public: + raise Exception("Publicly derived deterministic keys have no private half") + else: + return self.k.to_string() + + + def PublicKey(self): + "Return compressed public key encoding" + padx = (b'\0'*32 + int_to_string(self.K.pubkey.point.x()))[-32:] + if self.K.pubkey.point.y() & 1: + ck = b'\3'+padx + else: + ck = b'\2'+padx + return ck + + + def ChainCode(self): + "Return chain code as string" + return self.C + + + def Identifier(self): + "Return key identifier as string" + cK = self.PublicKey() + return ripemd160(sha256(cK).digest()) + + + def Fingerprint(self): + "Return key fingerprint as string" + return self.Identifier()[:4] + + + def Address(self): + "Return compressed public key address" + addressversion = b'\x00' if not self.testnet else b'\x6f' + vh160 = addressversion + self.Identifier() + return Base58.check_encode(vh160) + + def P2WPKHoP2SHAddress(self): + "Return P2WPKH over P2SH segwit address" + pk_bytes = self.PublicKey() + assert len(pk_bytes) == 33 and (pk_bytes.startswith(b"\x02") or pk_bytes.startswith(b"\x03")), \ + "Only compressed public keys are compatible with p2sh-p2wpkh addresses. " \ + "See https://github.com/bitcoin/bips/blob/master/bip-0049.mediawiki." + pk_hash = ripemd160(sha256(pk_bytes).digest()) + push_20 = bytes.fromhex('0014') + script_sig = push_20 + pk_hash + address_bytes = ripemd160(sha256(script_sig).digest()) + prefix = b"\xc4" if self.testnet else b"\x05" + return Base58.check_encode(prefix + address_bytes) + + + def WalletImportFormat(self): + "Returns private key encoded for wallet import" + if self.public: + raise Exception("Publicly derived deterministic keys have no private half") + addressversion = b'\x80' if not self.testnet else b'\xef' + raw = addressversion + self.k.to_string() + b'\x01' # Always compressed + return Base58.check_encode(raw) + + + def ExtendedKey(self, private=True, encoded=True): + "Return extended private or public key as string, optionally Base58 encoded" + if self.public is True and private is True: + raise Exception("Cannot export an extended private key from a public-only deterministic key") + if not self.testnet: + version = EX_MAIN_PRIVATE[0] if private else EX_MAIN_PUBLIC[0] + else: + version = EX_TEST_PRIVATE[0] if private else EX_TEST_PUBLIC[0] + depth = bytes(bytearray([self.depth])) + fpr = self.parent_fpr + child = struct.pack('>L', self.index) + chain = self.C + if self.public is True or private is False: + data = self.PublicKey() + else: + data = b'\x00' + self.PrivateKey() + raw = version+depth+fpr+child+chain+data + if not encoded: + return raw + else: + return Base58.check_encode(raw) + + # Debugging methods + # + def dump(self): + "Dump key fields mimicking the BIP0032 test vector format" + print(" * Identifier") + print(" * (hex): ", b2a_hex(self.Identifier())) + print(" * (fpr): ", b2a_hex(self.Fingerprint())) + print(" * (main addr):", self.Address()) + if self.public is False: + print(" * Secret key") + print(" * (hex): ", self.PrivateKey().hex()) + print(" * (wif): ", self.WalletImportFormat()) + print(" * Public key") + print(" * (hex): ", b2a_hex(self.PublicKey())) + print(" * Chain code") + print(" * (hex): ", b2a_hex(self.C)) + print(" * Serialized") + print(" * (pub hex): ", b2a_hex(self.ExtendedKey(private=False, encoded=False))) + print(" * (prv hex): ", b2a_hex(self.ExtendedKey(private=True, encoded=False))) + print(" * (pub b58): ", self.ExtendedKey(private=False, encoded=True)) + print(" * (prv b58): ", self.ExtendedKey(private=True, encoded=True)) + + +if __name__ == "__main__": + import sys + + # BIP0032 Test vector 1 + entropy=codecs.decode('000102030405060708090A0B0C0D0E0F', "hex") + m = BIP32Key.fromEntropy(entropy) + print("Test vector 1:") + print("Master (hex):", codecs.encode(entropy, "hex")) + print("* [Chain m]") + m.dump() + + print("* [Chain m/0h]") + m = m.ChildKey(0+BIP32_HARDEN) + m.dump() + + print("* [Chain m/0h/1]") + m = m.ChildKey(1) + m.dump() + + print("* [Chain m/0h/1/2h]") + m = m.ChildKey(2+BIP32_HARDEN) + m.dump() + + print("* [Chain m/0h/1/2h/2]") + m = m.ChildKey(2) + m.dump() + + print("* [Chain m/0h/1/2h/2/1000000000]") + m = m.ChildKey(1000000000) + m.dump() + + # BIP0032 Test vector 2 + entropy = codecs.decode('fffcf9f6f3f0edeae7e4e1dedbd8d5d2cfccc9c6c3c0bdbab7b4b1aeaba8a5a29f9c999693908d8a8784817e7b7875726f6c696663605d5a5754514e4b484542',"hex") + m = BIP32Key.fromEntropy(entropy) + print("Test vector 2:") + print("Master (hex):", codecs.encode(entropy,"hex")) + print("* [Chain m]") + m.dump() + + print("* [Chain m/0]") + m = m.ChildKey(0) + m.dump() + + print("* [Chain m/0/2147483647h]") + m = m.ChildKey(2147483647+BIP32_HARDEN) + m.dump() + + print("* [Chain m/0/2147483647h/1]") + m = m.ChildKey(1) + m.dump() + + print("* [Chain m/0/2147483647h/1/2147483646h]") + m = m.ChildKey(2147483646+BIP32_HARDEN) + m.dump() + + print("* [Chain m/0/2147483647h/1/2147483646h/2]") + m = m.ChildKey(2) + m.dump() diff --git a/secret_sdk/key/bip32utils/Base58.py b/secret_sdk/key/bip32utils/Base58.py new file mode 100644 index 0000000..c7c3a88 --- /dev/null +++ b/secret_sdk/key/bip32utils/Base58.py @@ -0,0 +1,82 @@ +#!/usr/bin/env python +# +# Copyright 2014 Corgan Labs +# See LICENSE.txt for distribution terms +# + +from hashlib import sha256 + +__base58_alphabet = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' +__base58_alphabet_bytes = b'123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz' +__base58_radix = len(__base58_alphabet) + + +def __string_to_int(data): + "Convert string of bytes Python integer, MSB" + val = 0 + + # Python 2.x compatibility + if type(data) == str: + data = bytearray(data) + + for (i, c) in enumerate(data[::-1]): + val += (256**i)*c + return val + + +def encode(data): + "Encode bytes into Bitcoin base58 string" + enc = '' + val = __string_to_int(data) + while val >= __base58_radix: + val, mod = divmod(val, __base58_radix) + enc = __base58_alphabet[mod] + enc + if val: + enc = __base58_alphabet[val] + enc + + # Pad for leading zeroes + n = len(data)-len(data.lstrip(b'\0')) + return __base58_alphabet[0]*n + enc + + +def check_encode(raw): + "Encode raw bytes into Bitcoin base58 string with checksum" + chk = sha256(sha256(raw).digest()).digest()[:4] + return encode(raw+chk) + + +def decode(data): + "Decode Bitcoin base58 format string to bytes" + # Python 2.x compatability + if bytes != str: + data = bytes(data, 'ascii') + + val = 0 + for (i, c) in enumerate(data[::-1]): + val += __base58_alphabet_bytes.find(c) * (__base58_radix**i) + + dec = bytearray() + while val >= 256: + val, mod = divmod(val, 256) + dec.append(mod) + if val: + dec.append(val) + + return bytes(dec[::-1]) + + +def check_decode(enc): + "Decode bytes from Bitcoin base58 string and test checksum" + dec = decode(enc) + raw, chk = dec[:-4], dec[-4:] + if chk != sha256(sha256(raw).digest()).digest()[:4]: + raise ValueError("base58 decoding checksum error") + else: + return raw + + +if __name__ == '__main__': + assert(__base58_radix == 58) + data = b'now is the time for all good men to come to the aid of their country' + enc = check_encode(data) + assert(check_decode(enc) == data) diff --git a/secret_sdk/key/bip32utils/README.md b/secret_sdk/key/bip32utils/README.md new file mode 100644 index 0000000..06997dc --- /dev/null +++ b/secret_sdk/key/bip32utils/README.md @@ -0,0 +1,10 @@ +# bip32utils +Bip 32 utils with custom ripemd160 implementation + +# The Problem + +The old python bip32utils module on PyPi [(Look Here)](https://pypi.org/project/bip32utils/) relies on haslib's implementation of ripemd160 encryption which relies on opensssl. openssl deprecated ripemd160 in openssl 3.0. + +# The Solution: + +Use a custom implemetation of ripemd160 encryption. Copied from [here](https://github.com/bitcoin/bitcoin/pull/23716) diff --git a/tests/core/bank/__init__.py b/secret_sdk/key/bip32utils/__init__.py similarity index 100% rename from tests/core/bank/__init__.py rename to secret_sdk/key/bip32utils/__init__.py diff --git a/secret_sdk/key/bip32utils/requirements.txt b/secret_sdk/key/bip32utils/requirements.txt new file mode 100644 index 0000000..4565582 --- /dev/null +++ b/secret_sdk/key/bip32utils/requirements.txt @@ -0,0 +1,2 @@ +ecdsa==0.17.0 +six==1.16.0 diff --git a/secret_sdk/key/bip32utils/ripemd160.py b/secret_sdk/key/bip32utils/ripemd160.py new file mode 100644 index 0000000..14d7e93 --- /dev/null +++ b/secret_sdk/key/bip32utils/ripemd160.py @@ -0,0 +1,130 @@ +# Copyright (c) 2021 Pieter Wuille +# Distributed under the MIT software license, see the accompanying +# file COPYING or http://www.opensource.org/licenses/mit-license.php. +"""Test-only pure Python RIPEMD160 implementation.""" + +import unittest + +# Message schedule indexes for the left path. +ML = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13 +] + +# Message schedule indexes for the right path. +MR = [ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11 +] + +# Rotation counts for the left path. +RL = [ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 +] + +# Rotation counts for the right path. +RR = [ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 +] + +# K constants for the left path. +KL = [0, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e] + +# K constants for the right path. +KR = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0] + + +def fi(x, y, z, i): + """The f1, f2, f3, f4, and f5 functions from the specification.""" + if i == 0: + return x ^ y ^ z + elif i == 1: + return (x & y) | (~x & z) + elif i == 2: + return (x | ~y) ^ z + elif i == 3: + return (x & z) | (y & ~z) + elif i == 4: + return x ^ (y | ~z) + else: + assert False + + +def rol(x, i): + """Rotate the bottom 32 bits of x left by i bits.""" + return ((x << i) | ((x & 0xffffffff) >> (32 - i))) & 0xffffffff + + +def compress(h0, h1, h2, h3, h4, block): + """Compress state (h0, h1, h2, h3, h4) with block.""" + # Left path variables. + al, bl, cl, dl, el = h0, h1, h2, h3, h4 + # Right path variables. + ar, br, cr, dr, er = h0, h1, h2, h3, h4 + # Message variables. + x = [int.from_bytes(block[4*i:4*(i+1)], 'little') for i in range(16)] + + # Iterate over the 80 rounds of the compression. + for j in range(80): + rnd = j >> 4 + # Perform left side of the transformation. + al = rol(al + fi(bl, cl, dl, rnd) + x[ML[j]] + KL[rnd], RL[j]) + el + al, bl, cl, dl, el = el, al, bl, rol(cl, 10), dl + # Perform right side of the transformation. + ar = rol(ar + fi(br, cr, dr, 4 - rnd) + x[MR[j]] + KR[rnd], RR[j]) + er + ar, br, cr, dr, er = er, ar, br, rol(cr, 10), dr + + # Compose old state, left transform, and right transform into new state. + return h1 + cl + dr, h2 + dl + er, h3 + el + ar, h4 + al + br, h0 + bl + cr + + +def ripemd160(data): + """Compute the RIPEMD-160 hash of data.""" + # Initialize state. + state = (0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0) + # Process full 64-byte blocks in the input. + for b in range(len(data) >> 6): + state = compress(*state, data[64*b:64*(b+1)]) + # Construct final blocks (with padding and size). + pad = b"\x80" + b"\x00" * ((119 - len(data)) & 63) + fin = data[len(data) & ~63:] + pad + (8 * len(data)).to_bytes(8, 'little') + # Process final blocks. + for b in range(len(fin) >> 6): + state = compress(*state, fin[64*b:64*(b+1)]) + # Produce output. + return b"".join((h & 0xffffffff).to_bytes(4, 'little') for h in state) + + +class TestFrameworkKey(unittest.TestCase): + def test_ripemd160(self): + """RIPEMD-160 test vectors.""" + # See https://homes.esat.kuleuven.be/~bosselae/ripemd160.html + for msg, hexout in [ + (b"", "9c1185a5c5e9fc54612808977ee8f548b2258d31"), + (b"a", "0bdc9d2d256b3ee9daae347be6f4dc835a467ffe"), + (b"abc", "8eb208f7e05d987a9b044a8e98c6b087f15a0bfc"), + (b"message digest", "5d0689ef49d2fae572b881b123a85ffa21595f36"), + (b"abcdefghijklmnopqrstuvwxyz", + "f71c27109c692c1b56bbdceb5b9d2865b3708dbc"), + (b"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq", + "12a053384a9c0c88e405a06c27dcf49ada62eb2b"), + (b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", + "b0e20b6e3116640286ed3a87a5713079b21f5189"), + (b"1234567890" * 8, "9b752e45573d4b39f4dbd3323cab82bf63326bfb"), + (b"a" * 1000000, "52783243c1697bdbe16d37f97f68f08325dc1528") + ]: + self.assertEqual(ripemd160(msg).hex(), hexout) \ No newline at end of file diff --git a/secret_sdk/key/key.py b/secret_sdk/key/key.py index c7f8da1..f758bdb 100644 --- a/secret_sdk/key/key.py +++ b/secret_sdk/key/key.py @@ -1,7 +1,5 @@ import abc -import base64 import copy -import hashlib from typing import Optional import attr @@ -26,8 +24,6 @@ from secret_sdk.core.tx import AuthInfo, SignerInfo, SignMode, Tx from secret_sdk.core.signature_v2 import Descriptor from secret_sdk.core.signature_v2 import Single as SingleDescriptor -from secret_sdk.util.encrypt_utils import EncryptionUtils - __all__ = ["Key"] diff --git a/secret_sdk/key/mnemonic.py b/secret_sdk/key/mnemonic.py index c9ba7e4..8258bc3 100644 --- a/secret_sdk/key/mnemonic.py +++ b/secret_sdk/key/mnemonic.py @@ -1,6 +1,6 @@ from __future__ import annotations -from bip32utils import BIP32_HARDEN, BIP32Key +from .bip32utils.BIP32Key import BIP32Key, BIP32_HARDEN from mnemonic import Mnemonic from .raw import RawKey diff --git a/tests/core/auth/data/account_test.py b/tests/core/auth/data/account_test.py deleted file mode 100644 index 64ae2f0..0000000 --- a/tests/core/auth/data/account_test.py +++ /dev/null @@ -1,7 +0,0 @@ -from secret_sdk.core.auth import Account - - -def test_deserializes_account_example(load_json_examples): - examples = load_json_examples("./Account.data.json") - for example in examples: - assert Account.from_data(example).to_data() == example diff --git a/tests/core/auth/data/tx_test.py b/tests/core/auth/data/tx_test.py deleted file mode 100644 index 1b83a8e..0000000 --- a/tests/core/auth/data/tx_test.py +++ /dev/null @@ -1,16 +0,0 @@ -from secret_sdk.core.auth import StdTx - - -def test_deserializes_stdtx(load_json_examples): - # current: /txs?tx.height=1781815 - # migrate to: /cosmos/tx/v1beta1/txs?events=tx.height=1781836 - data = load_json_examples("./StdTx.data.json") - for example in data["txs"]: - parsed = StdTx.from_data(example["tx"]).to_data() - - # TOOD: remove when adding timeout_height attr - example["tx"]["value"] = { - k: v for k, v in example["tx"]["value"].items() if k != "timeout_height" - } - for key in parsed.keys(): - assert parsed[key] == example["tx"][key] diff --git a/tests/core/bank/msgs_test.py b/tests/core/bank/msgs_test.py deleted file mode 100644 index 36c9a12..0000000 --- a/tests/core/bank/msgs_test.py +++ /dev/null @@ -1,98 +0,0 @@ -from secret_sdk.core.bank import MsgMultiSend, MsgSend - - -def test_deserializes_msg_send(load_msg_examples): - data = { - "type": "cosmos-sdk/MsgSend", - "value": { - "from_address": "secret1y4umfuqfg76t8mfcff6zzx7elvy93jtp4xcdvw", - "to_address": "secret1v9ku44wycfnsucez6fp085f5fsksp47u9x8jr4", - "amount": [{"denom": "uscrt", "amount": "8102024952"}], - }, - } - - assert MsgSend.from_data(data).to_data() == data - - -def test_msg_multi_send_io(): - - multisend = MsgMultiSend( - inputs=[ - {"address": "", "coins": "12000uusd,11000uscrt"}, - {"address": "", "coins": "11000ukrw,10000uscrt"}, - ], - outputs=[ - {"address": "", "coins": "11000ukrw,10000uscrt"}, - {"address": "", "coins": "12000uusd,11000uscrt"}, - ], - ) - - -def test_deserializes_msg_multi_send(load_msg_examples): - data = { - "type": "bank/MsgMultiSend", - "value": { - "inputs": [ - { - "address": "secret1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3", - "coins": [{"denom": "ukrw", "amount": "1"}], - }, - { - "address": "secret1gg64sjt947atmh45ls45avdwd89ey4c4r72u9h", - "coins": [{"denom": "ukrw", "amount": "6900000000"}], - }, - { - "address": "secret1yh9u2x8phrh2dan56nntgpmg7xnjrwtldhgmyu", - "coins": [{"denom": "ukrw", "amount": "1000000"}], - }, - { - "address": "secret1c5a0njk9q6q6nheja8gp4ymt2c0qspd8ggpg49", - "coins": [{"denom": "ukrw", "amount": "16430000000"}], - }, - { - "address": "secret1psswnm8mvy9qg5z4cxc2nvptc9dx62r4tvfrmh", - "coins": [{"denom": "ukrw", "amount": "9900000000"}], - }, - { - "address": "secret10lgpfm8wjrl4d9datzw6r6dl83k977afzel4t5", - "coins": [{"denom": "ukrw", "amount": "15800000000"}], - }, - { - "address": "secret13uj5qs3lcqtffqtu6aa089uf6a2pusgwndzzch", - "coins": [{"denom": "ukrw", "amount": "6900000000"}], - }, - ], - "outputs": [ - { - "address": "secret1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3", - "coins": [{"denom": "ukrw", "amount": "1"}], - }, - { - "address": "secret105rz2q5a4w7nv7239tl9c4px5cjy7axx3axf6p", - "coins": [{"denom": "ukrw", "amount": "6900000000"}], - }, - { - "address": "secret1fex9f78reuwhfsnc8sun6mz8rl9zwqh03fhwf3", - "coins": [{"denom": "ukrw", "amount": "1000000"}], - }, - { - "address": "secret105rz2q5a4w7nv7239tl9c4px5cjy7axx3axf6p", - "coins": [{"denom": "ukrw", "amount": "16430000000"}], - }, - { - "address": "secret105rz2q5a4w7nv7239tl9c4px5cjy7axx3axf6p", - "coins": [{"denom": "ukrw", "amount": "9900000000"}], - }, - { - "address": "secret105rz2q5a4w7nv7239tl9c4px5cjy7axx3axf6p", - "coins": [{"denom": "ukrw", "amount": "15800000000"}], - }, - { - "address": "secret105rz2q5a4w7nv7239tl9c4px5cjy7axx3axf6p", - "coins": [{"denom": "ukrw", "amount": "6900000000"}], - }, - ], - }, - } - - assert MsgMultiSend.from_data(data).to_data() == data diff --git a/tests/core/distribution/__init__.py b/tests/core/distribution/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/core/distribution/msgs_test.py b/tests/core/distribution/msgs_test.py deleted file mode 100644 index 42c894b..0000000 --- a/tests/core/distribution/msgs_test.py +++ /dev/null @@ -1,31 +0,0 @@ -from secret_sdk.core.distribution import ( - MsgModifyWithdrawAddress, - MsgWithdrawDelegationReward, - MsgWithdrawValidatorCommission, -) - - -# /txs?message.module=distribution&limit=1000 -def test_deserializes_msg_modify_withdraw_address_examples(load_msg_examples): - examples = load_msg_examples( - MsgModifyWithdrawAddress.type, "./MsgModifyWithdrawAddress.data.json" - ) - for example in examples: - assert MsgModifyWithdrawAddress.from_data(example).to_data() == example - - -def test_deserializes_msg_withdraw_delegation_reward_examples(load_msg_examples): - examples = load_msg_examples( - MsgWithdrawDelegationReward.type, "./MsgWithdrawDelegationReward.data.json" - ) - for example in examples: - assert MsgWithdrawDelegationReward.from_data(example).to_data() == example - - -def test_deserializes_msg_withdraw_validator_commission_examples(load_msg_examples): - examples = load_msg_examples( - MsgWithdrawValidatorCommission.type, - "./MsgWithdrawValidatorCommission.data.json", - ) - for example in examples: - assert MsgWithdrawValidatorCommission.from_data(example).to_data() == example diff --git a/tests/core/staking/__init__.py b/tests/core/staking/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/core/staking/data/__init__.py b/tests/core/staking/data/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/tests/core/staking/data/delegation_test.py b/tests/core/staking/data/delegation_test.py deleted file mode 100644 index ace40f3..0000000 --- a/tests/core/staking/data/delegation_test.py +++ /dev/null @@ -1,22 +0,0 @@ -from secret_sdk.core.staking import Delegation, Redelegation, UnbondingDelegation - - -# /staking/delegators/secret1axk8d8hmpradn7k33x95r8dvq77tajg8v6hn5e/unbonding_delegations -def test_deserialize_unbonding_delegation_examples(load_json_examples): - examples = load_json_examples("./UnbondingDelegation.data.json") - for example in examples: - assert UnbondingDelegation.from_data(example).to_data() == example - - -# /staking/delegators/secret1axk8d8hmpradn7k33x95r8dvq77tajg8v6hn5e/delegations -def test_deserialize_delegation_examples(load_json_examples): - examples = load_json_examples("./Delegation.data.json") - for example in examples: - assert Delegation.from_data(example).to_data() == example - - -# /staking/redelegations -def test_deserialize_redelegation_examples(load_json_examples): - examples = load_json_examples("./Redelegation.data.json") - for example in examples: - assert Redelegation.from_data(example).to_data() == example diff --git a/tests/core/staking/data/validator_test.py b/tests/core/staking/data/validator_test.py deleted file mode 100644 index 1e9dfab..0000000 --- a/tests/core/staking/data/validator_test.py +++ /dev/null @@ -1,36 +0,0 @@ -from secret_sdk.core.staking import Validator - - -def test_deserializes(): - # /staking/validators/secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7 - validator_data = { - "operator_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "consensus_pubkey": { - "type": "tendermint/PubKeyEd25519", - "value": "LCh8vJCJcTpi1X+uaOWWN/GsP73YrgySVeprqakdhyE=", - }, - "status": 3, - "jailed": False, - "tokens": "1481239420813", - "delegator_shares": "1481239420813.000000000000000000", - "description": { - "moniker": "SCRT LabRador", - "identity": "030EC99E4095C506", - "website": "https://scrt.network/", - "details": "Community run node of eng OG ICO holders and privacy advocates (2017) supporting the network since day 1, 99% uptime guaranteed - with refund - hosted in various dedicated data centers.", - "security_contact": None, - }, - "unbonding_height": "813800", - "unbonding_time": "0001-01-22T00:00:00Z", - "commission": { - "commission_rates": { - "rate": "0.000000000000000000", - "max_rate": "0.200000000000000000", - "max_change_rate": "0.010000000000000000", - }, - "update_time": "2021-01-24T23:45:49.923630005Z", - }, - "min_self_delegation": "1", - } - - assert validator_data == Validator.from_data(validator_data).to_data() diff --git a/tests/core/staking/msgs_test.py b/tests/core/staking/msgs_test.py deleted file mode 100644 index aa240c0..0000000 --- a/tests/core/staking/msgs_test.py +++ /dev/null @@ -1,22 +0,0 @@ -from secret_sdk.core.staking import MsgBeginRedelegate, MsgDelegate, MsgUndelegate - - -# /txs?message.module=staking&limit=1000 -def test_deserialize_msg_delegate_examples(load_msg_examples): - examples = load_msg_examples(MsgDelegate.type, "./MsgDelegate.data.json") - for example in examples: - assert MsgDelegate.from_data(example).to_data() == example - - -def test_deserialize_msg_undelegate_examples(load_msg_examples): - examples = load_msg_examples(MsgUndelegate.type, "./MsgUndelegate.data.json") - for example in examples: - assert MsgUndelegate.from_data(example).to_data() == example - - -def test_deserialize_msg_begin_redelegate_examples(load_msg_examples): - examples = load_msg_examples( - MsgBeginRedelegate.type, "./MsgBeginRedelegate.data.json" - ) - for example in examples: - assert MsgBeginRedelegate.from_data(example).to_data() == example diff --git a/tests/json_examples/Account.data.json b/tests/json_examples/Account.data.json deleted file mode 100644 index 1982a52..0000000 --- a/tests/json_examples/Account.data.json +++ /dev/null @@ -1,26 +0,0 @@ -[ - { - "type": "cosmos-sdk/BaseAccount", - "value": { - "address": "secret19y0n2ru9dae9w6vt7fwgfptp5nxq3hwtsz4u75", - "public_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ArvXpwZ5TSHkkel/AnTA4HFe+sej2+jDvisy2R7JfmKN" - }, - "account_number": "1294", - "sequence": "58866" - } - }, - { - "type": "cosmos-sdk/BaseAccount", - "value": { - "address": "secret1c7rjffp9clkvrzul20yy60yhy6arnv7sde0kjj", - "public_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+ZCpoKoUKYuo4MtcSETc/KcssOQKbk31pfXxP7sV/zW" - }, - "account_number": "1084", - "sequence": "72" - } - } -] \ No newline at end of file diff --git a/tests/json_examples/Delegation.data.json b/tests/json_examples/Delegation.data.json deleted file mode 100644 index b838eed..0000000 --- a/tests/json_examples/Delegation.data.json +++ /dev/null @@ -1,13 +0,0 @@ -[ - { - "delegation": { - "delegator_address": "secret1axk8d8hmpradn7k33x95r8dvq77tajg8v6hn5e", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "shares": "0.002472366913500840" - }, - "balance": { - "denom": "uscrt", - "amount": "0" - } - } -] \ No newline at end of file diff --git a/tests/json_examples/MsgBeginRedelegate.data.json b/tests/json_examples/MsgBeginRedelegate.data.json deleted file mode 100644 index 158436b..0000000 --- a/tests/json_examples/MsgBeginRedelegate.data.json +++ /dev/null @@ -1,7517 +0,0 @@ -{ - "total_count": "67267", - "count": "100", - "page_number": "1", - "page_total": "68", - "limit": "1000", - "txs": [ - { - "height": "817295", - "txhash": "2421BB5A0091A9BC2E22DEAE6095DFA876C6F35591790C5A340167CA98EE909F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"spender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"55000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "spender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "55000000uscrt" - }, - { - "key": "new_shares", - "value": "55000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23709", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "55000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmVZeKxWMJ2x87/aY2MQQaMZAecpiA+j9umQ+oG6eE2E" - }, - "signature": "PclPY4uLZFxdKLmGlFCRt9e84GI1kA8Bi0HbVo+zpAFMFdtPg9yDYXOCvtYRQx5Ov/xjFGCxc7qAEtvazLv3lg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:10Z" - }, - { - "height": "817296", - "txhash": "6C9D0EAA81F36195183720F0D30AFBD907074BE18372EC500E37314DC3A6E5E3", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "100000uscrt" - }, - { - "key": "new_shares", - "value": "100000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19427", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "1BBthGKwEeX4YQNYYRuy2BmK0R7zDx7XFq3PTIVE4w4IcKKGLqH6ZHNr3wXQN+d0HhagqvQkrhpN5XJBNxP5Dw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:15Z" - }, - { - "height": "817314", - "txhash": "C6D4A918A96CD2B3BC0465BD838651391EF8A56DF95C31493DAC31F85EDBCFB0", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"},{\"key\":\"new_shares\",\"value\":\"44350000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - }, - { - "key": "amount", - "value": "44350000uscrt" - }, - { - "key": "new_shares", - "value": "44350000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20703", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "amount": { - "denom": "uscrt", - "amount": "44350000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnwIN187lGy412MEi+XVAR4oN0oGYdiUmXTGc6Z3LmxM" - }, - "signature": "PkEaiJ9UPpEHEa8NF9L6bE6V2ERc5Ffdh28wjXK/I09MUZHuSm/xUOdt352vzpUSjU9A1hziWP/5EdPWVThkpA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:49:00Z" - }, - { - "height": "817358", - "txhash": "DDA40D254F8D49D87023E0BD189B4EE4ACFC28D1ACA2C3BB6B497A249224FFBF", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"spender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "spender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23890", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N" - }, - "signature": "fXZnJZDmfoO7KV4jV81+67jeMr80c1GQLN3L0EYwNr9PXpWiq/biH33fBFYFwsVQqO1sPRl7ahle5DzcV1lZoQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:53:15Z" - }, - { - "height": "817444", - "txhash": "2F796AB6BDED33C217A96E10D97E291BC216A6ED906F0B135C0C658CCEEE8B22", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"spender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"89000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "spender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "89000000uscrt" - }, - { - "key": "new_shares", - "value": "89000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23706", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "89000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ag/597xmdas++yVkkw79piOf3g33HZDT+qS8+BTt2kRg" - }, - "signature": "4mzlS5AV8VZKEIvCRj5X1Atrdd7OINb3Xt6UO/v4t4J2WTyWDsL1iYmGlSrPxYQiBlGhCAOYm49LxTQXZ4LGhA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:01:35Z" - }, - { - "height": "817522", - "txhash": "7774BF8A2893AADE20162EC0399D9740343B41B45296ECEA6AC401359060EEDA", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"},{\"key\":\"spender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"26000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "2261383uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "26000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2261383uscrt" - }, - { - "key": "spender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "26000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - }, - { - "key": "amount", - "value": "26000000uscrt" - }, - { - "key": "new_shares", - "value": "26000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2261383uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24605", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "amount": { - "denom": "uscrt", - "amount": "26000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkDQHtllM6zabHIaU/pqlSsHxvOtyB54tqE93N8+kKoT" - }, - "signature": "lAiER5sgOED28OmyrhVcF/m8SOHglfnwhpCNk6G+7EIpAr2gS3lO3mklurS56jjaKCiHHZByRp+Ajo5d+6liMg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:09:06Z" - }, - { - "height": "817548", - "txhash": "B832EBDE0AD67CA89CE95C6C6263D89FBC1CA5DD515BE3B612D8E5EF525BABE3", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C0889CA9F8D0610C5E690D902", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:11:37Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "64000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:11:37Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25022", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "64000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ax98mOcjsmjUyyB6MVcPG+JI0j2+PDBPBfyzIepZWfR5" - }, - "signature": "u8WP+vWK/a2FBgUxOr95Tjr4JD39v6o8WKVq8sUcTaFdBx89mqkUFA7BuqHDuuGr8G1WwsYHXOFoJbumJAgbsA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:11:37Z" - }, - { - "height": "817560", - "txhash": "DCE84234D4F1EF167D0E607950D85286FA2012BF6AA9B288A3AAA1FD00960F0F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"425000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "425000000uscrt" - }, - { - "key": "new_shares", - "value": "425000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "425000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/kk1o5wkjubH36yz79OX75oQxVxLYRt4VooYsQdkzHR" - }, - "signature": "qiQ8/kCMQOtua63Ph7WJXx9OWxz8Z6GI1U/DcBQtWEZjao+qXI/ijbk4CEfFp6UxQKY4Zugvbh7bFS/QRxkPng==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:12:47Z" - }, - { - "height": "817570", - "txhash": "89953B76D6E16E3042E6B693DD68955C61BEDE53775FD222B5A564D8806C2A2C", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"},{\"key\":\"new_shares\",\"value\":\"600000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - }, - { - "key": "amount", - "value": "600000uscrt" - }, - { - "key": "new_shares", - "value": "600000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19267", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "amount": { - "denom": "uscrt", - "amount": "600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aw1llgo/8PWM1JlH1RtOm0B04dQ0C+EOy772J0FAf80F" - }, - "signature": "d+xYJawwrZjvLtnpxxYg2Zikw9RVu6lgt6V4U1uoC7cdbPH8l6/RmtkgTfTV7n6HX7vQxSKuxHoEqxCxRC60ig==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:13:45Z" - }, - { - "height": "817592", - "txhash": "5063C32CA3AEC9530504250AE09E493523C83C83B34C2051FA11277D9A69BFB6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"spender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "spender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24532", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3ZPlc9vMXt3RnGEa9mHzVMuHgmrYJGtziKlIv3FOZDl" - }, - "signature": "5nFiHqZXhhmdVlAZkwjqk3IWHQF1Z0grxo42oQHTJBxqIAX85K1cCcJTLqV89IGU6IJOrEO0unRT2HcIxEDBpQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:15:53Z" - }, - { - "height": "817630", - "txhash": "F0D059A3066227282337BD6B4297589C24348FB90AC4FCEBBFDDDA7F44177722", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"spender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"7000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "spender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "7000000uscrt" - }, - { - "key": "new_shares", - "value": "7000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24514", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "7000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9kR0awBdPAQvDNuSKW4+PXvKLdQ5aSmZ0a9oYJjoUwJ" - }, - "signature": "pJvhvsVT6FqAzSljNnFA9xVt6eoCHzgA7kigdLBhFp1FojwcXjmx1IuwuDRuwlRUjihVwT84D9ClsUuNhow9dg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:19:34Z" - }, - { - "height": "817681", - "txhash": "204C551FD207B722E126413001355DA61AF46ACCADD75049F8D5B3B5D7DB24D4", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C088ED09F8D06109ED5B2B001", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:24:30Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "830000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:24:30Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24824", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "830000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AijSM2wwoN41Pjmok+6JXqAYSdFvXXkrTx6cxL/VEbz0" - }, - "signature": "4nKJiS3HSoA6gJhWsKZZKQmq68b8aQgTpV94h6r/Mxx5rabimxbkCwdI4rTh/4ROt38ylCxICSy4MJwPSzU8ZA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:24:30Z" - }, - { - "height": "817776", - "txhash": "D4F72CEFC827434F5F25F29BF2F5DF346CB15FAC4B02C502425D84CE5F28A621", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "4300000uscrt" - }, - { - "key": "new_shares", - "value": "4300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20748", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "4300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8gAu5T2sHMZ4y+5iH+2LuHZK9wojtGsy4XUAK0R5RuP" - }, - "signature": "mBtaeT8BE3OqDK0G8ZX4Xu3igu4Pjvck0oGXxtgEtxBJ0mDILhOLhtSWdsP5mNIywP2pd5vjRaVZfp7YfsPGHA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:33:41Z" - }, - { - "height": "817820", - "txhash": "E0386414A19A268EBCEEA146112AF54FB6F780A20F8E2FDACA3327AEAD67B35E", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7" - }, - { - "key": "destination_validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "30087", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzADP7saboxC/20ecAVyexN8gkmhEg/peShHsDbulXXT" - }, - "signature": "nbdc3DQ64bPMZLBn11a91iLXJWdEe7924GxLeRJ5QJwTwI1d5mLOUkbKNyXCkdU62rhM0IfMb2bizZy+14C5lA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:37:56Z" - }, - { - "height": "817843", - "txhash": "A1C8A26BB4C4F11D99E6BAC3E008E9672895A9049289B9C867D2457C314F08AC", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"110000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "15017uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "110000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "15017uscrt" - }, - { - "key": "spender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "110000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "110000000uscrt" - }, - { - "key": "new_shares", - "value": "110000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "15017uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23801", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "110000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "WR/PM7tYvhgzjbAAhbWgHCvPyf3AkzyzJ92pX3ayl616HkfiWUMYqPd4vk183NeaiL6HhOlypbF3yG/r76ZZNg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:40:10Z" - }, - { - "height": "817945", - "txhash": "D9922EDA8F07040278CA4D04EB8530138B1F493C0A35C762F0554845FB3848B9", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"amount\",\"value\":\"195uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"9000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "amount", - "value": "195uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195uscrt" - }, - { - "key": "spender", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "9000000uscrt" - }, - { - "key": "new_shares", - "value": "9000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23715", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "9000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4+goODlSwb3p9ZH5qhiDvPxyRPWVbTqNHo0wmS8owIX" - }, - "signature": "xS1mkMz9IRsWL3ky7qegxTwDGskU+9dMqkaIqsiiwHlLoHpZSU16JBRGH0RcqdL+DUT2BnDLlANhjKcKlPUkrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:50:02Z" - }, - { - "height": "818015", - "txhash": "7875A824EC541EFD6AD13B7E2F2DCD71D4E5A6933812EF0F7269C9CC3F9043B6", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08A0DF9F8D0610BDE1EC2B", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:56:48Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "80000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:56:48Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24118", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "80000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApuDFD+syK87hgb2tN/ez/jDUewL1DgsYM34ObWearOD" - }, - "signature": "iryHBrgXah3sT6tviMstq2s4HfmZt20Aln8eVTQHC5VN1IovtxIc56ZR6BoFZRwu5LPuQbaRof8XmCxLHjx/9w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:56:48Z" - }, - { - "height": "818052", - "txhash": "3F64B3895D1DEAFB45D24E2EEE08BAFC28742A4F87C317696975A383B29BA235", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"spender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "spender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22778", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApPnhYRK2Ag4vWo8oT48z8Z1/tITyj9lz5JnbCt05aen" - }, - "signature": "+P8zjpvlsPUORK+B248YMdiN1M62qgpVQvfyYC7T0Ix0u9oAjd9QZ4deBJWy89mK++zvNxZi7EzEm1jGEOcTdg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:00:23Z" - }, - { - "height": "818218", - "txhash": "195025D91089BA182FF9AFB4385EA22311B4077F376C0AA77E329DDAF98A82E1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"spender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "spender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "1300000uscrt" - }, - { - "key": "new_shares", - "value": "1300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24509", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "1300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A186FQjWfpnhJpne3UwESPut+Vn9dXKWrkb/iEUfsMQT" - }, - "signature": "0c44rs1QnVujMwS1EFi9PGxkXqIzxTmOQo5gomNUc88eRHBU0hAKJgERv4pgIyLBw0qv4Dn+lBzXYD6Zvh4Ixw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:16:27Z" - }, - { - "height": "818341", - "txhash": "050D5A4FFF22579B3E0ACDFC8EB865FF8EAA48BD226E27B62DDB7C6095177F01", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - }, - { - "key": "amount", - "value": "100000000uscrt" - }, - { - "key": "new_shares", - "value": "100000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21962", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "amount": { - "denom": "uscrt", - "amount": "100000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Amzc/4tnPvqMBpFCpM15fsBisuMSNiY7piEExBEPLIGQ" - }, - "signature": "oC/rgDLMqHob9QNwupTN2wA6DXFpu0Flzq27vVEsHNY5gdPI+qDfuKTSoZuml2ckqgCl+T96vrXOEf62ri06HQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:28:21Z" - }, - { - "height": "818359", - "txhash": "0B022451A6AE196878B2D363EA6FAFB4D70FCDDB276C5E008C81E77486068C3D", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"spender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "spender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23710", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4u8f5iwEui5ADqg0lfIK+7Nj0BcYqm0lpT4KNb+0pe2" - }, - "signature": "4zkmxl9uJoP+gczueU0stYo4ift+7eVrtalVSawhm8UdQqZIQ1ZLegILTOMr4vyjXyRAzT/ESMTh3eCwQUSqHQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:30:06Z" - }, - { - "height": "818385", - "txhash": "42CF896AD8CAC5380FBDCD0DB902F9C98886CF644C0071A499EE21D2C54FB808", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"spender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "spender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "new_shares", - "value": "3000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23660", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1P1dN97m0zz5r/Rj27Q8oGXBom+gOzmo2mngMa/rG0K" - }, - "signature": "vPlJKSFZElBk7kGe6BHUVH1fexTYWtdVuoba300gUzp8ahaZtm68AGWbKn2p5dNMNpmrHP9ekMZUlr59nsWjSg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:32:36Z" - }, - { - "height": "818451", - "txhash": "773859E9105CC7F8537E4500BB2FF7E65B4CC8BCDBC933619B7DC32F04157A4A", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C0885F39F8D0610D9CEFCAD01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T22:39:01Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "150000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T22:39:01Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24338", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "150000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtUWJ0pV7u+G4P8ZSS3C5JhzmKn/rpUWAbJBtI7GT9cE" - }, - "signature": "KOrqjTRbMpoB9BJ/hRwTk+cqgB3gCZAlRg7wrddMpBspKWucYIIuubWEsBVJYX3rz0ewzFq/XxtvxTf5rT093w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:39:01Z" - }, - { - "height": "818460", - "txhash": "17AD996C198385965E36B8F4BCF7D6FD4FF4C149F786BECE41BD5DD401696371", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08B9F39F8D06108AB5A1E501", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T22:39:53Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "191000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T22:39:53Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25050", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "191000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtUWJ0pV7u+G4P8ZSS3C5JhzmKn/rpUWAbJBtI7GT9cE" - }, - "signature": "I2+lC16Rm5YnYsQmQPVGvZNn/01ye41bQ8aGs8Ko/xAfemIb+AazLGyA/mtuhu2ni3rdrwM/hZi7fiIJsN6pWg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:39:53Z" - }, - { - "height": "818626", - "txhash": "221324E1955D62C2EF2B1EA3DFE3DA7849D1C0CB56A245B8F3F02EA2ADA54FF1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"spender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"180000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "spender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "180000000uscrt" - }, - { - "key": "new_shares", - "value": "180000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24576", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "180000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmcYtW0aMIoIkd5zc+q3/jHVgLP2XUYr8BC7wErFddNj" - }, - "signature": "wkP/yYz+J6WrMRbejiRN2RR4nSuJNA2Cn4BogzAbn814uRlb3Fchty+HHm4tt+3meRDhiCRbd7hjZ+8hhMqTgg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:55:59Z" - }, - { - "height": "818763", - "txhash": "51169A9AA213F4933D5881FF8D29BEAD612570CE413712992BC17FE1DAED24CB", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "destination_validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - }, - { - "key": "amount", - "value": "18985000000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "28395", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "amount": { - "denom": "uscrt", - "amount": "18985000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/IEg5J0kj7RBbTmgGwUegp1rUaBpDcz8M5L/PEaSQv+" - }, - "signature": "z9IeriNaW4GflSO4IC+uorlrmtnuBEqgw+3XQdktUUtQwHZ8xcm4OrrMvNfHBadfpdyyrNxQiN////n2RS20yg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:09:15Z" - }, - { - "height": "818834", - "txhash": "50052DD0D1F0F729656C2CCD35365C0503806ACFC880156A6E565FA926069309", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"150015001.493939666279924544\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "150000000uscrt" - }, - { - "key": "new_shares", - "value": "150015001.493939666279924544" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21050", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "150000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5FvBEsdAG6QXeZAasOawG0WxYWPvJNZ2sGwLNH8k6o2" - }, - "signature": "StsLi6niowZdj855zUFHlDSHHO+03qa6d1IuuQipPCUzbHwsdY9o1fJcdLT/dXoFPyMeEkkKhPgDB+Nmg+dJYg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:16:08Z" - }, - { - "height": "818877", - "txhash": "8E61804A60D4E6ACB4B2D16197144F852C84AFEA488B149D4E77635D4B0D8B27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"spender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"},{\"key\":\"new_shares\",\"value\":\"6262456.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "spender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "6262456uscrt" - }, - { - "key": "new_shares", - "value": "6262456.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22199", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "6262456" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2iyGRpgoO2M+eYQxiokX/maXFer7ZKnyZ/hkCZANQBb" - }, - "signature": "qDc12jtbd6pzVRkDBfz6OH2WEIs6kAl9QhL5518n5h0dpspmOx5kc7/azd5cMco9b9w/+uA316VajKrvDkWiZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:20:18Z" - }, - { - "height": "818882", - "txhash": "8916B0D02214BC8F4269F098E58FBAC247EF9A42F0044CBC8CAA59592E687E5C", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u\"},{\"key\":\"amount\",\"value\":\"5224uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"35000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5224uscrt\"},{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"35000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"},{\"key\":\"amount\",\"value\":\"35000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5224uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"35000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u" - }, - { - "key": "amount", - "value": "5224uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "35000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5224uscrt" - }, - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "35000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "destination_validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - }, - { - "key": "amount", - "value": "35000000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5224uscrt" - }, - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "35000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "31379", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1nv6ws2pw5gcuz4sq6zs3skw2tpecenr8nvq20u", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "amount": { - "denom": "uscrt", - "amount": "35000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AonnzvWbgQ/eYusjWMvV5apFgBu4BfxMMr3NaXFQbUha" - }, - "signature": "tKwI3R8Pb2FXJDBHMFIG+6/FtemNBp880W8LVPKUgSgwt+RP6Gf+DwmF91PeWYCDj9Jlb2r2GkGkIfaOeuoObg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:20:47Z" - }, - { - "height": "819016", - "txhash": "EC6F5DDF8C952CE1D2E264C3C1D93AD6CBF0899C3C5A1C95C1F86C1E6466B088", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"578115617.284773426936374017\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "578000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh" - }, - { - "key": "amount", - "value": "578000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - }, - { - "key": "amount", - "value": "578000000uscrt" - }, - { - "key": "new_shares", - "value": "578115617.284773426936374017" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19026", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "amount": { - "denom": "uscrt", - "amount": "578000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2liSud5WwFB3xElNtuf06cOGC8VXAdRYRjwKj/Wzjd4" - }, - "signature": "sldaGCUWXaVJdtVP8TLTv6LNxpWN4pCaz57esLdZcaBI9JxTeJ9MEjBYhu3d0ifcOHYx/RwlCY9trKC3wcDvfg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:33:45Z" - }, - { - "height": "819122", - "txhash": "21D3FD0027958E2D52357266B7ECFADA090EDC4EB7F85FA4E10BD456EBCF92D6", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08C291A08D06108CB597AE03", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T23:44:02Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "3990000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T23:44:02Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23324", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "3990000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AjFmGOegOCUa4H7ltSDwuoyJ/zad3zlCsUhb8rgp38f0" - }, - "signature": "IqUqrOsM85ckBc/fKqH7mVoYAJr/Uq6Si/BLy99uOHV6QdRqJtiucGN2my3xPiBa+7JWWv20+WR48TkKoieDdg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:44:02Z" - }, - { - "height": "819146", - "txhash": "29EC0E27D35A440C47E6CFAC06194CFEF58576F049364A6B4CD17ED80A735168", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc" - }, - { - "key": "destination_validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "9999999uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "34459", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "9999999" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ap/Nd/oI1fIIEvWVWktibkteiByaDDa7ZLD3SVz2hOAZ" - }, - "signature": "U5YBjmUZf2y/cuCgLyEiyPXTpn1JoyfdWQFOmZF5nVUXySzVJxanPgfjNKY5qmma0y4Nx3yichZx09Lnz+Rf4A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:46:22Z" - }, - { - "height": "819420", - "txhash": "ED87C7C0E491C9E6FF4C62C394E1075EDF8D87961E14EEE1AC2BA9C8AAF3BA27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"},{\"key\":\"spender\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"82008200.811639382279935279\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "amount", - "value": "2549318uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "82000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2549318uscrt" - }, - { - "key": "spender", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "amount", - "value": "82000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - }, - { - "key": "amount", - "value": "82000000uscrt" - }, - { - "key": "new_shares", - "value": "82008200.811639382279935279" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2549318uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23046", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu", - "validator_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "amount": { - "denom": "uscrt", - "amount": "82000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Amq0GAPjGltNP4BrY+QxYxsjsahxsqui4lB7s/PXyBCv" - }, - "signature": "1b9x0LzRu/7t2f+Dvct23M/fnuNLbKDOVn7GlD+ZdYlHSEQDcI5B8B5/9x918Q8VXcU+JrIAVkJO8yRe9zktPg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:12:59Z" - }, - { - "height": "819493", - "txhash": "8403D26DAA8256DA2BA5599E5723F2C923B1F29CF67953F00D53368760A5A334", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C08B5A2A08D0610BCDDFF8801", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:20:05Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "destination_validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:20:05Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "33234", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AxwF73H7Nb/bGFIir1DvLqBRlxzmfNo1FzhHbieNxIRJ" - }, - "signature": "C0cDjHOmLpR/VuzIear3/Vuv/K5nq91RNdxh6EI52UpB8qvK5PjMIpzN6EFZxXPxNDUxn+7RcO7IOHke2C1oQg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:20:05Z" - }, - { - "height": "819605", - "txhash": "B7A5D0B8806C0E9F3BBC683974219D94DC81EDCF55E4D89D37500F86E3A30794", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "spender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3500000uscrt" - }, - { - "key": "new_shares", - "value": "3500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2tXvPdakE2KZ8fyKcmWMRJbpBMTr6UsCZvemacRCkoB" - }, - "signature": "qw0DnVH9k7kZcrYcjjpR0TeHN7qKNsbk0+xF4oTVnbF/U4Z5zUjdYw+TY8o7Dqy0DKkpaXqL6HE9UQMsgXoN1g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:30:59Z" - }, - { - "height": "819694", - "txhash": "09EB0B4274466182EF3303526FB675703A3231BAB324CF840130F9268A97AA93", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"spender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500450.044818189988397736\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "spender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500450.044818189988397736" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "72500", - "gas_used": "24736", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "18125" - } - ], - "gas": "72500" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzDDwVcNsd28J7CcYQk8p1u9nLW0TekqEQrdaC12CQ2K" - }, - "signature": "BwSGKuwdPFkF7/SvWOAhT7KhiRrKZp87P/fLXbBnYaw9jAUNO6BnuCHJYiTRAz8UumQyU2T4s6SfQ5RFzLYwBQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:39:38Z" - }, - { - "height": "819753", - "txhash": "DEA9CA8EEF65E2CF17EF78244E85626F465FF3B36B6A926633C7C9560388F0F8", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08A3AEA08D0610ECB69A8F01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:45:23Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "1177000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:45:23Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25429", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "1177000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AphKUGvcO3/DstlWS0zLD6jJ2Uw2de0+fyTqXtMish+u" - }, - "signature": "DUh246TRRpHnpChCqAom+uBOmutKiR277RCn79repYM7DCV5IuyD7JcgJ5W/8+GyAXq6vMm730dNI1sZiq+Org==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:45:23Z" - }, - { - "height": "819840", - "txhash": "3D919FF4A3590FFC519C2D205BD2060D95454D586765067937AE2392E85F9986", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"541uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"541uscrt\"},{\"key\":\"spender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"15000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"541uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "541uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "541uscrt" - }, - { - "key": "spender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "15000000uscrt" - }, - { - "key": "new_shares", - "value": "15000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "541uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24597", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "15000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A6TCTSRne12CMmkGVods3/8KlqEdiFGixV1/hN4cI/6E" - }, - "signature": "ElFDCyn6hr3DKXWFoXiZFFvXUI1YPiia4p7Wdq9RaaQ5EDoIybDd7G3Pf9W7luzJkUOUhEJU2Ole/Waqg/yAmg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:53:51Z" - }, - { - "height": "819967", - "txhash": "721070354407CE24E05555DB49ECCE144398271E85A716F79EB5CECAC0BADDED", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C0884B8A08D0610A796C0CF02", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2\"},{\"key\":\"amount\",\"value\":\"39276uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"39276uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"},{\"key\":\"amount\",\"value\":\"75000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:06:12Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"39276uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2" - }, - { - "key": "amount", - "value": "39276uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "39276uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - }, - { - "key": "destination_validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - }, - { - "key": "amount", - "value": "75000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:06:12Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "39276uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "32184", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "amount": { - "denom": "uscrt", - "amount": "75000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoTqbrLUNxzCm+kYiJbHK1afMnctOeO+r2w0mPkfzFpz" - }, - "signature": "aQOeaOJblweTa09wDCVdOrImbsd1IxAmGzaNObpGYudSp/WSs+msWZuixvGpO2wmUi97NV5Th3MjcXUyyY46xQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:06:12Z" - }, - { - "height": "820047", - "txhash": "D6C750B7AC7873C38A9D40B5E0FFDBD7B0811633F90EC6E3AAB7BE88B419601D", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08D7BBA08D0610C4B9A9ED01", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:13:59Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc" - }, - { - "key": "amount", - "value": "7000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:13:59Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23591", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9", - "validator_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "amount": { - "denom": "uscrt", - "amount": "7000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ayd97j6n0RJbwKnmP1Zo7X3tf4SP1XunBU7EyrYKs9AE" - }, - "signature": "djwPbaKvdH5hQewIe2K6oq0PIEaEkQuzrO+Eb+yjdsMtHwA0mTmGq9esL96JcTDkVq06Vib2/fkCHNhaOkN3bw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:13:59Z" - }, - { - "height": "820106", - "txhash": "36E411AF6FB8239132B12B763E731A40B8A65E2024A3DEF84968CC499E653B29", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"spender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"11000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "spender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "11000000uscrt" - }, - { - "key": "new_shares", - "value": "11000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23689", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "11000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoV3aB3m8c+UZcJe1QO6JW6aOw8oQSqej7PaB9EXU48D" - }, - "signature": "wJE+q5ioXOVwDYZNF6TyJkoVZLgnd8gsrFjSn9D/cWktj2XH/sacgB+A7STHZ+Mfw7W4xurFXk/JQyU0S2Lr+A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:19:44Z" - }, - { - "height": "820123", - "txhash": "B6CC7D3DF06DC6B39C1B6C9846B62A1A591722A1176B50435A4277D0CF506125", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C0893BFA08D0610FE8D99A901", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"29472586434uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:21:23Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - }, - { - "key": "destination_validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "29472586434uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:21:23Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "34782", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "29472586434" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvhgOUytKBSqh/POA9vWOJLGdFl6ETzVqJVpiEcGTRp1" - }, - "signature": "5cQJ6iXPv+ZTinScA2io02v/oFuMiQlSKLRAajrNNi57EvxfduGvQ0euj9MM1vJoM1sYI6rrMeTxSncM9wLCTA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:21:23Z" - }, - { - "height": "820185", - "txhash": "E105E5CB3618D096C7F4434AAF11FE9707D5E2C24E13531251D042D6B8469560", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08FDC1A08D0610CEF4F1C102", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:27:25Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "515000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:27:25Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23480", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "515000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/cYsy1HCthmugJyqSlcfvFv2sAEXwjvIR5QwN1UBrVM" - }, - "signature": "SSHVv33kb1XtLPhPEa8GUqHAmCMhjmevHbvA/prn2QtknO9o1Nn35neS3BKy1xUTCNklEW7sbesmfjyByvRsEg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:27:25Z" - }, - { - "height": "820280", - "txhash": "BEE8E26B7806ECF0FA0440DF0F02FABFD7CF9ACF6F35FCB4AD8A90A76D3059EF", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088AA2998D0610B6BDC737", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-11-30T16:27:54Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu" - }, - { - "key": "destination_validator", - "value": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd" - }, - { - "key": "amount", - "value": "800000uscrt" - }, - { - "key": "completion_time", - "value": "2021-11-30T16:27:54Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "37270", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76", - "validator_src_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "amount": { - "denom": "uscrt", - "amount": "800000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AupG5gmBUo7fDVZ7YSQc8FGlj/mhmmkMmbVEc22zqdEP" - }, - "signature": "CHyYJ6UL40oEUieLQBmJMvUfVFVwXpqqcnAHY5eKJTADD4NmihP9xDoNJnqd5MgttRL0p83rtXt49H+u+HVkqw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:36:41Z" - }, - { - "height": "820422", - "txhash": "42F3589ACD77540F63B4A543DF9CDF98FD25C3A1B86A091DDAC7FFD34C6C5CF6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"spender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"50000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "spender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "50000000uscrt" - }, - { - "key": "new_shares", - "value": "50000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24558", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "50000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1IROufCaxal7OfqS6cym6eR2zVjpeNV5xO2VxS02gKB" - }, - "signature": "fivm3ogdP0W3UOxWeEsRwD0knwrAvQQSc/EgZsCaIa4IVdSqAT7RytwS2vU9gbsbzK5bFIHf3UNnJd5yR/CWrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:50:31Z" - }, - { - "height": "820453", - "txhash": "CD261C8AEB03CC7A6B1AA344C8244987E81770421B3D2F4BC4A9E91F0E68C289", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C08DFFE918D0610A4DDF2D802", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-11-29T07:21:03Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec" - }, - { - "key": "destination_validator", - "value": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-11-29T07:21:03Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "33924", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n", - "validator_src_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtwT8JLTG67WwOCpoQiHKk9c7pqMuzjFVU0vrgOX1ff/" - }, - "signature": "lCxUCS3d6h0FJS2/lndxjxQwC2IVu4mdaoGRwJjpWmJs1BxYyOyBtH5T+29RxEaRFyAzDcXsAJTzHZaUqGD1Nw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:53:32Z" - }, - { - "height": "820518", - "txhash": "7BDBE17B408B74BE23F103D9FD9E94F183B8C00B89F1AB9A512C7EBA8CA4C2E9", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B0898D1A08D061099DCB267", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7\"},{\"key\":\"amount\",\"value\":\"4600000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:59:52Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7" - }, - { - "key": "amount", - "value": "4600000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:59:52Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "22137", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8", - "validator_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "amount": { - "denom": "uscrt", - "amount": "4600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7pt4HtgqUDuKZwHWgTYD949/P21P+YKjNIskmel8CiZ" - }, - "signature": "PvCqCPafCbx3zAI1rPvfy9T2sScmgQ5WXPwN7FiBjwpy4ZuS3Q8z0+ZPOpozwGAM+Io2STC+QSTBCkwqZvHTeg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:59:52Z" - }, - { - "height": "820586", - "txhash": "5ADCA6C53F1AE87870DB63B620183C5813381596CEDAA166EA53C3FD49D9EEC8", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "amount", - "value": "95359uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "95359uscrt" - }, - { - "key": "spender", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "95359uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23660", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AiJ6u0943+xrSEiE0wBtk1M/PJgk8ffss1aCzK2+V+Dm" - }, - "signature": "5/DGxvMYhnoJhF2eHo74TrEQxbmcYmuygG0TfPFQlWMBQ7n9eTclv2TDTKvyEbJweIbjAMLxuTkmvCpTcHMeBg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:06:30Z" - }, - { - "height": "820712", - "txhash": "580668B2F923B7EE25BC6F4FFFEA2617ADBF00F819FB401C1440E49842418683", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"6200000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7" - }, - { - "key": "destination_validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "6200000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "31540", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "6200000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwSUbiab7Gc3qllHkqFVACMmB0CkpCQh4LVZowOKK9yK" - }, - "signature": "ptZfpZzBjpp8+KKxnzlSpvjko2jm0w4cE4JezmKRxi9yheDFxkp3MGU48PqHCFE+1zVvpt51/17aaW7H9CIBFQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:18:45Z" - }, - { - "height": "820762", - "txhash": "6503604EBEB8F046F54402143FCD58BDBD272D1ADFD5755C6C451D3140196E58", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"amount\",\"value\":\"21uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"21uscrt\"},{\"key\":\"spender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"},{\"key\":\"new_shares\",\"value\":\"310000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"21uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "amount", - "value": "21uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "310000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "21uscrt" - }, - { - "key": "spender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "amount", - "value": "310000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "310000uscrt" - }, - { - "key": "new_shares", - "value": "310000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "21uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24511", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "310000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwSUbiab7Gc3qllHkqFVACMmB0CkpCQh4LVZowOKK9yK" - }, - "signature": "GH+Gcanfxg8e4rvLxskSKLXTVaBEDwnw89RKDouFHAUh4QBgiXVY4nH+gecT6hHvpt5zboC0SFkLqgJXiIEgFQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:23:37Z" - }, - { - "height": "820908", - "txhash": "40AC0A70E6C635298CF108A524B35E66AD68184A348F8F550831B02390ACBBB4", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08FDE2A08D0610A9809373", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:37:49Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "21100000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:37:49Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "27248", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "21100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ap+RKWeDjiQXusBHCVg9CXYxmQUjxxPktvI6abPRVaW5" - }, - "signature": "CyIzJlmNq0HvlrRvTGbXbmvg91HO3Rvh4uvlYlCVROMj+dXFHzt5a7//C7P9QuzfwQ4E7IJZM7OShBiqf4O83Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:37:49Z" - }, - { - "height": "821110", - "txhash": "7AE4E24B44454427F896DC320F0AE5E0A60FDFCC1BB287CBDDE22993BEB8A102", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"spender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"6000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "spender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "amount", - "value": "6000000uscrt" - }, - { - "key": "new_shares", - "value": "6000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap", - "validator_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "amount": { - "denom": "uscrt", - "amount": "6000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "An5bbo98NASH4PRyYqPRwuA9VUxpffmCbMC9HTLAdeS4" - }, - "signature": "XdpEh8/Uwu05dTtCR9CCzbJ41dLpbH2rBgEGJUd1VOE2W+0yp47J0SLu/QJdJ56pZVupy6woh/uLgVowh+pO8Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:57:27Z" - } - ] -} \ No newline at end of file diff --git a/tests/json_examples/MsgDelegate.data.json b/tests/json_examples/MsgDelegate.data.json deleted file mode 100644 index 304d8f4..0000000 --- a/tests/json_examples/MsgDelegate.data.json +++ /dev/null @@ -1,10809 +0,0 @@ -{ - "total_count": "67267", - "count": "100", - "page_number": "1", - "page_total": "68", - "limit": "1000", - "txs": [ - { - "height": "817295", - "txhash": "2421BB5A0091A9BC2E22DEAE6095DFA876C6F35591790C5A340167CA98EE909F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"spender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"55000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "spender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "55000000uscrt" - }, - { - "key": "new_shares", - "value": "55000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23709", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "55000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmVZeKxWMJ2x87/aY2MQQaMZAecpiA+j9umQ+oG6eE2E" - }, - "signature": "PclPY4uLZFxdKLmGlFCRt9e84GI1kA8Bi0HbVo+zpAFMFdtPg9yDYXOCvtYRQx5Ov/xjFGCxc7qAEtvazLv3lg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:10Z" - }, - { - "height": "817296", - "txhash": "D5B0C44FE3DF74096C97F15A4858C49C0AB5FB086CA4C150A779590042FFB78D", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr\"},{\"key\":\"amount\",\"value\":\"999935uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"103000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"999935uscrt\"},{\"key\":\"spender\",\"value\":\"secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr\"},{\"key\":\"amount\",\"value\":\"103000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"103000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"103000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"999935uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr" - }, - { - "key": "amount", - "value": "999935uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "103000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "999935uscrt" - }, - { - "key": "spender", - "value": "secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr" - }, - { - "key": "amount", - "value": "103000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "103000000uscrt" - }, - { - "key": "new_shares", - "value": "103000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "999935uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23283", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1g55d7dq5j8vx8n6c4q2pjzvdhn99r7naf070qr", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "103000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A08kmzgHIdRNODU+oJqCmxl0RoyMxjz0sobzyifaeJ/3" - }, - "signature": "BHfegiTDuugKpvZUWuDtNbQ6ROkaKiJkMt4jO3qTf0FtkY5HtB+lDdUAdkqWH+DISW2LkekVQNzf6KPMVw0lLw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:15Z" - }, - { - "height": "817296", - "txhash": "6C9D0EAA81F36195183720F0D30AFBD907074BE18372EC500E37314DC3A6E5E3", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "100000uscrt" - }, - { - "key": "new_shares", - "value": "100000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19427", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "1BBthGKwEeX4YQNYYRuy2BmK0R7zDx7XFq3PTIVE4w4IcKKGLqH6ZHNr3wXQN+d0HhagqvQkrhpN5XJBNxP5Dw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:15Z" - }, - { - "height": "817299", - "txhash": "D2721A0703714225F8539BC681F13D412D77499D9DA666A205E15F000D8D3A92", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100020.002990445229573767\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - }, - { - "key": "amount", - "value": "100000uscrt" - }, - { - "key": "new_shares", - "value": "100020.002990445229573767" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18930", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "amount": { - "denom": "uscrt", - "amount": "100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "j9TSCdvZAvgH7GUQUTZ4VzIxfFigwDx//pfm+WxM2jBnsispi2gVpUG/CwNNln/GRaJ+6dvRgudVDQxREHKQMA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:33Z" - }, - { - "height": "817314", - "txhash": "C6D4A918A96CD2B3BC0465BD838651391EF8A56DF95C31493DAC31F85EDBCFB0", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"},{\"key\":\"new_shares\",\"value\":\"44350000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - }, - { - "key": "amount", - "value": "44350000uscrt" - }, - { - "key": "new_shares", - "value": "44350000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20703", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "amount": { - "denom": "uscrt", - "amount": "44350000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnwIN187lGy412MEi+XVAR4oN0oGYdiUmXTGc6Z3LmxM" - }, - "signature": "PkEaiJ9UPpEHEa8NF9L6bE6V2ERc5Ffdh28wjXK/I09MUZHuSm/xUOdt352vzpUSjU9A1hziWP/5EdPWVThkpA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:49:00Z" - }, - { - "height": "817330", - "txhash": "51A487A03D1C65647E8ECCD12EDE828BEB1F3E466DF7592B4EC45192A969BA27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "100000uscrt" - }, - { - "key": "new_shares", - "value": "100000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23115", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "bp+GQdznTHxeXUfXwDfXBzhllp9u0wJJLVnx2qS3SkV4Mijl0tt/B7sIcr1OXogU5M0kzCyi6+vj4JP1btYhlg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:50:33Z" - }, - { - "height": "817358", - "txhash": "DDA40D254F8D49D87023E0BD189B4EE4ACFC28D1ACA2C3BB6B497A249224FFBF", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"spender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "spender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23890", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N" - }, - "signature": "fXZnJZDmfoO7KV4jV81+67jeMr80c1GQLN3L0EYwNr9PXpWiq/biH33fBFYFwsVQqO1sPRl7ahle5DzcV1lZoQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:53:15Z" - }, - { - "height": "817365", - "txhash": "C31C59CC1A0752852686CD787297D673563C7FB6B2DF8601B4D198C98EFEA2BA", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret16t00cvmr20eegltl8rhygcl0ljqe47837jy4a5\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"},{\"key\":\"new_shares\",\"value\":\"50000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret16t00cvmr20eegltl8rhygcl0ljqe47837jy4a5\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "50000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret16t00cvmr20eegltl8rhygcl0ljqe47837jy4a5" - }, - { - "key": "amount", - "value": "50000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "50000uscrt" - }, - { - "key": "new_shares", - "value": "50000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret16t00cvmr20eegltl8rhygcl0ljqe47837jy4a5" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20704", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret16t00cvmr20eegltl8rhygcl0ljqe47837jy4a5", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "50000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApAPyuup2VfH199WtchspuIZiB1iB118y/NZep3GHdCa" - }, - "signature": "MEqdJkJMHbHnc8glNenv2Omo6otrfnnQtrPIDFRMXIglh/UmkMvNpi+DXgGAPxGqOdpb/6y+UIDpyS+rrXX9tQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:53:56Z" - }, - { - "height": "817444", - "txhash": "2F796AB6BDED33C217A96E10D97E291BC216A6ED906F0B135C0C658CCEEE8B22", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"spender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"89000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "spender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "89000000uscrt" - }, - { - "key": "new_shares", - "value": "89000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23706", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "89000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ag/597xmdas++yVkkw79piOf3g33HZDT+qS8+BTt2kRg" - }, - "signature": "4mzlS5AV8VZKEIvCRj5X1Atrdd7OINb3Xt6UO/v4t4J2WTyWDsL1iYmGlSrPxYQiBlGhCAOYm49LxTQXZ4LGhA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:01:35Z" - }, - { - "height": "817522", - "txhash": "7774BF8A2893AADE20162EC0399D9740343B41B45296ECEA6AC401359060EEDA", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"},{\"key\":\"spender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"},{\"key\":\"amount\",\"value\":\"26000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"26000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2261383uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "2261383uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "26000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2261383uscrt" - }, - { - "key": "spender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "26000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - }, - { - "key": "amount", - "value": "26000000uscrt" - }, - { - "key": "new_shares", - "value": "26000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2261383uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24605", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "amount": { - "denom": "uscrt", - "amount": "26000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkDQHtllM6zabHIaU/pqlSsHxvOtyB54tqE93N8+kKoT" - }, - "signature": "lAiER5sgOED28OmyrhVcF/m8SOHglfnwhpCNk6G+7EIpAr2gS3lO3mklurS56jjaKCiHHZByRp+Ajo5d+6liMg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:09:06Z" - }, - { - "height": "817548", - "txhash": "B832EBDE0AD67CA89CE95C6C6263D89FBC1CA5DD515BE3B612D8E5EF525BABE3", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C0889CA9F8D0610C5E690D902", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:11:37Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "64000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:11:37Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25022", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "64000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ax98mOcjsmjUyyB6MVcPG+JI0j2+PDBPBfyzIepZWfR5" - }, - "signature": "u8WP+vWK/a2FBgUxOr95Tjr4JD39v6o8WKVq8sUcTaFdBx89mqkUFA7BuqHDuuGr8G1WwsYHXOFoJbumJAgbsA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:11:37Z" - }, - { - "height": "817559", - "txhash": "5F5C43BDBE56F8AAFBC73801A81356F88950F638BF384B613D210D79A1743801", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr\"},{\"key\":\"amount\",\"value\":\"84992uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"84992uscrt\"},{\"key\":\"spender\",\"value\":\"secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"5000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"84992uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr" - }, - { - "key": "amount", - "value": "84992uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "84992uscrt" - }, - { - "key": "spender", - "value": "secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "5000000uscrt" - }, - { - "key": "new_shares", - "value": "5000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "84992uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24508", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret197j0eac77pdszhdmag5yyjlhjhhm87t8my45sr", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "5000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqpvoudGxHlMQKJrb8DK8A7dZa9n6hUFi3H4K1XLI3ju" - }, - "signature": "OdCbHJT33isPWNpa2Fc+k4SK5iqHnuAeR41kae8FdOskNyoncCxv/KbQB+P/YOJVwUSZ64zZEamq53euJwakTg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:12:41Z" - }, - { - "height": "817560", - "txhash": "DCE84234D4F1EF167D0E607950D85286FA2012BF6AA9B288A3AAA1FD00960F0F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"425000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "425000000uscrt" - }, - { - "key": "new_shares", - "value": "425000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "425000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/kk1o5wkjubH36yz79OX75oQxVxLYRt4VooYsQdkzHR" - }, - "signature": "qiQ8/kCMQOtua63Ph7WJXx9OWxz8Z6GI1U/DcBQtWEZjao+qXI/ijbk4CEfFp6UxQKY4Zugvbh7bFS/QRxkPng==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:12:47Z" - }, - { - "height": "817567", - "txhash": "629BBD73FB5501B0F95F55278764BB22F1DD1902E933BCB1A47D87AFEA985A19", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"973000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg\"},{\"key\":\"amount\",\"value\":\"973000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"},{\"key\":\"amount\",\"value\":\"973000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"973000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "973000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg" - }, - { - "key": "amount", - "value": "973000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - }, - { - "key": "amount", - "value": "973000000uscrt" - }, - { - "key": "new_shares", - "value": "973000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21024", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "amount": { - "denom": "uscrt", - "amount": "973000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Az9n2MBZltUlVVyUNPhkqMZ+T9nhZERlKUiQwut6/dht" - }, - "signature": "k1qBRnXJf89qqk2O49R5UkMNgODtIXAlsy7jB7TuZmE2r5G8z/bQzfbVM/9yGOT1fzBYdIgs/JadlwI4Wy58Qw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:13:28Z" - }, - { - "height": "817570", - "txhash": "89953B76D6E16E3042E6B693DD68955C61BEDE53775FD222B5A564D8806C2A2C", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"},{\"key\":\"new_shares\",\"value\":\"600000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - }, - { - "key": "amount", - "value": "600000uscrt" - }, - { - "key": "new_shares", - "value": "600000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19267", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "amount": { - "denom": "uscrt", - "amount": "600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aw1llgo/8PWM1JlH1RtOm0B04dQ0C+EOy772J0FAf80F" - }, - "signature": "d+xYJawwrZjvLtnpxxYg2Zikw9RVu6lgt6V4U1uoC7cdbPH8l6/RmtkgTfTV7n6HX7vQxSKuxHoEqxCxRC60ig==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:13:45Z" - }, - { - "height": "817581", - "txhash": "EC12F8621034FD8576261B14B28BFE2F59C40719E5F3827A3F259DB2FDE912AF", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"1892uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"8700000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1892uscrt\"},{\"key\":\"spender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"8700000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"8700000uscrt\"},{\"key\":\"new_shares\",\"value\":\"8700000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1892uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "amount", - "value": "1892uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "8700000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1892uscrt" - }, - { - "key": "spender", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "amount", - "value": "8700000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "8700000uscrt" - }, - { - "key": "new_shares", - "value": "8700000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1892uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23901", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "8700000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A013X+53yCVpH0EkF9OrjzhOKitPSfCQdp0zbiyQNZgA" - }, - "signature": "tIgh87qg2jrEFPzZEm8xz9Xil+en5pM0+spvaNULXlkPdr6C2p81tRchIK/H9nibpdgWT6unnwoNbKzJ2VXDeQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:14:49Z" - }, - { - "height": "817592", - "txhash": "5063C32CA3AEC9530504250AE09E493523C83C83B34C2051FA11277D9A69BFB6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"spender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "spender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24532", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3ZPlc9vMXt3RnGEa9mHzVMuHgmrYJGtziKlIv3FOZDl" - }, - "signature": "5nFiHqZXhhmdVlAZkwjqk3IWHQF1Z0grxo42oQHTJBxqIAX85K1cCcJTLqV89IGU6IJOrEO0unRT2HcIxEDBpQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:15:53Z" - }, - { - "height": "817600", - "txhash": "67B8EA2F3357F65A31BC008118A61578D3277F2BF236F4F7A3A9E75AA9A15EC5", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"4253uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4253uscrt\"},{\"key\":\"spender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4253uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "4253uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4253uscrt" - }, - { - "key": "spender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4253uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "67500", - "gas_used": "23730", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "20250" - } - ], - "gas": "67500" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV" - }, - "signature": "CVGZWDO5H3grlMoOe92TfUp++b9EUHTTjmokLUOlcZFG24b+wxiUjMcmxwa6szryb08HFE+SFl5VWLdeo34icg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:16:39Z" - }, - { - "height": "817630", - "txhash": "F0D059A3066227282337BD6B4297589C24348FB90AC4FCEBBFDDDA7F44177722", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"spender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"7000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "spender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "7000000uscrt" - }, - { - "key": "new_shares", - "value": "7000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24514", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "7000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9kR0awBdPAQvDNuSKW4+PXvKLdQ5aSmZ0a9oYJjoUwJ" - }, - "signature": "pJvhvsVT6FqAzSljNnFA9xVt6eoCHzgA7kigdLBhFp1FojwcXjmx1IuwuDRuwlRUjihVwT84D9ClsUuNhow9dg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:19:34Z" - }, - { - "height": "817681", - "txhash": "204C551FD207B722E126413001355DA61AF46ACCADD75049F8D5B3B5D7DB24D4", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C088ED09F8D06109ED5B2B001", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:24:30Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "830000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:24:30Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24824", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "830000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AijSM2wwoN41Pjmok+6JXqAYSdFvXXkrTx6cxL/VEbz0" - }, - "signature": "4nKJiS3HSoA6gJhWsKZZKQmq68b8aQgTpV94h6r/Mxx5rabimxbkCwdI4rTh/4ROt38ylCxICSy4MJwPSzU8ZA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:24:30Z" - }, - { - "height": "817714", - "txhash": "B49F8CEDB36C077DB368BBA40DF31FD0F5AD8FB1DB3E75BADA238117D585904C", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6\"},{\"key\":\"amount\",\"value\":\"122456uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"122456uscrt\"},{\"key\":\"spender\",\"value\":\"secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"122456uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6" - }, - { - "key": "amount", - "value": "122456uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "122456uscrt" - }, - { - "key": "spender", - "value": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - }, - { - "key": "amount", - "value": "1000000uscrt" - }, - { - "key": "new_shares", - "value": "1000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "122456uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24471", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "amount": { - "denom": "uscrt", - "amount": "1000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlRPp6w1vGh8tIG7D/hfOGJjsT6kUA9O3mi+UPaQwtsr" - }, - "signature": "itha0Q7Zq2YtBJYPVLPhKwjYursCUnRQ/19Gkc0STalbC8LzSViAr6P6iOAnb0vdxn1gFd6hvY7OZnrI/wUvLA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:27:41Z" - }, - { - "height": "817776", - "txhash": "D4F72CEFC827434F5F25F29BF2F5DF346CB15FAC4B02C502425D84CE5F28A621", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "4300000uscrt" - }, - { - "key": "new_shares", - "value": "4300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20748", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "4300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8gAu5T2sHMZ4y+5iH+2LuHZK9wojtGsy4XUAK0R5RuP" - }, - "signature": "mBtaeT8BE3OqDK0G8ZX4Xu3igu4Pjvck0oGXxtgEtxBJ0mDILhOLhtSWdsP5mNIywP2pd5vjRaVZfp7YfsPGHA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:33:41Z" - }, - { - "height": "817838", - "txhash": "2F8D8A716E9A91CFB927CD909C099C3D4F3D7052932D712C56184C728C880FAD", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3123060.868614178525004874\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "new_shares", - "value": "3123060.868614178525004874" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18892", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq", - "validator_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnhdMz/QcWH0o/HeQFM7KR7NzolHkfxL9vAisWn6RIGG" - }, - "signature": "jOaOj4T4sR/HMzfgG3Bk1Wd3am9BdYpepCK9tnbfUMQ3CeuQu4iPdZkWTp3crngJtSJVFfcF30Wh//vgmIK8zw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:39:40Z" - }, - { - "height": "817843", - "txhash": "A1C8A26BB4C4F11D99E6BAC3E008E9672895A9049289B9C867D2457C314F08AC", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"110000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"110000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"15017uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "15017uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "110000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "15017uscrt" - }, - { - "key": "spender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "110000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "110000000uscrt" - }, - { - "key": "new_shares", - "value": "110000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "15017uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23801", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "110000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "WR/PM7tYvhgzjbAAhbWgHCvPyf3AkzyzJ92pX3ayl616HkfiWUMYqPd4vk183NeaiL6HhOlypbF3yG/r76ZZNg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:40:10Z" - }, - { - "height": "817867", - "txhash": "23BDCD94291130AAFFF893C99B6F5C9D4BAB9B670A4822C62EEC9FBDDE1953D4", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"},{\"key\":\"spender\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"12000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "amount", - "value": "455074uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455074uscrt" - }, - { - "key": "spender", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "12000000uscrt" - }, - { - "key": "new_shares", - "value": "12000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455074uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23060", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "12000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtsT48de8osunx1Zg7V8qXLV5BNRvMk7QY7pj13L3XNM" - }, - "signature": "XiCt0UqwrmXVeXj4tU0Yb+RZrfrtedOdRLyjo3XhsVJMQYkKUplIGNqS+Ybsib+C/+GHaFPFBsmD4O27h3RHRQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:42:29Z" - }, - { - "height": "817945", - "txhash": "D9922EDA8F07040278CA4D04EB8530138B1F493C0A35C762F0554845FB3848B9", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"amount\",\"value\":\"195uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"9000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "amount", - "value": "195uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195uscrt" - }, - { - "key": "spender", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "9000000uscrt" - }, - { - "key": "new_shares", - "value": "9000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23715", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "9000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4+goODlSwb3p9ZH5qhiDvPxyRPWVbTqNHo0wmS8owIX" - }, - "signature": "xS1mkMz9IRsWL3ky7qegxTwDGskU+9dMqkaIqsiiwHlLoHpZSU16JBRGH0RcqdL+DUT2BnDLlANhjKcKlPUkrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:50:02Z" - }, - { - "height": "817975", - "txhash": "7661D255FF6D4A5FB8F1225096F404915E6C4D98755A5E2A130B38A1518F1D5F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"},{\"key\":\"spender\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "amount", - "value": "44981uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "44981uscrt" - }, - { - "key": "spender", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "1000000uscrt" - }, - { - "key": "new_shares", - "value": "1000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "44981uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "1000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4Z9j9+wJNDgcvJ/m241hAGQgd6O+UbJbze4owCQgugL" - }, - "signature": "WSiL9PQelHZlwl7asKOzQKCF2Bux/LRlV5nuvGWo5CF3ILGky2xDFQI/vSFBrVSL4M+PViiPqFWeAo4FhoFrog==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:52:56Z" - }, - { - "height": "818041", - "txhash": "FF5174C5E95B81505A381185B81FBF846BEA7DA3F29AFA40C19B59574F136999", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"17uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"200000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"17uscrt\"},{\"key\":\"spender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"200000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n\"},{\"key\":\"amount\",\"value\":\"200000uscrt\"},{\"key\":\"new_shares\",\"value\":\"200000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"17uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "17uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "200000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "17uscrt" - }, - { - "key": "spender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "200000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n" - }, - { - "key": "amount", - "value": "200000uscrt" - }, - { - "key": "new_shares", - "value": "200000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "17uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23805", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "amount": { - "denom": "uscrt", - "amount": "200000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ao+LQlEQpoGrlgxawetuFoShy2EIzhuD8UXYWOW8lQyU" - }, - "signature": "vQ9ConyS3qoUUAoK8FsR1Hjn5FmPWbtUyBef34aocIw2EoZMqJTTNFmMyp3gHXLLOY5iN6ikE3elxPGu+bE73A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:59:18Z" - }, - { - "height": "818052", - "txhash": "3F64B3895D1DEAFB45D24E2EEE08BAFC28742A4F87C317696975A383B29BA235", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"spender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "spender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22778", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApPnhYRK2Ag4vWo8oT48z8Z1/tITyj9lz5JnbCt05aen" - }, - "signature": "+P8zjpvlsPUORK+B248YMdiN1M62qgpVQvfyYC7T0Ix0u9oAjd9QZ4deBJWy89mK++zvNxZi7EzEm1jGEOcTdg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:00:23Z" - }, - { - "height": "818094", - "txhash": "3BC17F2F6F185AA5DB610626BAAE759770414A760712DA08BA66BA7CE6716CC6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0\"},{\"key\":\"amount\",\"value\":\"104944uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"104944uscrt\"},{\"key\":\"spender\",\"value\":\"secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10001000.099595977751994969\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"104944uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0" - }, - { - "key": "amount", - "value": "104944uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "104944uscrt" - }, - { - "key": "spender", - "value": "secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10001000.099595977751994969" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "104944uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24585", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1atfwhylcgu4hw663eu540teu5nh4r80lhdxzf0", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoYWlTJFB2KygRxEZC14Ws1XXIBpdzxAdQCRmIcGsk/1" - }, - "signature": "g1nPcsGghd17sB+xNNn8K5huAQ5QyKdo/9KEbK+LTHd+8N8FLpHj0UOEMg4XIhK2SXMBj/mvntOGpoCRfr/6PA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:04:27Z" - }, - { - "height": "818218", - "txhash": "195025D91089BA182FF9AFB4385EA22311B4077F376C0AA77E329DDAF98A82E1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"spender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "spender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "1300000uscrt" - }, - { - "key": "new_shares", - "value": "1300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24509", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "1300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A186FQjWfpnhJpne3UwESPut+Vn9dXKWrkb/iEUfsMQT" - }, - "signature": "0c44rs1QnVujMwS1EFi9PGxkXqIzxTmOQo5gomNUc88eRHBU0hAKJgERv4pgIyLBw0qv4Dn+lBzXYD6Zvh4Ixw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:16:27Z" - }, - { - "height": "818330", - "txhash": "596C53A62BDE8C48C32270AA63BC6D367D0E6F6D74EEDE3BF588D57C149C1F7F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"50000uscrt\"},{\"key\":\"new_shares\",\"value\":\"50000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "50000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "50000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "50000uscrt" - }, - { - "key": "new_shares", - "value": "50000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19846", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "50000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "YuUb3gbxvinXDSn6r1DTLyPh+eDQtzisQL669Qct+rlApiFcLhWgSeMKxiYp0jGAKadc7pIIBsWDUNy/MdV3TQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:27:18Z" - }, - { - "height": "818341", - "txhash": "050D5A4FFF22579B3E0ACDFC8EB865FF8EAA48BD226E27B62DDB7C6095177F01", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - }, - { - "key": "amount", - "value": "100000000uscrt" - }, - { - "key": "new_shares", - "value": "100000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21962", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "amount": { - "denom": "uscrt", - "amount": "100000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Amzc/4tnPvqMBpFCpM15fsBisuMSNiY7piEExBEPLIGQ" - }, - "signature": "oC/rgDLMqHob9QNwupTN2wA6DXFpu0Flzq27vVEsHNY5gdPI+qDfuKTSoZuml2ckqgCl+T96vrXOEf62ri06HQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:28:21Z" - }, - { - "height": "818359", - "txhash": "BC783831A04C8FB07A45755384ACEDDF0E96771E04905BEF2B3F67103CDABAC6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l\"},{\"key\":\"amount\",\"value\":\"455uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455uscrt\"},{\"key\":\"spender\",\"value\":\"secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10002000.299830467697388848\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l" - }, - { - "key": "amount", - "value": "455uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455uscrt" - }, - { - "key": "spender", - "value": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10002000.299830467697388848" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22401", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A87oXF8ameafNJy+Nwd0p1UP8Us9tnJCpJnJajV/LFxL" - }, - "signature": "hjcp9gsZgPFvgfW3ZFpkNDXuZOVrzvpkA2yFp7M9yXZq9xD/48GoNzhj25VR/IpvwUcZ60ugOMgTDMFkkGpkpQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:30:06Z" - }, - { - "height": "818359", - "txhash": "0B022451A6AE196878B2D363EA6FAFB4D70FCDDB276C5E008C81E77486068C3D", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"spender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "spender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23710", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4u8f5iwEui5ADqg0lfIK+7Nj0BcYqm0lpT4KNb+0pe2" - }, - "signature": "4zkmxl9uJoP+gczueU0stYo4ift+7eVrtalVSawhm8UdQqZIQ1ZLegILTOMr4vyjXyRAzT/ESMTh3eCwQUSqHQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:30:06Z" - }, - { - "height": "818369", - "txhash": "24E17FF78A6569CDB751BC4393A868C5760595A113020377CEE282879C45DF7A", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret15thq76k087j6ql37d25jn3tr3gqgszquxsz4ff\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"12002400.354971158967694549\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret15thq76k087j6ql37d25jn3tr3gqgszquxsz4ff\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret15thq76k087j6ql37d25jn3tr3gqgszquxsz4ff" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - }, - { - "key": "amount", - "value": "12000000uscrt" - }, - { - "key": "new_shares", - "value": "12002400.354971158967694549" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret15thq76k087j6ql37d25jn3tr3gqgszquxsz4ff" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18513", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret15thq76k087j6ql37d25jn3tr3gqgszquxsz4ff", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "amount": { - "denom": "uscrt", - "amount": "12000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "81000" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aq9yycNTzGqtqL+Bzo1lAYvynxZ7oKcheHPQi51OBJyU" - }, - "signature": "gSlUyYWFUPSfxbYDJSk0KVT/X6R9Qwmv6Hc5hXZwTCcvFZYKBVpkU+52FJL/k9aqk3xwugZHa3+Hs6bpmCm+Ww==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:31:04Z" - }, - { - "height": "818385", - "txhash": "42CF896AD8CAC5380FBDCD0DB902F9C98886CF644C0071A499EE21D2C54FB808", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"spender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "spender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "new_shares", - "value": "3000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23660", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1P1dN97m0zz5r/Rj27Q8oGXBom+gOzmo2mngMa/rG0K" - }, - "signature": "vPlJKSFZElBk7kGe6BHUVH1fexTYWtdVuoba300gUzp8ahaZtm68AGWbKn2p5dNMNpmrHP9ekMZUlr59nsWjSg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:32:36Z" - }, - { - "height": "818386", - "txhash": "5BAFD365B8858294ABF1037AAFDC91383ABA129124E0B85A9CC0AB736486E347", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19297", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApnXFSe1xsW5ZmsbizcFr8UEzUTlHR9SNoZWVhhDdNkS" - }, - "signature": "+K4MtGwYHX8MJs38zNBA47muf3mzKAerBUFQuRY0YWEp0N/+myi5foz2Lie7XpfVtW04PgJ+Wr96RAL6cbn4AA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:32:42Z" - }, - { - "height": "818453", - "txhash": "00E112E962FE52792BC6130C33C0C3C2F1F6187435D5E511BF0921DEACEE68B3", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"amount\",\"value\":\"2903uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2903uscrt\"},{\"key\":\"spender\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"9000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"9000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2903uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "amount", - "value": "2903uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2903uscrt" - }, - { - "key": "spender", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "amount", - "value": "9000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "9000000uscrt" - }, - { - "key": "new_shares", - "value": "9000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2903uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23736", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "9000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A81YZH4IlSs9EOu/CHph5TjGEm6YnZWZxTwS1Z8J3kvA" - }, - "signature": "8UR+O8mHH4bxFEcCI8DHyjTt+5QWw2timHuEDMM3OkRHoClLJ7MUTWJEAbbp7TVawcQdbkx09eNIhUV3bFCkyw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:39:12Z" - }, - { - "height": "818469", - "txhash": "93A68463C90F53E5A23261229654A348BB1138ED5D0BC06259C633FFFE5653AB", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5\"},{\"key\":\"amount\",\"value\":\"675611uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"675611uscrt\"},{\"key\":\"spender\",\"value\":\"secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"675611uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5" - }, - { - "key": "amount", - "value": "675611uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "675611uscrt" - }, - { - "key": "spender", - "value": "secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "675611uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22504", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret19r23zvazfeh5ln7gq8d69vffg98hqa2cur0ts5", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aryxbksvpgil2XmC55267GSMfi5o72OJck3V65qTzVKr" - }, - "signature": "PEmAJWDMeqv+UxztUX0Xxhi0rnBF31Ut2eou/ckffGtdOLjfZkLO/ls76vUKHZSk+NB+s578azrqZpGpD/URAg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:40:46Z" - }, - { - "height": "818626", - "txhash": "221324E1955D62C2EF2B1EA3DFE3DA7849D1C0CB56A245B8F3F02EA2ADA54FF1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"spender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"180000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "spender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "180000000uscrt" - }, - { - "key": "new_shares", - "value": "180000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24576", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "180000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmcYtW0aMIoIkd5zc+q3/jHVgLP2XUYr8BC7wErFddNj" - }, - "signature": "wkP/yYz+J6WrMRbejiRN2RR4nSuJNA2Cn4BogzAbn814uRlb3Fchty+HHm4tt+3meRDhiCRbd7hjZ+8hhMqTgg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:55:59Z" - }, - { - "height": "818715", - "txhash": "CF549605219543BAA9B2E06041F4D7DD24783161A98C9EEC936A714C1982BBBD", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"},{\"key\":\"amount\",\"value\":\"3776uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2720000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3776uscrt\"},{\"key\":\"spender\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"},{\"key\":\"amount\",\"value\":\"2720000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"},{\"key\":\"amount\",\"value\":\"2720000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2720544.081340110244406465\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3776uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - }, - { - "key": "amount", - "value": "3776uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2720000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3776uscrt" - }, - { - "key": "spender", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - }, - { - "key": "amount", - "value": "2720000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - }, - { - "key": "amount", - "value": "2720000uscrt" - }, - { - "key": "new_shares", - "value": "2720544.081340110244406465" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3776uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22814", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "amount": { - "denom": "uscrt", - "amount": "2720000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqD5eFEGy1Q0I++DQuHUikm073Hw048EJKs0GGIVnzTm" - }, - "signature": "2fEPjkA9Qsvky6GIEvDvZBIEAVrJy+vQWU26XclARTZDNDV7PixG+0Hue4xugwm/vE/ZX75zWDxE07jrBHur3w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:04:36Z" - }, - { - "height": "818796", - "txhash": "05E20C5B29E9819695BE8C4BAD69D120344E61DCA52BF6EC7CADDD6EF948D155", - "data": "0A2A0A282F636F736D6F732E7374616B696E672E763162657461312E4D73674564697456616C696461746F72", - "raw_log": "[{\"events\":[{\"type\":\"edit_validator\",\"attributes\":[{\"key\":\"commission_rate\",\"value\":\"commissionrates:\\n rate: \\\"0.050000000000000000\\\"\\n max_rate: \\\"0.500000000000000000\\\"\\n max_change_rate: \\\"0.020000000000000000\\\"\\nupdate_time: 2021-11-06T20:41:40.032427277Z\\n\"},{\"key\":\"min_self_delegation\",\"value\":\"1\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgEditValidator\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "edit_validator", - "attributes": [ - { - "key": "commission_rate", - "value": "commissionrates:\n rate: \"0.050000000000000000\"\n max_rate: \"0.500000000000000000\"\n max_change_rate: \"0.020000000000000000\"\nupdate_time: 2021-11-06T20:41:40.032427277Z\n" - }, - { - "key": "min_self_delegation", - "value": "1" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgEditValidator" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - } - ], - "gas_wanted": "200000", - "gas_used": "13124", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgEditValidator", - "value": { - "description": { - "moniker": "Fund AnonsNFT DAO", - "identity": "[do-not-modify]", - "website": "[do-not-modify]", - "security_contact": "[do-not-modify]", - "details": "[do-not-modify]" - }, - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "50000" - } - ], - "gas": "200000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1ccIU9Mo8cpVf1HONiSVfc6wsEwc59vZWnHtrooe+2h" - }, - "signature": "ldtvj5d21H1QAiPwEPOVnRIRPLs0TrWJMAfOpFX7zLkwPfJ7CVfDMrIpaYd8xzEn7V66NgwhroxZYQcz/wnYeg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:12:26Z" - }, - { - "height": "818834", - "txhash": "50052DD0D1F0F729656C2CCD35365C0503806ACFC880156A6E565FA926069309", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"150015001.493939666279924544\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "150000000uscrt" - }, - { - "key": "new_shares", - "value": "150015001.493939666279924544" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21050", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "150000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5FvBEsdAG6QXeZAasOawG0WxYWPvJNZ2sGwLNH8k6o2" - }, - "signature": "StsLi6niowZdj855zUFHlDSHHO+03qa6d1IuuQipPCUzbHwsdY9o1fJcdLT/dXoFPyMeEkkKhPgDB+Nmg+dJYg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:16:08Z" - }, - { - "height": "818875", - "txhash": "00613577CDEA7524755E7D0D83B66628CEE6D49A1604E5361F4E9D04D0984E4A", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"42000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1gt05fym53t5apad3994exz3gx0c35247js5zk3\"},{\"key\":\"amount\",\"value\":\"42000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"42000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"42000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gt05fym53t5apad3994exz3gx0c35247js5zk3\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "42000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1gt05fym53t5apad3994exz3gx0c35247js5zk3" - }, - { - "key": "amount", - "value": "42000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "42000000uscrt" - }, - { - "key": "new_shares", - "value": "42000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gt05fym53t5apad3994exz3gx0c35247js5zk3" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21529", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gt05fym53t5apad3994exz3gx0c35247js5zk3", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "42000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A974mCqbD6qiaer+40e8vwJ3wXi2BdbaIrGEpDBKL6QN" - }, - "signature": "H+fOVh6U4AzZdnYDrO/rxwXj4S3bjMezs8Oj93BmRElWGCJ2KDV4OagrHEfBY91nafkmoTOghrbBNlsx43C6cg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:20:06Z" - }, - { - "height": "818877", - "txhash": "8E61804A60D4E6ACB4B2D16197144F852C84AFEA488B149D4E77635D4B0D8B27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"spender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"},{\"key\":\"new_shares\",\"value\":\"6262456.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "spender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "6262456uscrt" - }, - { - "key": "new_shares", - "value": "6262456.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22199", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "6262456" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2iyGRpgoO2M+eYQxiokX/maXFer7ZKnyZ/hkCZANQBb" - }, - "signature": "qDc12jtbd6pzVRkDBfz6OH2WEIs6kAl9QhL5518n5h0dpspmOx5kc7/azd5cMco9b9w/+uA316VajKrvDkWiZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:20:18Z" - }, - { - "height": "818899", - "txhash": "3AD3C714FDADCF986DAD598BA553EC7ED1EE9085BD4C1A7A0EDC0B0C87C59BF4", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"},{\"key\":\"spender\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "amount", - "value": "101095uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101095uscrt" - }, - { - "key": "spender", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101095uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23662", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ais6QPGRHJ3IjkKljrBJvDATRads5ukQYpQZA2iStH3I" - }, - "signature": "mhnRdHb5Sx1q7UYuWT+JBKw7mzfV5xIz9xOM0t7VWHQSOka6LL/jzvgMvIJPJnMx+KoPCwtGtTi6UTJLmrkj8w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:22:25Z" - }, - { - "height": "819016", - "txhash": "EC6F5DDF8C952CE1D2E264C3C1D93AD6CBF0899C3C5A1C95C1F86C1E6466B088", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"},{\"key\":\"amount\",\"value\":\"578000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"578115617.284773426936374017\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "578000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh" - }, - { - "key": "amount", - "value": "578000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - }, - { - "key": "amount", - "value": "578000000uscrt" - }, - { - "key": "new_shares", - "value": "578115617.284773426936374017" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19026", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1zpkqcyasuzazm77r5nt2l66z6a6vae78xghuxh", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "amount": { - "denom": "uscrt", - "amount": "578000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2liSud5WwFB3xElNtuf06cOGC8VXAdRYRjwKj/Wzjd4" - }, - "signature": "sldaGCUWXaVJdtVP8TLTv6LNxpWN4pCaz57esLdZcaBI9JxTeJ9MEjBYhu3d0ifcOHYx/RwlCY9trKC3wcDvfg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:33:45Z" - }, - { - "height": "819031", - "txhash": "9D8D04EB7CEE1BCBB67B35F1E7D20C654C189F07761855BCC72F345ADBF52E68", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"6501300.192276044440834547\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg" - }, - { - "key": "amount", - "value": "6500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - }, - { - "key": "amount", - "value": "6500000uscrt" - }, - { - "key": "new_shares", - "value": "6501300.192276044440834547" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18665", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "amount": { - "denom": "uscrt", - "amount": "6500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AsOlOp3fyetuj0ddHzsxGCV2Q4vHgIvty4Vi/fHuBrYG" - }, - "signature": "CFHWY+1bOSypaeusbM8y4z29ZjCSqvOo0Zqy/dBanGx5LVF9o7QE4+QGobFk5HIGG3felkmANAxC0dzHKVDaKA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:35:13Z" - }, - { - "height": "819146", - "txhash": "29EC0E27D35A440C47E6CFAC06194CFEF58576F049364A6B4CD17ED80A735168", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7130uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"9999999uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc" - }, - { - "key": "destination_validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "9999999uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7130uscrt" - }, - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "9999999uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "34459", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "9999999" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ap/Nd/oI1fIIEvWVWktibkteiByaDDa7ZLD3SVz2hOAZ" - }, - "signature": "U5YBjmUZf2y/cuCgLyEiyPXTpn1JoyfdWQFOmZF5nVUXySzVJxanPgfjNKY5qmma0y4Nx3yichZx09Lnz+Rf4A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:46:22Z" - }, - { - "height": "819367", - "txhash": "0990BBF29DBBBA8C07156644EFED8A3850EF205B8B2C675536442A17C958A006", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"},{\"key\":\"spender\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"161000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "amount", - "value": "360653uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "161000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "360653uscrt" - }, - { - "key": "spender", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "amount", - "value": "161000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "161000000uscrt" - }, - { - "key": "new_shares", - "value": "161000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "360653uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23724", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "161000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AhU4T5rbsLAXPwq3Hu0i91EZ8P+osJAjhCscvTtSdSZX" - }, - "signature": "upmMsKcdzf4UM0q80sVPbFCTHXeNPCfz0R2hG1IUAvcsjw/qz8IagRb8GbrRC2elubhXmv8uuBxQa1jb6eW/ug==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:07:49Z" - }, - { - "height": "819420", - "txhash": "ED87C7C0E491C9E6FF4C62C394E1075EDF8D87961E14EEE1AC2BA9C8AAF3BA27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"},{\"key\":\"spender\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"},{\"key\":\"amount\",\"value\":\"82000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"82008200.811639382279935279\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2549318uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "amount", - "value": "2549318uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "82000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2549318uscrt" - }, - { - "key": "spender", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "amount", - "value": "82000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - }, - { - "key": "amount", - "value": "82000000uscrt" - }, - { - "key": "new_shares", - "value": "82008200.811639382279935279" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2549318uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23046", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret12e8ttpxm74cpjfgt3sxzy0eclkqcrtm33h2zwu", - "validator_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "amount": { - "denom": "uscrt", - "amount": "82000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Amq0GAPjGltNP4BrY+QxYxsjsahxsqui4lB7s/PXyBCv" - }, - "signature": "1b9x0LzRu/7t2f+Dvct23M/fnuNLbKDOVn7GlD+ZdYlHSEQDcI5B8B5/9x918Q8VXcU+JrIAVkJO8yRe9zktPg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:12:59Z" - }, - { - "height": "819514", - "txhash": "B2D08B6B857FEA0F70F0642C4F6F23647B96D2B6E72D24E3E65AD5CC896E3F80", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"400000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0\"},{\"key\":\"amount\",\"value\":\"400000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr\"},{\"key\":\"amount\",\"value\":\"400000uscrt\"},{\"key\":\"new_shares\",\"value\":\"400040.002793235778181963\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "400000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0" - }, - { - "key": "amount", - "value": "400000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr" - }, - { - "key": "amount", - "value": "400000uscrt" - }, - { - "key": "new_shares", - "value": "400040.002793235778181963" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18653", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0", - "validator_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "amount": { - "denom": "uscrt", - "amount": "400000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Al6JYe1WiqR76VfF/h9HwUD/9GO3kB3dNlYbh6j83fgQ" - }, - "signature": "iy6PCbS/boNri4oBLIqLpTg8xOhGWeqOSizMSb4rxOYxd7mv5hkwGN9w5jgJoX0vdYFjlGEqh1fPc3PVsuu5yA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:22:07Z" - }, - { - "height": "819605", - "txhash": "B7A5D0B8806C0E9F3BBC683974219D94DC81EDCF55E4D89D37500F86E3A30794", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "spender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3500000uscrt" - }, - { - "key": "new_shares", - "value": "3500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2tXvPdakE2KZ8fyKcmWMRJbpBMTr6UsCZvemacRCkoB" - }, - "signature": "qw0DnVH9k7kZcrYcjjpR0TeHN7qKNsbk0+xF4oTVnbF/U4Z5zUjdYw+TY8o7Dqy0DKkpaXqL6HE9UQMsgXoN1g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:30:59Z" - }, - { - "height": "819685", - "txhash": "79D34F226AA2DC632E50C54814512F4866BF1FC99219EB33CFE769F68197B292", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv\"},{\"key\":\"amount\",\"value\":\"116189uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"116189uscrt\"},{\"key\":\"spender\",\"value\":\"secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"116189uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv" - }, - { - "key": "amount", - "value": "116189uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "116189uscrt" - }, - { - "key": "spender", - "value": "secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "116189uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22471", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret187af3ka7dckuywxar8r5q9wu5c6hrpj3dx82kv", - "validator_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+ki6eNYfoJGWpOFkamnVToaeY9iyYZdCfMNqVENTdlY" - }, - "signature": "TjrTXe/pf6Mb3gG13zfR8TgaGne0Pkskl4GUmNebi0djNhwOaPssdJm59bwPoxL/JfNWgSAg4ADaUkZzzY+Flg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:38:45Z" - }, - { - "height": "819694", - "txhash": "09EB0B4274466182EF3303526FB675703A3231BAB324CF840130F9268A97AA93", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"spender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500450.044818189988397736\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "spender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500450.044818189988397736" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "72500", - "gas_used": "24736", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "18125" - } - ], - "gas": "72500" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzDDwVcNsd28J7CcYQk8p1u9nLW0TekqEQrdaC12CQ2K" - }, - "signature": "BwSGKuwdPFkF7/SvWOAhT7KhiRrKZp87P/fLXbBnYaw9jAUNO6BnuCHJYiTRAz8UumQyU2T4s6SfQ5RFzLYwBQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:39:38Z" - }, - { - "height": "819753", - "txhash": "DEA9CA8EEF65E2CF17EF78244E85626F465FF3B36B6A926633C7C9560388F0F8", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08A3AEA08D0610ECB69A8F01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:45:23Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "1177000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:45:23Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25429", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "1177000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AphKUGvcO3/DstlWS0zLD6jJ2Uw2de0+fyTqXtMish+u" - }, - "signature": "DUh246TRRpHnpChCqAom+uBOmutKiR277RCn79repYM7DCV5IuyD7JcgJ5W/8+GyAXq6vMm730dNI1sZiq+Org==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:45:23Z" - }, - { - "height": "819840", - "txhash": "3D919FF4A3590FFC519C2D205BD2060D95454D586765067937AE2392E85F9986", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"541uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"541uscrt\"},{\"key\":\"spender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"15000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"541uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "541uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "541uscrt" - }, - { - "key": "spender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "15000000uscrt" - }, - { - "key": "new_shares", - "value": "15000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "541uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24597", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "15000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A6TCTSRne12CMmkGVods3/8KlqEdiFGixV1/hN4cI/6E" - }, - "signature": "ElFDCyn6hr3DKXWFoXiZFFvXUI1YPiia4p7Wdq9RaaQ5EDoIybDd7G3Pf9W7luzJkUOUhEJU2Ole/Waqg/yAmg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:53:51Z" - }, - { - "height": "819930", - "txhash": "D07F7242EAE033E552FA624DB0FC71958822AB320656E096C6C657C3AB1E6D92", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"},{\"key\":\"spender\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"45000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "amount", - "value": "2539107uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "45000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2539107uscrt" - }, - { - "key": "spender", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "amount", - "value": "45000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - }, - { - "key": "amount", - "value": "45000000uscrt" - }, - { - "key": "new_shares", - "value": "45000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2539107uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23850", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "amount": { - "denom": "uscrt", - "amount": "45000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApZ7bJdh8y07iiHBDdTUXQ+PL6p03WOJDlz2sZOL5SW8" - }, - "signature": "+2Q8LhE4IiFDGMacOBkvmRfTrfnaFoSTZVJSZ6SpvysE7czGhCqiqawoc7BhdWb380Th3Qau0e4u+obSehdJYg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:02:36Z" - }, - { - "height": "819978", - "txhash": "2A8F39D6ED85D79291BF29E8DEE93DE7075B426B76B4BF7790ACF95490BEF1EB", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"},{\"key\":\"spender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"180000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "4292952uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4292952uscrt" - }, - { - "key": "spender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "180000000uscrt" - }, - { - "key": "new_shares", - "value": "180000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4292952uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23282", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "180000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgG4cR2jzNT/GKecuvDONvrorFcknRH9+/6oU8OH3a0M" - }, - "signature": "M160HN/D3csSI/ISb9+wi1r5+RONIFAI8t2pjZb8fN570/47xRxf8cmCxqxGq++gdXlJ58HpafHK9Ozl5vhKiw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:07:16Z" - }, - { - "height": "820083", - "txhash": "61A3BEA9E4FF91B0B77F21DB905460E37CD85A5D2AF9263A3861D40BDEB7A747", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"58123uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"58123uscrt\"},{\"key\":\"spender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"58123uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "58123uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "58123uscrt" - }, - { - "key": "spender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "58123uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23290", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgG4cR2jzNT/GKecuvDONvrorFcknRH9+/6oU8OH3a0M" - }, - "signature": "GB0DxoKEBJpfM0ZBA5nZ3NeCms6DkjFhu5lLs0QMIi0PIu8jb4csyp3lpS+njYX4hpTvl1/wMI6QarBBw/KjjA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:17:29Z" - }, - { - "height": "820106", - "txhash": "36E411AF6FB8239132B12B763E731A40B8A65E2024A3DEF84968CC499E653B29", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"spender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"11000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "spender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "11000000uscrt" - }, - { - "key": "new_shares", - "value": "11000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23689", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "11000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoV3aB3m8c+UZcJe1QO6JW6aOw8oQSqej7PaB9EXU48D" - }, - "signature": "wJE+q5ioXOVwDYZNF6TyJkoVZLgnd8gsrFjSn9D/cWktj2XH/sacgB+A7STHZ+Mfw7W4xurFXk/JQyU0S2Lr+A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:19:44Z" - }, - { - "height": "820123", - "txhash": "B6CC7D3DF06DC6B39C1B6C9846B62A1A591722A1176B50435A4277D0CF506125", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C0893BFA08D0610FE8D99A901", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"29472586434uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:21:23Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37489uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - }, - { - "key": "destination_validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "29472586434uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:21:23Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37489uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "34782", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "29472586434" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvhgOUytKBSqh/POA9vWOJLGdFl6ETzVqJVpiEcGTRp1" - }, - "signature": "5cQJ6iXPv+ZTinScA2io02v/oFuMiQlSKLRAajrNNi57EvxfduGvQ0euj9MM1vJoM1sYI6rrMeTxSncM9wLCTA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:21:23Z" - }, - { - "height": "820183", - "txhash": "FA9711FF6B14065D1155D9CB9100B7DC64CE20194F349BB0E311225830F23D50", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"amount\",\"value\":\"337uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"337uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"},{\"key\":\"new_shares\",\"value\":\"600000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"337uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "amount", - "value": "337uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "337uscrt" - }, - { - "key": "spender", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "600000uscrt" - }, - { - "key": "new_shares", - "value": "600000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "337uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23692", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AsJto6m7mF6vY3xeItevPbsxISlPc08G3FYbWdLqtiXi" - }, - "signature": "bLMDr+UcxpNyc22OEMiEiZfdc0g/zdZs2/+sbhI4t7xIH07XFsHfG5N5pAL/iyNhLZLbqsc4y8gOznE7u9YbXA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:27:13Z" - }, - { - "height": "820201", - "txhash": "13933B32B88AD608D9D2E958AFAA9910BF3FB735F1F8D1271EA7E6EA31AF8192", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j\"},{\"key\":\"amount\",\"value\":\"43090uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"43090uscrt\"},{\"key\":\"spender\",\"value\":\"secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000200.018133741580012040\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"43090uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j" - }, - { - "key": "amount", - "value": "43090uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "43090uscrt" - }, - { - "key": "spender", - "value": "secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000200.018133741580012040" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "43090uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23286", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret10jyk0yr2ppxkcyrsvtfm7up97lmnksn42pf59j", - "validator_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvurVJIJ8K4Wlq5bRxC7WjJQesjBRiEzp1zDsBvQhwur" - }, - "signature": "bmVPjDr7XMhgDueHFVAsQY1ukHj8mSOGYHd93PEvg4psX76p6A/QX7kdmKR1H48l+RT+uU26+BOyY88meYnwnw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:28:59Z" - }, - { - "height": "820408", - "txhash": "7C7F6BD164D385859AFAB9D4857691AB269D24255607064A5102127A856B27D4", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5\"},{\"key\":\"amount\",\"value\":\"525610uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"525610uscrt\"},{\"key\":\"spender\",\"value\":\"secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"15000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"15000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"525610uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5" - }, - { - "key": "amount", - "value": "525610uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "525610uscrt" - }, - { - "key": "spender", - "value": "secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5" - }, - { - "key": "amount", - "value": "15000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "15000000uscrt" - }, - { - "key": "new_shares", - "value": "15000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "525610uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23245", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1f90ptc06lh9a33nhls393u5vkte2p0w2aaffc5", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "15000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmI277ru8hCOzRUIbIQyIr0iqRPJE63xWkPuT4Cm+BjX" - }, - "signature": "E5C4PHK4JlTkXumKHpvbfI2tp3NZHqCzCPlC5own+rh/0BPLybBZYATPSmdybEedyoxSKizIUyPj2+k9+nbNvg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:49:09Z" - }, - { - "height": "820422", - "txhash": "42F3589ACD77540F63B4A543DF9CDF98FD25C3A1B86A091DDAC7FFD34C6C5CF6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"spender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"50000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "spender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "50000000uscrt" - }, - { - "key": "new_shares", - "value": "50000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24558", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "50000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1IROufCaxal7OfqS6cym6eR2zVjpeNV5xO2VxS02gKB" - }, - "signature": "fivm3ogdP0W3UOxWeEsRwD0knwrAvQQSc/EgZsCaIa4IVdSqAT7RytwS2vU9gbsbzK5bFIHf3UNnJd5yR/CWrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:50:31Z" - }, - { - "height": "820442", - "txhash": "40CFAF01BDC2D5D8DA2E937B4AE3302E0021431B0C94BA6E53418E948B27DD28", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"amount\",\"value\":\"579uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1250000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"579uscrt\"},{\"key\":\"spender\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"amount\",\"value\":\"1250000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"1250000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1250000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"579uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "amount", - "value": "579uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1250000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "579uscrt" - }, - { - "key": "spender", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "amount", - "value": "1250000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "1250000uscrt" - }, - { - "key": "new_shares", - "value": "1250000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "579uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24606", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "1250000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzHeWEykCZkzY7V+IwoIz38+EdwdwkC8nXEwnQtB3qLA" - }, - "signature": "7Fr7YiRzxWI6IsCy07rccxqfwfNoPyyMwHz+z5HBPqQNwESJz/zaa39VIevjXmzGoM7vaKKSWxeZRpkwHo7elA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:52:28Z" - }, - { - "height": "820503", - "txhash": "B5C78463F5BB0BFC60ADAAEA57512F16E5B33EFD0704AACB1372968A0C2DBB5F", - "data": "0A2A0A282F636F736D6F732E7374616B696E672E763162657461312E4D73674564697456616C696461746F72", - "raw_log": "[{\"events\":[{\"type\":\"edit_validator\",\"attributes\":[{\"key\":\"commission_rate\",\"value\":\"commissionrates:\\n rate: \\\"0.050000000000000000\\\"\\n max_rate: \\\"0.200000000000000000\\\"\\n max_change_rate: \\\"0.010000000000000000\\\"\\nupdate_time: 2021-11-11T01:58:24.518545588Z\\n\"},{\"key\":\"min_self_delegation\",\"value\":\"1\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgEditValidator\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "edit_validator", - "attributes": [ - { - "key": "commission_rate", - "value": "commissionrates:\n rate: \"0.050000000000000000\"\n max_rate: \"0.200000000000000000\"\n max_change_rate: \"0.010000000000000000\"\nupdate_time: 2021-11-11T01:58:24.518545588Z\n" - }, - { - "key": "min_self_delegation", - "value": "1" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgEditValidator" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "200000", - "gas_used": "12973", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgEditValidator", - "value": { - "description": { - "moniker": "WhisperNode", - "identity": "[do-not-modify]", - "website": "[do-not-modify]", - "security_contact": "[do-not-modify]", - "details": "[do-not-modify]" - }, - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "commission_rate": "0.050000000000000000" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "50000" - } - ], - "gas": "200000" - }, - "signatures": [], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:58:24Z" - }, - { - "height": "820568", - "txhash": "93DC7C08E011F8867DFFEFB945E4910F108FCF5028473B96D8D161EDE8CC89C6", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08BDD3A08D0610A7EC83CF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:04:45Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "280000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:04:45Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "27289", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "280000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A95xM5tONqVapuZ8wRqTQLklnrEO5thMDlkC41v/GVV7" - }, - "signature": "/2dHgCgBFAthj8YT/fo4WRYcEbLw0Aaa4SnAYSlIOMIpiGMEvKtGiYwwQEWYNIJufwRblEXEUhtlqt+O2xoY7w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:04:45Z" - }, - { - "height": "820586", - "txhash": "5ADCA6C53F1AE87870DB63B620183C5813381596CEDAA166EA53C3FD49D9EEC8", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"95359uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "amount", - "value": "95359uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "95359uscrt" - }, - { - "key": "spender", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "95359uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23660", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1fu3ecufghj4ke2saawd6rcdkhymuxs2406hgyn", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AiJ6u0943+xrSEiE0wBtk1M/PJgk8ffss1aCzK2+V+Dm" - }, - "signature": "5/DGxvMYhnoJhF2eHo74TrEQxbmcYmuygG0TfPFQlWMBQ7n9eTclv2TDTKvyEbJweIbjAMLxuTkmvCpTcHMeBg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:06:30Z" - }, - { - "height": "820753", - "txhash": "7E05D33443D88EEA3BA715D8CA8E848C9DCA24D51DF8054482C6E4ACE24F0065", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08F4DBA08D061096E3AAE002", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54\"},{\"key\":\"amount\",\"value\":\"281000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:22:44Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54" - }, - { - "key": "amount", - "value": "281000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:22:44Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25363", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza", - "validator_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "amount": { - "denom": "uscrt", - "amount": "281000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtSsPyigG5+U8Jr8eAcP5yHYwLljqxGNPfuvLpgM0l6N" - }, - "signature": "yfk5+nkQC/cyzoSeJRHd+o6NQDQex1uW2Kl4gUlGPXl1rT4tPIl8+gxzhENnWhMCiFtn8OYIuFU8fBCJk2MkcA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:22:44Z" - }, - { - "height": "820762", - "txhash": "6503604EBEB8F046F54402143FCD58BDBD272D1ADFD5755C6C451D3140196E58", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"amount\",\"value\":\"21uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"21uscrt\"},{\"key\":\"spender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"310000uscrt\"},{\"key\":\"new_shares\",\"value\":\"310000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"21uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "amount", - "value": "21uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "310000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "21uscrt" - }, - { - "key": "spender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "amount", - "value": "310000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "310000uscrt" - }, - { - "key": "new_shares", - "value": "310000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "21uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24511", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "310000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwSUbiab7Gc3qllHkqFVACMmB0CkpCQh4LVZowOKK9yK" - }, - "signature": "GH+Gcanfxg8e4rvLxskSKLXTVaBEDwnw89RKDouFHAUh4QBgiXVY4nH+gecT6hHvpt5zboC0SFkLqgJXiIEgFQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:23:37Z" - }, - { - "height": "820833", - "txhash": "CD2B19DBC0B05C9AD3709ED202F5D54357E28FF451DA29CB15B6487977012D19", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"256uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"256uscrt\"},{\"key\":\"spender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"5000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"256uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "256uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "256uscrt" - }, - { - "key": "spender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "5000000uscrt" - }, - { - "key": "new_shares", - "value": "5000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "256uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24578", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "5000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlYICl7YMUrkRceOVO/EclSVSTMWsPRr1SczirfIPrD1" - }, - "signature": "3P7tr63lDkBQQi26vT7IY0mCbmugFayjwckt1OXv1a4RF0FZ9xTNSE/BoVHZNFGVQo8zIF8eu3werm5NWsVjcQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:30:31Z" - }, - { - "height": "821030", - "txhash": "A99836072D99394F9FD7FF6B25C6EF7D5385554E88EB27C9E4485DA92863654E", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"},{\"key\":\"amount\",\"value\":\"2010uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2010uscrt\"},{\"key\":\"spender\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2010uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - }, - { - "key": "amount", - "value": "2010uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2010uscrt" - }, - { - "key": "spender", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2010uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24606", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwcMKUFPIncwUS6x8zAhTRo6wtu8cQtSiWaNORLzt7HQ" - }, - "signature": "ue/xyWKKBvSxv2q/RR+k/VoKNB1IZ3iaulAxaCFka2kHAeg3ViW4t/iaGkSNSGiQQk8tgSfmghmCZFBis7gPMQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:49:40Z" - }, - { - "height": "821110", - "txhash": "7AE4E24B44454427F896DC320F0AE5E0A60FDFCC1BB287CBDDE22993BEB8A102", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"spender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"6000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "spender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "amount", - "value": "6000000uscrt" - }, - { - "key": "new_shares", - "value": "6000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap", - "validator_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "amount": { - "denom": "uscrt", - "amount": "6000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "An5bbo98NASH4PRyYqPRwuA9VUxpffmCbMC9HTLAdeS4" - }, - "signature": "XdpEh8/Uwu05dTtCR9CCzbJ41dLpbH2rBgEGJUd1VOE2W+0yp47J0SLu/QJdJ56pZVupy6woh/uLgVowh+pO8Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:57:27Z" - }, - { - "height": "821255", - "txhash": "277B2A64AD384E024FE40F368C23CC10657CA673C4C0B2E046B5F55EB22B729B", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"amount\",\"value\":\"170uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"25000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"170uscrt\"},{\"key\":\"spender\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"amount\",\"value\":\"25000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"25000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"25000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"170uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "amount", - "value": "170uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "25000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "170uscrt" - }, - { - "key": "spender", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "amount", - "value": "25000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "25000000uscrt" - }, - { - "key": "new_shares", - "value": "25000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "170uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22505", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "25000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ArZ3TQNEhJKZtF02McL9LbbcRgX+v7wu4d9PB/UXRW7K" - }, - "signature": "sUxr54bD0G0xA/6LhH/QY+0NBjCiV6cHtD+QvspPWckWJjprgamsbN52XskThQxHOy0prurjRdUbGL05P6h28g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:11:34Z" - } - ] -} \ No newline at end of file diff --git a/tests/json_examples/MsgModifyWithdrawAddress.data.json b/tests/json_examples/MsgModifyWithdrawAddress.data.json deleted file mode 100644 index 73e4a6a..0000000 --- a/tests/json_examples/MsgModifyWithdrawAddress.data.json +++ /dev/null @@ -1 +0,0 @@ -{"total_count":"64785","count":"30","page_number":"1","page_total":"2160","limit":"30","txs":[{"height":"815848","txhash":"91B0ED47C6C0863BFE332CA47BD99C6B07072119C27547DFADF430308F58AB05","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1832866uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1574385uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"},{"key":"amount","value":"1832866uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1832866uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1832866uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"1832866uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"},{"key":"amount","value":"1574385uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1574385uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1574385uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"1574385uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"280000","gas_used":"26159","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A3/CL9KEWLUIGf7SQrqAxMVXdxfrCpUNrJgB6uMBP3YH"},"signature":"w9H0oOoF9ofBTiDu2UeprIsCRoEwU2LKoyQJxzd0C7ZDpDUrQwzF3Fwc5m+52NGe+0+RriY2dJ7SCFUH8lkFsQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:27:55Z"},{"height":"815865","txhash":"3CE02C48928DB2BE424F76CC0D8587A420809F545E28BFE033914A75BCEAB14D","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"195450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3"},{"key":"amount","value":"195450uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"195450uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"195450uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"195450uscrt"},{"key":"validator","value":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}]}]}],"gas_wanted":"140000","gas_used":"17219","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3","validator_address":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}}],"fee":{"amount":[{"denom":"uscrt","amount":"42000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV"},"signature":"Pk25tcFxrc3oKYtv6E5B/LY7+7DrTY3XlXpUFMV+CW4GAlVQVuGJZmATHr+67I1rADjfSybTcaFZB/dWD2AARA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:29:32Z"},{"height":"815883","txhash":"6F7FE7091D687C432A25A58C807532CA897A814274B5A9E36F7AEFC553E512BE","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"73341uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"18728uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"},{"key":"amount","value":"73341uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"73341uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"73341uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"73341uscrt"},{"key":"validator","value":"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"},{"key":"amount","value":"18728uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"18728uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"18728uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"18728uscrt"},{"key":"validator","value":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}]}]}],"gas_wanted":"280000","gas_used":"25402","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t","validator_address":"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t","validator_address":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"Ax2cWBOi6x32cqjcH2vKadq6/7mfYVKW/Y29yUNWbGhY"},"signature":"5P+wXBW2gBLLp+IbnwZDDWExxkTUvmfi2pCPotReUyAJDBgjWqVJ0GRldhbIZnb/4ivzn3Ag+PUFAZUOpjY5hw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:31:16Z"},{"height":"815901","txhash":"AB61E376D7AA3FC46DAEAAC9A38BA967E7DBF89FABE50443F0E5F2E69A59D074","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3775913uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl"},{"key":"amount","value":"3775913uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3775913uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3775913uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3775913uscrt"},{"key":"validator","value":"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr"}]}]}],"gas_wanted":"140000","gas_used":"17453","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl","validator_address":"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AkDQHtllM6zabHIaU/pqlSsHxvOtyB54tqE93N8+kKoT"},"signature":"B8EITZYIj+marVbMCNV3g4aIVCfTzY+g/mvpQRLcGEE25ouEdQRuSVhRwEey4Nr5ITYqrmhMUf84uoJzfXVTkg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:33:00Z"},{"height":"815925","txhash":"523C012E50CCBA38728D5CC9354A423BF295669663A3D142C7E468522DB0ECCB","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"13739867uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c"},{"key":"amount","value":"13739867uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"13739867uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"13739867uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"13739867uscrt"},{"key":"validator","value":"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0"}]}]}],"gas_wanted":"140000","gas_used":"17098","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c","validator_address":"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0"}}],"fee":{"amount":[{"denom":"uscrt","amount":"42000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A+PKcgg6/ZCDc1h1hng4IttwY2kD9LVdaXY+ZVcAKQLF"},"signature":"GsbD3JeZSSaHBzB/cs9t0myDAKOntaP+ODQK/TofyeoOucdz1Y6xw9QqCLUZ9Lgntdc7SUCZmbM3kQvzQQwarw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:35:18Z"},{"height":"815941","txhash":"48CA934CBB5EA7823D0E708B8A10EA53ECBDD889C3A9EEA40AFBE0158ED5B864","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"236921uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3"},{"key":"amount","value":"236921uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"236921uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"236921uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"236921uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17618","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"42000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"ArxlO4y7DCrgghG/p+WhNRXeZrcKLokzGWvvqExlJffy"},"signature":"vu7YasAT/Nz+pc1msp1OG8jsaMCDruH71UbvAYkBZBkIYMxlvGfPGMD2fZD+ikyYHo2VB+Vijkh4A8bkm599DA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:36:50Z"},{"height":"815962","txhash":"357313E284468A8786DBE927B9C01F5FCA56F0D5D094CB8D431A914A56150B38","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"167226uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"27832uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"},{"key":"amount","value":"167226uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"167226uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"167226uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"167226uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"},{"key":"amount","value":"27832uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"27832uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"27832uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"27832uscrt"},{"key":"validator","value":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}]}]}],"gas_wanted":"280000","gas_used":"26432","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8","validator_address":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AihWFowI3yJiPhG12dljju4rJPiKizqbcMxM1JxrAo/r"},"signature":"FOg6G+SpBv11bWgsYXefOjpHX5L4q61x2GmVu/GgAZ5eDAD2moVQ8ozzljvQx4B+0Be3RXBEO5LPf7tstC+XOA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:38:50Z"},{"height":"815985","txhash":"154DB3B1982E42D24276F87565177C0D74DA9420618EAEDA085110EA49DEFD5B","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"125530uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"19656uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"amount","value":"125530uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"125530uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"125530uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"125530uscrt"},{"key":"validator","value":"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"amount","value":"19656uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"19656uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"19656uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"19656uscrt"},{"key":"validator","value":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}]}]}],"gas_wanted":"280000","gas_used":"25717","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq","validator_address":"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq","validator_address":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AoJ10FUbSfZ8PvZhRquuizdu4c5UW35y4m3nf/0uuBcs"},"signature":"korOUlWsUdDlzMemsLqhzvNIPpezwN3oXYRIMfHoD5AvLS0JBurAk0SleLCZbeEibJM/a0dGbcJYLrTz9tpysg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:41:02Z"},{"height":"816035","txhash":"237AAA2105E8A01BAAF621A77657FCC1F3183DEA62301431C70A8D30A8A05E26","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"11004uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh"},{"key":"amount","value":"11004uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"11004uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"11004uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"11004uscrt"},{"key":"validator","value":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}]}]}],"gas_wanted":"140000","gas_used":"17408","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh","validator_address":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A1Vt4aYLcaITykQ92z+fRCPUTK65bkPyZFzh2NsZJ1Hq"},"signature":"KH9VJcGH0GOrnnMk1UgaGVHjqKHZ0zS+j+JEaXVNgTle7bKxsquAn6FHrcjcJWM6fKNdZ53KBd7SkkC1+ptfvQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:45:49Z"},{"height":"816060","txhash":"4863582692E3A141A28089AFC064DA1928D50CE90021F04DD198F4BAF1651B6B","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"76441uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"27200uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"},{"key":"amount","value":"76441uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"76441uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"76441uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"76441uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"},{"key":"amount","value":"27200uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"27200uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"27200uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"27200uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]}],"gas_wanted":"280000","gas_used":"26488","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"ApPJcRFy0cQDv5WBb9r7MaSfQYkObMx9LVd8+T/EUZYW"},"signature":"J1zZ9lCSfjf4X3Jpbv/z7lo12VwVUJDqQI5RpN1uvGIDXlvFKfYZydOYarxtTR9L6xyBVYNUyR0qszLx3TC5zg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:48:13Z"},{"height":"816084","txhash":"91742DCC11DB2DED7FBB95D7255BAA3ED9833C211D11028C4A990F0071EE650F","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"25uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"},{"key":"amount","value":"25uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"25uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"25uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"25uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17594","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH"},"signature":"JGWJCb6nEii3S/kF5SAwuFkxxEJkVeyGs5ih5UzlQ6JR0ulwltXQNq80oGOq0bI1xeeaW5A2Yt52O0nZUR1Q5w=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:50:32Z"},{"height":"816101","txhash":"07DE43F48DFC0A716867EE35C8D1DB57C4F30D7F1C938C90FB12F1A4535E4CE3","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1022795uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn"},{"key":"amount","value":"1022795uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1022795uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"1022795uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"1022795uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17654","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A2GXDOIkDJ1ki8TLZliRppevZOFUuYJOw3U2HuMvjpaq"},"signature":"JbrI5ilaBicPVUWlTlsVQcjGmZYuuVkCtTTPSr1ttIo7oeAer7nRstpp3SC2BevKk3xHhvObEcBPZPmP3I9ckQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:52:09Z"},{"height":"816158","txhash":"E31C18435E16D5FE1F914F9726623DF4123DD0FE1CEFA1EA12D04999F9581531","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10602uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7007uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"amount","value":"10602uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"10602uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"10602uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"10602uscrt"},{"key":"validator","value":"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"amount","value":"7007uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"7007uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"7007uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"7007uscrt"},{"key":"validator","value":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}]}]}],"gas_wanted":"280000","gas_used":"26018","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq","validator_address":"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq","validator_address":"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AoJ10FUbSfZ8PvZhRquuizdu4c5UW35y4m3nf/0uuBcs"},"signature":"xYJya4gomn3TTJvQeECIR9JkG8XQEbmp0CLNz4UvyTBuNDbZcJ60vKnHRx9OZCZE94u1nqZRMQyfst2esGcWuQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T18:57:37Z"},{"height":"816215","txhash":"1B710CA3795525EC25F60E54F57E0FA958EA3CCEDB2B1D30A8300A6ECA2A116C","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"14872386uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9338937uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3106862uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"amount","value":"14872386uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"14872386uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"14872386uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"14872386uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"amount","value":"9338937uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"9338937uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"9338937uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"9338937uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]},{"msg_index":2,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"amount","value":"3106862uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3106862uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3106862uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3106862uscrt"},{"key":"validator","value":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}]}]}],"gas_wanted":"420000","gas_used":"35057","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7","validator_address":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}}],"fee":{"amount":[{"denom":"uscrt","amount":"105000"}],"gas":"420000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X"},"signature":"7BZK9Y6vorpirW2zS/7/xXIf3As9FQq6LPQd3Tg0xYttfmwkr3oVogAm9jLbiiyey7+gZEp+PfOHm9iTVRMiYQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T19:03:05Z"},{"height":"816534","txhash":"2B97A10D7AD1D7B6685A05FEED450011DAEC5932B9898B8153DFC2927EBEDE80","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"92206uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t"},{"key":"amount","value":"92206uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"92206uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"92206uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"92206uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17634","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A9SW0hIO0o56SGpUXC1SYrnQGHtfurXDQpQHqJBJVT7U"},"signature":"pTNi7gYmrrpy6U0/Lm5Dez6Pz5sBV7I3N9LgDel7UwF/5ie5ybm0LHG6mf5XtBkuW89zpDirfC3WICdvhBAXgA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T19:33:45Z"},{"height":"816666","txhash":"8E176C43CAF55FA3AC54E74A318387603701F459ACA66E9829515BBE5A89D646","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4344uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8"},{"key":"amount","value":"4344uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4344uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4344uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"4344uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]}],"gas_wanted":"140000","gas_used":"17439","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A8AkVgPvDBgRdyGgp1vpOWEcY0J1m4ELBOupfCHMANaj"},"signature":"jEUMtEFR0HtrRqRESl0g/xCkCLCz4dcyw4Ep7MVAgnQyhZlYO3wLVetAe/26gEn07UKQPxglIYofAAfVWD9MdA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T19:46:27Z"},{"height":"816837","txhash":"0E638D479319AC9C8711802F8D04F2631575B1E5281A305E254060E3DADEC7A4","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"162927uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2"},{"key":"amount","value":"162927uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"162927uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"162927uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"162927uscrt"},{"key":"validator","value":"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk"}]}]}],"gas_wanted":"140000","gas_used":"17246","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2","validator_address":"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"Atf+u8hIsOHSRXNPjjAldjqsJUsHkqel217u0WLnTP/V"},"signature":"P4wjHf9PlkD4ZIBkHeQre4i6th2kOa5XoVCArv7qhE86G/2/WDQaR1pzS6Fp9fMCn6fzADTaR2KgummkXfiHDg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:02:55Z"},{"height":"816864","txhash":"2291478518DBA647DF77C8E1A8595A724EF8891580D64B4371176BB0CB7B8983","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"354973uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt"},{"key":"amount","value":"354973uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"354973uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"354973uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"354973uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17631","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"ApnXFSe1xsW5ZmsbizcFr8UEzUTlHR9SNoZWVhhDdNkS"},"signature":"Gv30jb2+d6q5O97ogTg/khffyFWjqkwVxshb4f793awqaerl15fLD9EPrd3DJ/a8PqMLy0FlQpgrMF0ubknXNA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:05:32Z"},{"height":"817081","txhash":"1D49550C440FFF404360D6ACEF44B587E55960DE59A12E151D257045B1C81A32","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"971986uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"11260uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"},{"key":"amount","value":"971986uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"971986uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"971986uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"971986uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"},{"key":"amount","value":"11260uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"11260uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"11260uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"11260uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]}],"gas_wanted":"280000","gas_used":"26171","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A013X+53yCVpH0EkF9OrjzhOKitPSfCQdp0zbiyQNZgA"},"signature":"/OGUlzGTrgGv/Ecfl4HZb3L4Jqx3CbXAyUWy37b86KczucgvKshok24BPtgB168JbLI8AsS6TbeuLZMq6UGaaw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:26:30Z"},{"height":"817095","txhash":"E8346DC7D7C82B678E060FD0F2DE2E0F074475B95F32D6E3C6709856C76B104D","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"240112uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4411uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"},{"key":"amount","value":"240112uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"240112uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"240112uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"240112uscrt"},{"key":"validator","value":"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"},{"key":"amount","value":"4411uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4411uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4411uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"4411uscrt"},{"key":"validator","value":"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7"}]}]}],"gas_wanted":"280000","gas_used":"25544","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7","validator_address":"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7","validator_address":"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AhBOZ2N7tnFBb4hk/EoJyPgrm6w53IRfRKCb90COjcpF"},"signature":"n2fxxS1kHfbkNjPOD+tQqRS8gsJYwYAXC5NHCcVO2ZhW279+lcvVKiY5fCjy+N1exVrCoebP8RDgfmsHhKRCTw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:27:51Z"},{"height":"817116","txhash":"67C5E822CD0C89FF9792563EBEADA5A33D06937A3680704E159EC7DAF3F7BBE3","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"391031uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"13909uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4201uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"amount","value":"391031uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"391031uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"391031uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"391031uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"amount","value":"13909uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"13909uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"13909uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"13909uscrt"},{"key":"validator","value":"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s"}]}]},{"msg_index":2,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"amount","value":"4201uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4201uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"4201uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"4201uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"420000","gas_used":"34794","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p","validator_address":"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"105000"}],"gas":"420000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"Aw9pfsURfNnzEFuaqXWNOat7+U/rgQLP1uyTtx2kkQI/"},"signature":"p9bUIV40DErwee0rFxdPUyrlidXKU2XdZttsxwLDpbFJbFTKUn7/sZP42itxKWRVGpUiQhVTJQptMu6jESaM8Q=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:29:53Z"},{"height":"817135","txhash":"08877BFC817775832DCF8FB054BF595412B67FDB4753F0871FB5B02F5FD0ECF5","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7412uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3016uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"},{"key":"amount","value":"7412uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"7412uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"7412uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"7412uscrt"},{"key":"validator","value":"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"},{"key":"amount","value":"3016uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3016uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3016uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3016uscrt"},{"key":"validator","value":"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu"}]}]}],"gas_wanted":"280000","gas_used":"25657","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6","validator_address":"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6","validator_address":"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"ApF0zog1oj/26gTv6zSwD33/mO0LGWr8e/cz51va9hYs"},"signature":"FGkG4hrFx276qQLCoc6hb7HKdw0vEx8df9R03wxF9YgDt8khABw9U/uLBksxJ4fYBYIRst3ZR3sg7ntNrK/5ow=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:31:42Z"},{"height":"817192","txhash":"E82646EFEA5C084E3646BEB0CFDC7A9F1A9700F50C4D4C007BB3FD4C7853AB54","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3126859uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f"},{"key":"amount","value":"3126859uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3126859uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3126859uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3126859uscrt"},{"key":"validator","value":"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw"}]}]}],"gas_wanted":"140000","gas_used":"17166","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f","validator_address":"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A6m29JvVEL8+APha6g0L7JqYx3DCR3D4m7JWtAhwbaAb"},"signature":"BrnQheAXurRs8Q3CUbcyDwkEkYy3I/OFCO8XcU11QAlODW1tAjNTjKbpq6NU92ZiBa14f0TPIuF5coOOKQZxtA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:37:13Z"},{"height":"817287","txhash":"EE0AE754164F72256C6452B33A5878E2AE7A717BC2FA962AF3355D2665E0DBE7","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"},{"key":"amount","value":"10uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"10uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"10uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"10uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17644","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH"},"signature":"S/9Oi4HcFzirELK9ev/VVES/UfWx1jHMgItvxyveUF5NXjoz5J9bWOSG8B7oO7nI3Ek7b+T3RGYbbvxfpsXlKg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:46:23Z"},{"height":"817293","txhash":"3591BD7E75A902D083B32F6169C014252611BD413DF6E0F5D49BA7A660448178","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"16255","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH"},"signature":"rfBC7et++M6dclOV0NAwQ2A/eJKxSz9wdVVkXzYLBF5zhJ1KfCqHeGNiZNd5MOfTm0cwp16WRfl8UV9omUR4cg=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:46:58Z"},{"height":"817298","txhash":"17E42A4720D1065BD4C094192B98B3988DBEA1E5093FA20CC68B5962211E0169","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3198923uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"387951uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"},{"key":"amount","value":"3198923uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3198923uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3198923uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3198923uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"},{"key":"amount","value":"387951uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"387951uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"387951uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"387951uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"280000","gas_used":"26393","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"70000"}],"gas":"280000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB"},"signature":"W3xP9s9HNerWVs1wD6xgmKhBDD//rsWJ7zrBOORqaRhhCmrCd+uf9Q5Sza+p/lq8UKFwcNS1WXajflKz2Gq2AQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:47:27Z"},{"height":"817301","txhash":"FBCD7C7E3BD514B7973F7CA1B49D755B124BE5D9FEC7405B4FBD9D81788972EE","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5311199uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4"},{"key":"amount","value":"5311199uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"5311199uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"5311199uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"5311199uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]}],"gas_wanted":"140000","gas_used":"17650","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AnwIN187lGy412MEi+XVAR4oN0oGYdiUmXTGc6Z3LmxM"},"signature":"D24ilXUUwucUf/EYV1cqx53/hXBQyGpebgDwS3HpV5Y9oHPtPXap5CPG+v5BCsf8UqIGvnjHODj6ggH/1/9uiQ=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:47:45Z"},{"height":"817329","txhash":"3AE55BFE25B02A0839D6B7C8686A59B576BB4B635BDF8B27AE34A249F5CE3E02","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"108058uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9"},{"key":"amount","value":"108058uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"108058uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"108058uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"108058uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]}],"gas_wanted":"140000","gas_used":"17301","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AzzYkRlYwxXMlwp6P+F2b7RHzhTki1ZquBTWmpU3mMeT"},"signature":"ApwLkyIH3vcQVSkFOUIB/ndgDgG60aLp6Dv04Da/BAZ/RYmv0UFcgA3sREfihbqH8l3m8I/f6EP7PuRNzZP60Q=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:50:27Z"},{"height":"817342","txhash":"4F4F92395588FB3EBA227C6033836F2D586C49DEAF9260651C36C9310369D8F2","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"38342uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs"},{"key":"amount","value":"38342uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"38342uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"38342uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"38342uscrt"},{"key":"validator","value":"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0"}]}]}],"gas_wanted":"140000","gas_used":"16910","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs","validator_address":"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0"}}],"fee":{"amount":[{"denom":"uscrt","amount":"35000"}],"gas":"140000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A2dAq20HSf62L8TzKw959ctwXWBElvH2ACriSLvxnibH"},"signature":"cxhq94iuL8scL8nIzI7Qj/XsHQW+1gz8IKIc+EDHyWx1K0sfcTht/qCciCbE+qf5d5E3Wo5fQxbM7Yl22Tpq1g=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:51:43Z"},{"height":"817346","txhash":"C8011D472A6453E4C1F6C0D6B364153BABAAEE619543586CB7AD7E8A500E80FF","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109435uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"42600uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"22450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"859uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"amount","value":"109435uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"109435uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"109435uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"109435uscrt"},{"key":"validator","value":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}]}]},{"msg_index":1,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"amount","value":"42600uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"42600uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"42600uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"42600uscrt"},{"key":"validator","value":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}]}]},{"msg_index":2,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"amount","value":"22450uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"22450uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"22450uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"22450uscrt"},{"key":"validator","value":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}]}]},{"msg_index":3,"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"amount","value":"859uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"859uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"859uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"859uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]}],"gas_wanted":"560000","gas_used":"44000","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt","validator_address":"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt","validator_address":"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt","validator_address":"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk"}},{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}}],"fee":{"amount":[{"denom":"uscrt","amount":"140000"}],"gas":"560000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N"},"signature":"/Cz+mLWhBlRqRYiKrPolUM67NkLSNY7sRLQxVdvIMD4zsbn0ZiF/+xqE3ABqp9Z0cDOSaNUV2kocADGNQuN8OA=="}],"memo":"","timeout_height":"0"}},"timestamp":"2021-11-10T20:52:06Z"}]} \ No newline at end of file diff --git a/tests/json_examples/MsgUndelegate.data.json b/tests/json_examples/MsgUndelegate.data.json deleted file mode 100644 index e899c57..0000000 --- a/tests/json_examples/MsgUndelegate.data.json +++ /dev/null @@ -1,8270 +0,0 @@ -{ - "total_count": "67267", - "count": "100", - "page_number": "1", - "page_total": "68", - "limit": "1000", - "txs": [ - { - "height": "817295", - "txhash": "2421BB5A0091A9BC2E22DEAE6095DFA876C6F35591790C5A340167CA98EE909F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"},{\"key\":\"spender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"55000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"55000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1699949uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - }, - { - "key": "spender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "amount", - "value": "55000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "55000000uscrt" - }, - { - "key": "new_shares", - "value": "55000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1699949uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23709", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "55000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmVZeKxWMJ2x87/aY2MQQaMZAecpiA+j9umQ+oG6eE2E" - }, - "signature": "PclPY4uLZFxdKLmGlFCRt9e84GI1kA8Bi0HbVo+zpAFMFdtPg9yDYXOCvtYRQx5Ov/xjFGCxc7qAEtvazLv3lg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:10Z" - }, - { - "height": "817296", - "txhash": "6C9D0EAA81F36195183720F0D30AFBD907074BE18372EC500E37314DC3A6E5E3", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"100000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "100000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "100000uscrt" - }, - { - "key": "new_shares", - "value": "100000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19427", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "1BBthGKwEeX4YQNYYRuy2BmK0R7zDx7XFq3PTIVE4w4IcKKGLqH6ZHNr3wXQN+d0HhagqvQkrhpN5XJBNxP5Dw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:15Z" - }, - { - "height": "817314", - "txhash": "C6D4A918A96CD2B3BC0465BD838651391EF8A56DF95C31493DAC31F85EDBCFB0", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"},{\"key\":\"amount\",\"value\":\"44350000uscrt\"},{\"key\":\"new_shares\",\"value\":\"44350000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - }, - { - "key": "amount", - "value": "44350000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - }, - { - "key": "amount", - "value": "44350000uscrt" - }, - { - "key": "new_shares", - "value": "44350000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20703", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "amount": { - "denom": "uscrt", - "amount": "44350000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnwIN187lGy412MEi+XVAR4oN0oGYdiUmXTGc6Z3LmxM" - }, - "signature": "PkEaiJ9UPpEHEa8NF9L6bE6V2ERc5Ffdh28wjXK/I09MUZHuSm/xUOdt352vzpUSjU9A1hziWP/5EdPWVThkpA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:49:00Z" - }, - { - "height": "817358", - "txhash": "DDA40D254F8D49D87023E0BD189B4EE4ACFC28D1ACA2C3BB6B497A249224FFBF", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"},{\"key\":\"spender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - }, - { - "key": "spender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23890", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N" - }, - "signature": "fXZnJZDmfoO7KV4jV81+67jeMr80c1GQLN3L0EYwNr9PXpWiq/biH33fBFYFwsVQqO1sPRl7ahle5DzcV1lZoQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:53:15Z" - }, - { - "height": "817444", - "txhash": "2F796AB6BDED33C217A96E10D97E291BC216A6ED906F0B135C0C658CCEEE8B22", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"},{\"key\":\"spender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"89000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"89000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3715895uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - }, - { - "key": "spender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "amount", - "value": "89000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "89000000uscrt" - }, - { - "key": "new_shares", - "value": "89000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3715895uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23706", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1e24em3dgfdyfyzkahl57n8m4spck8f7mzsm9zt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "89000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ag/597xmdas++yVkkw79piOf3g33HZDT+qS8+BTt2kRg" - }, - "signature": "4mzlS5AV8VZKEIvCRj5X1Atrdd7OINb3Xt6UO/v4t4J2WTyWDsL1iYmGlSrPxYQiBlGhCAOYm49LxTQXZ4LGhA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:01:35Z" - }, - { - "height": "817444", - "txhash": "DCFDE40A864CCED3845EC186164BA5A3DB34B7F42EBB686C4F6501575F9763A3", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08AFC59F8D0610FDD6FA8D01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"amount\",\"value\":\"970uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"697000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"970uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"697000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"970uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"697000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"697000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:01:35Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "amount", - "value": "970uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "697000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "970uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "697000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "970uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "697000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "697000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:01:35Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25845", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "697000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3Nl6Zg3+ZUY/OKqP4FpQCMVVWACLAU08ViA9LgyirwT" - }, - "signature": "PFq5JQqmrbZ+H0l/yXjsycNJdBelLd2WFspqtTr1Fp0VAgk3vgs2NDYwFMN6pbvBsCAklwVCWDrtIcv4I+MqGw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:01:35Z" - }, - { - "height": "817540", - "txhash": "C4AD6B780FFEA233DD7A8D6909739F87C0DCD89F68453540E297420A2C7F81A2", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08DBC99F8D061083BDB914", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"amount\",\"value\":\"3821uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3821uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3821uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:10:51Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "amount", - "value": "3821uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3821uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3821uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "64000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:10:51Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24074", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "64000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ax98mOcjsmjUyyB6MVcPG+JI0j2+PDBPBfyzIepZWfR5" - }, - "signature": "K8J1CXn9cEIAYjo93+oQKJz9utOVNPOvAqLB3KvajHIJMt1/mgYEkBaJuPQRBX0LptJbtns9sUsieh0mmNn1eQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:10:51Z" - }, - { - "height": "817548", - "txhash": "B832EBDE0AD67CA89CE95C6C6263D89FBC1CA5DD515BE3B612D8E5EF525BABE3", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C0889CA9F8D0610C5E690D902", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18825uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"64000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:11:37Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18825uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "64000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "64000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:11:37Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25022", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1zfwqka43tup60yllas5jje5wgyhhwkhydqaezp", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "64000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ax98mOcjsmjUyyB6MVcPG+JI0j2+PDBPBfyzIepZWfR5" - }, - "signature": "u8WP+vWK/a2FBgUxOr95Tjr4JD39v6o8WKVq8sUcTaFdBx89mqkUFA7BuqHDuuGr8G1WwsYHXOFoJbumJAgbsA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:11:37Z" - }, - { - "height": "817560", - "txhash": "DCE84234D4F1EF167D0E607950D85286FA2012BF6AA9B288A3AAA1FD00960F0F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"425000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"425000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "425000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "425000000uscrt" - }, - { - "key": "new_shares", - "value": "425000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "425000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/kk1o5wkjubH36yz79OX75oQxVxLYRt4VooYsQdkzHR" - }, - "signature": "qiQ8/kCMQOtua63Ph7WJXx9OWxz8Z6GI1U/DcBQtWEZjao+qXI/ijbk4CEfFp6UxQKY4Zugvbh7bFS/QRxkPng==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:12:47Z" - }, - { - "height": "817570", - "txhash": "89953B76D6E16E3042E6B693DD68955C61BEDE53775FD222B5A564D8806C2A2C", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"},{\"key\":\"new_shares\",\"value\":\"600000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - }, - { - "key": "amount", - "value": "600000uscrt" - }, - { - "key": "new_shares", - "value": "600000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "19267", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1znffvwup9w06e6wcx2aw0sputn6f4hyvlwcq9g", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "amount": { - "denom": "uscrt", - "amount": "600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aw1llgo/8PWM1JlH1RtOm0B04dQ0C+EOy772J0FAf80F" - }, - "signature": "d+xYJawwrZjvLtnpxxYg2Zikw9RVu6lgt6V4U1uoC7cdbPH8l6/RmtkgTfTV7n6HX7vQxSKuxHoEqxCxRC60ig==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:13:45Z" - }, - { - "height": "817592", - "txhash": "5063C32CA3AEC9530504250AE09E493523C83C83B34C2051FA11277D9A69BFB6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"},{\"key\":\"spender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"10000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146129uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - }, - { - "key": "spender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "new_shares", - "value": "10000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146129uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24532", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1de9j2lwz5uqwyw04m47qzwsjawurcdrvk8ee8d", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3ZPlc9vMXt3RnGEa9mHzVMuHgmrYJGtziKlIv3FOZDl" - }, - "signature": "5nFiHqZXhhmdVlAZkwjqk3IWHQF1Z0grxo42oQHTJBxqIAX85K1cCcJTLqV89IGU6IJOrEO0unRT2HcIxEDBpQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:15:53Z" - }, - { - "height": "817630", - "txhash": "F0D059A3066227282337BD6B4297589C24348FB90AC4FCEBBFDDDA7F44177722", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"},{\"key\":\"spender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"7000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149266uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - }, - { - "key": "spender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "amount", - "value": "7000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "7000000uscrt" - }, - { - "key": "new_shares", - "value": "7000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149266uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24514", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1shw9l3sh482wkkyw3eeysthg3vq2k4ef366kgj", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "7000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9kR0awBdPAQvDNuSKW4+PXvKLdQ5aSmZ0a9oYJjoUwJ" - }, - "signature": "pJvhvsVT6FqAzSljNnFA9xVt6eoCHzgA7kigdLBhFp1FojwcXjmx1IuwuDRuwlRUjihVwT84D9ClsUuNhow9dg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:19:34Z" - }, - { - "height": "817636", - "txhash": "22091548A356F624095CCEAD4D4BAC0C10E65966EC1693183632472461FD9259", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B0889CE9F8D06108BA5E54A", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7\"},{\"key\":\"amount\",\"value\":\"17594uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"45327000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"17594uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"45327000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"17594uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"45327000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"45327000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:20:09Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7" - }, - { - "key": "amount", - "value": "17594uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "45327000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "17594uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "45327000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "17594uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "45327000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "45327000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:20:09Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25735", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1w3urp6elr4qwdgsfgf3wn56mwqejm8xqktavx7", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "45327000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "75000" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtMBJbzbB3476NWIdXN2uA7fX0BHKJCz6qmDSbNJCIkL" - }, - "signature": "p5IIM63aNYBQm8uQM6DJhUElCgEJYCEP8U6rzz+BTDMR4MO32734hLhh2ePt6Itw77+fFzx5lyEN7oPzbUL1BA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:20:09Z" - }, - { - "height": "817681", - "txhash": "204C551FD207B722E126413001355DA61AF46ACCADD75049F8D5B3B5D7DB24D4", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C088ED09F8D06109ED5B2B001", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"210687uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"830000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:24:30Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "210687uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "830000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "830000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:24:30Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24824", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret109j984yuppq3zva8a24uxste8xp72lkq6mjzgc", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "830000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AijSM2wwoN41Pjmok+6JXqAYSdFvXXkrTx6cxL/VEbz0" - }, - "signature": "4nKJiS3HSoA6gJhWsKZZKQmq68b8aQgTpV94h6r/Mxx5rabimxbkCwdI4rTh/4ROt38ylCxICSy4MJwPSzU8ZA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:24:30Z" - }, - { - "height": "817776", - "txhash": "D4F72CEFC827434F5F25F29BF2F5DF346CB15FAC4B02C502425D84CE5F28A621", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"4300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - }, - { - "key": "amount", - "value": "4300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "4300000uscrt" - }, - { - "key": "new_shares", - "value": "4300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "20748", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1tpsz46kpa5mzueguzk23tq26ft4kh2c4egtpk2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "4300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8gAu5T2sHMZ4y+5iH+2LuHZK9wojtGsy4XUAK0R5RuP" - }, - "signature": "mBtaeT8BE3OqDK0G8ZX4Xu3igu4Pjvck0oGXxtgEtxBJ0mDILhOLhtSWdsP5mNIywP2pd5vjRaVZfp7YfsPGHA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:33:41Z" - }, - { - "height": "817838", - "txhash": "2F8D8A716E9A91CFB927CD909C099C3D4F3D7052932D712C56184C728C880FAD", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3123060.868614178525004874\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "new_shares", - "value": "3123060.868614178525004874" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18892", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret170q9y7e5pu9d79rswxrfltu05gqufa864zeyxq", - "validator_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnhdMz/QcWH0o/HeQFM7KR7NzolHkfxL9vAisWn6RIGG" - }, - "signature": "jOaOj4T4sR/HMzfgG3Bk1Wd3am9BdYpepCK9tnbfUMQ3CeuQu4iPdZkWTp3crngJtSJVFfcF30Wh//vgmIK8zw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:39:40Z" - }, - { - "height": "817867", - "txhash": "23BDCD94291130AAFFF893C99B6F5C9D4BAB9B670A4822C62EEC9FBDDE1953D4", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"},{\"key\":\"spender\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"12000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"12000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"455074uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "amount", - "value": "455074uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455074uscrt" - }, - { - "key": "spender", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "amount", - "value": "12000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "12000000uscrt" - }, - { - "key": "new_shares", - "value": "12000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "455074uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23060", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret12l45tprye9djphqgcvhv2g9wzahmkzfe5fp653", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "12000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtsT48de8osunx1Zg7V8qXLV5BNRvMk7QY7pj13L3XNM" - }, - "signature": "XiCt0UqwrmXVeXj4tU0Yb+RZrfrtedOdRLyjo3XhsVJMQYkKUplIGNqS+Ybsib+C/+GHaFPFBsmD4O27h3RHRQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:42:29Z" - }, - { - "height": "817975", - "txhash": "7661D255FF6D4A5FB8F1225096F404915E6C4D98755A5E2A130B38A1518F1D5F", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"},{\"key\":\"spender\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"1000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44981uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "amount", - "value": "44981uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "44981uscrt" - }, - { - "key": "spender", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "amount", - "value": "1000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "1000000uscrt" - }, - { - "key": "new_shares", - "value": "1000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "44981uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1s2ew0z26tnjuzf5kx8qkajsd96ngrfcvvhqh3j", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "1000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4Z9j9+wJNDgcvJ/m241hAGQgd6O+UbJbze4owCQgugL" - }, - "signature": "WSiL9PQelHZlwl7asKOzQKCF2Bux/LRlV5nuvGWo5CF3ILGky2xDFQI/vSFBrVSL4M+PViiPqFWeAo4FhoFrog==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:52:56Z" - }, - { - "height": "818015", - "txhash": "7875A824EC541EFD6AD13B7E2F2DCD71D4E5A6933812EF0F7269C9CC3F9043B6", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08A0DF9F8D0610BDE1EC2B", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"80000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T21:56:48Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "80000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "80000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T21:56:48Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24118", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "80000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApuDFD+syK87hgb2tN/ez/jDUewL1DgsYM34ObWearOD" - }, - "signature": "iryHBrgXah3sT6tviMstq2s4HfmZt20Aln8eVTQHC5VN1IovtxIc56ZR6BoFZRwu5LPuQbaRof8XmCxLHjx/9w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:56:48Z" - }, - { - "height": "818052", - "txhash": "3F64B3895D1DEAFB45D24E2EEE08BAFC28742A4F87C317696975A383B29BA235", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"},{\"key\":\"spender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"amount\",\"value\":\"4000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4994uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - }, - { - "key": "spender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "amount", - "value": "4000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "amount", - "value": "4000000uscrt" - }, - { - "key": "new_shares", - "value": "4000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4994uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22778", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret135qenh36wle2x9htmah40cpfx4c0r9ge5cfm95", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "amount": { - "denom": "uscrt", - "amount": "4000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApPnhYRK2Ag4vWo8oT48z8Z1/tITyj9lz5JnbCt05aen" - }, - "signature": "+P8zjpvlsPUORK+B248YMdiN1M62qgpVQvfyYC7T0Ix0u9oAjd9QZ4deBJWy89mK++zvNxZi7EzEm1jGEOcTdg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:00:23Z" - }, - { - "height": "818218", - "txhash": "195025D91089BA182FF9AFB4385EA22311B4077F376C0AA77E329DDAF98A82E1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"},{\"key\":\"spender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"1300000uscrt\"},{\"key\":\"new_shares\",\"value\":\"1300000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"120928uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - }, - { - "key": "spender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "amount", - "value": "1300000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "1300000uscrt" - }, - { - "key": "new_shares", - "value": "1300000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "120928uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24509", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret13uck09xh8ymt4qn59ltpvl6tszelyn9e5lunae", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "1300000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A186FQjWfpnhJpne3UwESPut+Vn9dXKWrkb/iEUfsMQT" - }, - "signature": "0c44rs1QnVujMwS1EFi9PGxkXqIzxTmOQo5gomNUc88eRHBU0hAKJgERv4pgIyLBw0qv4Dn+lBzXYD6Zvh4Ixw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:16:27Z" - }, - { - "height": "818341", - "txhash": "050D5A4FFF22579B3E0ACDFC8EB865FF8EAA48BD226E27B62DDB7C6095177F01", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"},{\"key\":\"amount\",\"value\":\"100000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"100000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - }, - { - "key": "amount", - "value": "100000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - }, - { - "key": "amount", - "value": "100000000uscrt" - }, - { - "key": "new_shares", - "value": "100000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21962", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xc0kw0r4equc9fcpgnxt9rsfl3k5t7mds2kgg4", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "amount": { - "denom": "uscrt", - "amount": "100000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Amzc/4tnPvqMBpFCpM15fsBisuMSNiY7piEExBEPLIGQ" - }, - "signature": "oC/rgDLMqHob9QNwupTN2wA6DXFpu0Flzq27vVEsHNY5gdPI+qDfuKTSoZuml2ckqgCl+T96vrXOEf62ri06HQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:28:21Z" - }, - { - "height": "818359", - "txhash": "0B022451A6AE196878B2D363EA6FAFB4D70FCDDB276C5E008C81E77486068C3D", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"},{\"key\":\"spender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"509813uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - }, - { - "key": "spender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "509813uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23710", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1ahfuktd7nyn3j9gkg7grphqpldgkyacr7fwakt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4u8f5iwEui5ADqg0lfIK+7Nj0BcYqm0lpT4KNb+0pe2" - }, - "signature": "4zkmxl9uJoP+gczueU0stYo4ift+7eVrtalVSawhm8UdQqZIQ1ZLegILTOMr4vyjXyRAzT/ESMTh3eCwQUSqHQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:30:06Z" - }, - { - "height": "818385", - "txhash": "42CF896AD8CAC5380FBDCD0DB902F9C98886CF644C0071A499EE21D2C54FB808", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"},{\"key\":\"spender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"37421uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - }, - { - "key": "spender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "amount", - "value": "3000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3000000uscrt" - }, - { - "key": "new_shares", - "value": "3000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "37421uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23660", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1amwc3nhk6znrssrkrg4fqpg2xtvlzk80u2v7yv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1P1dN97m0zz5r/Rj27Q8oGXBom+gOzmo2mngMa/rG0K" - }, - "signature": "vPlJKSFZElBk7kGe6BHUVH1fexTYWtdVuoba300gUzp8ahaZtm68AGWbKn2p5dNMNpmrHP9ekMZUlr59nsWjSg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:32:36Z" - }, - { - "height": "818451", - "txhash": "773859E9105CC7F8537E4500BB2FF7E65B4CC8BCDBC933619B7DC32F04157A4A", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C0885F39F8D0610D9CEFCAD01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66098uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T22:39:01Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66098uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "150000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T22:39:01Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24338", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "150000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtUWJ0pV7u+G4P8ZSS3C5JhzmKn/rpUWAbJBtI7GT9cE" - }, - "signature": "KOrqjTRbMpoB9BJ/hRwTk+cqgB3gCZAlRg7wrddMpBspKWucYIIuubWEsBVJYX3rz0ewzFq/XxtvxTf5rT093w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:39:01Z" - }, - { - "height": "818460", - "txhash": "17AD996C198385965E36B8F4BCF7D6FD4FF4C149F786BECE41BD5DD401696371", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08B9F39F8D06108AB5A1E501", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"70583uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"},{\"key\":\"amount\",\"value\":\"191000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T22:39:53Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "70583uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "191000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - }, - { - "key": "amount", - "value": "191000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T22:39:53Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25050", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1hn7ynz9y6sqw8ta2s48kg8j8dwmccm0v6fryqg", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "amount": { - "denom": "uscrt", - "amount": "191000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtUWJ0pV7u+G4P8ZSS3C5JhzmKn/rpUWAbJBtI7GT9cE" - }, - "signature": "I2+lC16Rm5YnYsQmQPVGvZNn/01ye41bQ8aGs8Ko/xAfemIb+AazLGyA/mtuhu2ni3rdrwM/hZi7fiIJsN6pWg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:39:53Z" - }, - { - "height": "818626", - "txhash": "221324E1955D62C2EF2B1EA3DFE3DA7849D1C0CB56A245B8F3F02EA2ADA54FF1", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"},{\"key\":\"spender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"180000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"717261uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - }, - { - "key": "spender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "180000000uscrt" - }, - { - "key": "new_shares", - "value": "180000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "717261uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24576", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1kkfas0wdjzzm42j97y50arqf3443evdwqy9au5", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "180000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmcYtW0aMIoIkd5zc+q3/jHVgLP2XUYr8BC7wErFddNj" - }, - "signature": "wkP/yYz+J6WrMRbejiRN2RR4nSuJNA2Cn4BogzAbn814uRlb3Fchty+HHm4tt+3meRDhiCRbd7hjZ+8hhMqTgg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:55:59Z" - }, - { - "height": "818763", - "txhash": "51169A9AA213F4933D5881FF8D29BEAD612570CE413712992BC17FE1DAED24CB", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"18985000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "destination_validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - }, - { - "key": "amount", - "value": "18985000000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "18985000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "28395", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1kc3ufu7gcsge3swecujps6fmhzcjr9znzqve3u", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "amount": { - "denom": "uscrt", - "amount": "18985000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/IEg5J0kj7RBbTmgGwUegp1rUaBpDcz8M5L/PEaSQv+" - }, - "signature": "z9IeriNaW4GflSO4IC+uorlrmtnuBEqgw+3XQdktUUtQwHZ8xcm4OrrMvNfHBadfpdyyrNxQiN////n2RS20yg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:09:15Z" - }, - { - "height": "818834", - "txhash": "50052DD0D1F0F729656C2CCD35365C0503806ACFC880156A6E565FA926069309", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"150000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"150015001.493939666279924544\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - }, - { - "key": "amount", - "value": "150000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "150000000uscrt" - }, - { - "key": "new_shares", - "value": "150015001.493939666279924544" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "21050", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1xcpy6jrwg2ldnwzp5maypcj3gvl5l95snpzfe3", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "150000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5FvBEsdAG6QXeZAasOawG0WxYWPvJNZ2sGwLNH8k6o2" - }, - "signature": "StsLi6niowZdj855zUFHlDSHHO+03qa6d1IuuQipPCUzbHwsdY9o1fJcdLT/dXoFPyMeEkkKhPgDB+Nmg+dJYg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:16:08Z" - }, - { - "height": "818877", - "txhash": "8E61804A60D4E6ACB4B2D16197144F852C84AFEA488B149D4E77635D4B0D8B27", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"},{\"key\":\"spender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"6262456uscrt\"},{\"key\":\"new_shares\",\"value\":\"6262456.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11874uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - }, - { - "key": "spender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "amount", - "value": "6262456uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "6262456uscrt" - }, - { - "key": "new_shares", - "value": "6262456.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11874uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22199", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "6262456" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2iyGRpgoO2M+eYQxiokX/maXFer7ZKnyZ/hkCZANQBb" - }, - "signature": "qDc12jtbd6pzVRkDBfz6OH2WEIs6kAl9QhL5518n5h0dpspmOx5kc7/azd5cMco9b9w/+uA316VajKrvDkWiZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:20:18Z" - }, - { - "height": "818899", - "txhash": "3AD3C714FDADCF986DAD598BA553EC7ED1EE9085BD4C1A7A0EDC0B0C87C59BF4", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"},{\"key\":\"spender\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"2000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"2000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101095uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "amount", - "value": "101095uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101095uscrt" - }, - { - "key": "spender", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "amount", - "value": "2000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "2000000uscrt" - }, - { - "key": "new_shares", - "value": "2000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101095uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23662", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1elazkqmwxr5hgtfk7a2pp5pkslfdzzs2gl5mmz", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "2000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ais6QPGRHJ3IjkKljrBJvDATRads5ukQYpQZA2iStH3I" - }, - "signature": "mhnRdHb5Sx1q7UYuWT+JBKw7mzfV5xIz9xOM0t7VWHQSOka6LL/jzvgMvIJPJnMx+KoPCwtGtTi6UTJLmrkj8w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:22:25Z" - }, - { - "height": "819031", - "txhash": "9D8D04EB7CEE1BCBB67B35F1E7D20C654C189F07761855BCC72F345ADBF52E68", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"},{\"key\":\"amount\",\"value\":\"6500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"6501300.192276044440834547\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg" - }, - { - "key": "amount", - "value": "6500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - }, - { - "key": "amount", - "value": "6500000uscrt" - }, - { - "key": "new_shares", - "value": "6501300.192276044440834547" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "18665", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret14vr6xxcdxagmy4ca9fje77djthhycn7ez007dg", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "amount": { - "denom": "uscrt", - "amount": "6500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AsOlOp3fyetuj0ddHzsxGCV2Q4vHgIvty4Vi/fHuBrYG" - }, - "signature": "CFHWY+1bOSypaeusbM8y4z29ZjCSqvOo0Zqy/dBanGx5LVF9o7QE4+QGobFk5HIGG3felkmANAxC0dzHKVDaKA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:35:13Z" - }, - { - "height": "819122", - "txhash": "21D3FD0027958E2D52357266B7ECFADA090EDC4EB7F85FA4E10BD456EBCF92D6", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08C291A08D06108CB597AE03", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"143uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"3990000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-01T23:44:02Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "143uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3990000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "3990000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-01T23:44:02Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23324", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1vdf3czcl76ppfe6h887zhtd4rsx68edy4dtgln", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "3990000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AjFmGOegOCUa4H7ltSDwuoyJ/zad3zlCsUhb8rgp38f0" - }, - "signature": "IqUqrOsM85ckBc/fKqH7mVoYAJr/Uq6Si/BLy99uOHV6QdRqJtiucGN2my3xPiBa+7JWWv20+WR48TkKoieDdg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:44:02Z" - }, - { - "height": "819367", - "txhash": "0990BBF29DBBBA8C07156644EFED8A3850EF205B8B2C675536442A17C958A006", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"},{\"key\":\"spender\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"161000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"161000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"360653uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "amount", - "value": "360653uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "161000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "360653uscrt" - }, - { - "key": "spender", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "amount", - "value": "161000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "161000000uscrt" - }, - { - "key": "new_shares", - "value": "161000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "360653uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23724", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1wza34ec8222h3p660ltqpufaf3auuzv9fd3rfa", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "161000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AhU4T5rbsLAXPwq3Hu0i91EZ8P+osJAjhCscvTtSdSZX" - }, - "signature": "upmMsKcdzf4UM0q80sVPbFCTHXeNPCfz0R2hG1IUAvcsjw/qz8IagRb8GbrRC2elubhXmv8uuBxQa1jb6eW/ug==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:07:49Z" - }, - { - "height": "819493", - "txhash": "8403D26DAA8256DA2BA5599E5723F2C923B1F29CF67953F00D53368760A5A334", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C08B5A2A08D0610BCDDFF8801", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:20:05Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2135uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - }, - { - "key": "destination_validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:20:05Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2135uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "33234", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1yth9dghsqa352ptqsn4hcvhck9zejlzqjg4hx6", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AxwF73H7Nb/bGFIir1DvLqBRlxzmfNo1FzhHbieNxIRJ" - }, - "signature": "C0cDjHOmLpR/VuzIear3/Vuv/K5nq91RNdxh6EI52UpB8qvK5PjMIpzN6EFZxXPxNDUxn+7RcO7IOHke2C1oQg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:20:05Z" - }, - { - "height": "819605", - "txhash": "B7A5D0B8806C0E9F3BBC683974219D94DC81EDCF55E4D89D37500F86E3A30794", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"3500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"3500000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"135704uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - }, - { - "key": "spender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "amount", - "value": "3500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "3500000uscrt" - }, - { - "key": "new_shares", - "value": "3500000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "135704uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gf349grnmmvhppspy3tn2al4zvm88l0trxjvw5", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "3500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2tXvPdakE2KZ8fyKcmWMRJbpBMTr6UsCZvemacRCkoB" - }, - "signature": "qw0DnVH9k7kZcrYcjjpR0TeHN7qKNsbk0+xF4oTVnbF/U4Z5zUjdYw+TY8o7Dqy0DKkpaXqL6HE9UQMsgXoN1g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:30:59Z" - }, - { - "height": "819694", - "txhash": "09EB0B4274466182EF3303526FB675703A3231BAB324CF840130F9268A97AA93", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"},{\"key\":\"spender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"},{\"key\":\"amount\",\"value\":\"4500000uscrt\"},{\"key\":\"new_shares\",\"value\":\"4500450.044818189988397736\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"163938uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - }, - { - "key": "spender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "amount", - "value": "4500000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - }, - { - "key": "amount", - "value": "4500000uscrt" - }, - { - "key": "new_shares", - "value": "4500450.044818189988397736" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "163938uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "72500", - "gas_used": "24736", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1976vavh3jcdjqs0chywj2c8u8gg0axstadykyd", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "amount": { - "denom": "uscrt", - "amount": "4500000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "18125" - } - ], - "gas": "72500" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzDDwVcNsd28J7CcYQk8p1u9nLW0TekqEQrdaC12CQ2K" - }, - "signature": "BwSGKuwdPFkF7/SvWOAhT7KhiRrKZp87P/fLXbBnYaw9jAUNO6BnuCHJYiTRAz8UumQyU2T4s6SfQ5RFzLYwBQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:39:38Z" - }, - { - "height": "819742", - "txhash": "3D66D49FA57E8259980CAF042E2492AFB5CAE3CA15AF30E056AFD424D5731B61", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08E3ADA08D0610B6DB8E7B", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc\"},{\"key\":\"amount\",\"value\":\"830113uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"10140000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"830113uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10140000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"830113uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10140000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"10140000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:44:19Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc" - }, - { - "key": "amount", - "value": "830113uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "10140000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "830113uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10140000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "830113uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10140000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "10140000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:44:19Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "24059", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1c2dgyw7dufq0x40m96uz79tra24a9mlvpj90rc", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "10140000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8dusNhUXu1yu345IMb25Lnnvlx0HFjWuJ6TGy02Duy7" - }, - "signature": "VmtpHhDnWSSMieiPYcewXBD0zOx974BEnIyj9I29v8tWOjU8NmKqezxhGy3JCMIZ/FABfodlC6XlmPXkhHpZrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:44:19Z" - }, - { - "height": "819753", - "txhash": "DEA9CA8EEF65E2CF17EF78244E85626F465FF3B36B6A926633C7C9560388F0F8", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08A3AEA08D0610ECB69A8F01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"97252uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"},{\"key\":\"amount\",\"value\":\"1177000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:45:23Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "97252uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1177000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - }, - { - "key": "amount", - "value": "1177000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:45:23Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25429", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret14cmhv376dth9tm3shcuextyhksu8cnfs73wrhg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "amount": { - "denom": "uscrt", - "amount": "1177000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AphKUGvcO3/DstlWS0zLD6jJ2Uw2de0+fyTqXtMish+u" - }, - "signature": "DUh246TRRpHnpChCqAom+uBOmutKiR277RCn79repYM7DCV5IuyD7JcgJ5W/8+GyAXq6vMm730dNI1sZiq+Org==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:45:23Z" - }, - { - "height": "819759", - "txhash": "39901A20B08A05B54D68BDF1DF9A852ABA06D875913CEE297ABCEB3B9BC51DFE", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08C6AEA08D0610F3E489C201", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1njtz8dfk6dz63227lynqksrsg9mhq8zwsr3p84\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec\"},{\"key\":\"amount\",\"value\":\"4904000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T00:45:58Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1njtz8dfk6dz63227lynqksrsg9mhq8zwsr3p84" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec" - }, - { - "key": "amount", - "value": "4904000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T00:45:58Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "22039", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1njtz8dfk6dz63227lynqksrsg9mhq8zwsr3p84", - "validator_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "amount": { - "denom": "uscrt", - "amount": "4904000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aw3HWPGys6BqLP+B4bc9mqC4/Z31omctSTThMEsi2D7R" - }, - "signature": "t4qhD4lj1mgXW5aIsNCMBvVB7kfMiUYopONIJCI+re1p5qIgHP63QPUZBn5pc0d90hUv8AvjwV8mU7VkktZ8IA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:45:58Z" - }, - { - "height": "819930", - "txhash": "D07F7242EAE033E552FA624DB0FC71958822AB320656E096C6C657C3AB1E6D92", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"},{\"key\":\"spender\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"},{\"key\":\"amount\",\"value\":\"45000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"45000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2539107uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "amount", - "value": "2539107uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "45000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2539107uscrt" - }, - { - "key": "spender", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "amount", - "value": "45000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - }, - { - "key": "amount", - "value": "45000000uscrt" - }, - { - "key": "new_shares", - "value": "45000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2539107uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23850", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "amount": { - "denom": "uscrt", - "amount": "45000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApZ7bJdh8y07iiHBDdTUXQ+PL6p03WOJDlz2sZOL5SW8" - }, - "signature": "+2Q8LhE4IiFDGMacOBkvmRfTrfnaFoSTZVJSZ6SpvysE7czGhCqiqawoc7BhdWb380Th3Qau0e4u+obSehdJYg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:02:36Z" - }, - { - "height": "819978", - "txhash": "2A8F39D6ED85D79291BF29E8DEE93DE7075B426B76B4BF7790ACF95490BEF1EB", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"},{\"key\":\"spender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"},{\"key\":\"amount\",\"value\":\"180000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"180000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4292952uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "4292952uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4292952uscrt" - }, - { - "key": "spender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "amount", - "value": "180000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - }, - { - "key": "amount", - "value": "180000000uscrt" - }, - { - "key": "new_shares", - "value": "180000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4292952uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23282", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1r4gpmq0ftdtherwsnlr938540wvqjgzp88pe5v", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "amount": { - "denom": "uscrt", - "amount": "180000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgG4cR2jzNT/GKecuvDONvrorFcknRH9+/6oU8OH3a0M" - }, - "signature": "M160HN/D3csSI/ISb9+wi1r5+RONIFAI8t2pjZb8fN570/47xRxf8cmCxqxGq++gdXlJ58HpafHK9Ozl5vhKiw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:07:16Z" - }, - { - "height": "820047", - "txhash": "D6C750B7AC7873C38A9D40B5E0FFDBD7B0811633F90EC6E3AAB7BE88B419601D", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08D7BBA08D0610C4B9A9ED01", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc\"},{\"key\":\"amount\",\"value\":\"7000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:13:59Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc" - }, - { - "key": "amount", - "value": "7000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:13:59Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23591", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1gl0rfz2ye5fc92p0thd0va7u3uhnfs44024kg9", - "validator_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "amount": { - "denom": "uscrt", - "amount": "7000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ayd97j6n0RJbwKnmP1Zo7X3tf4SP1XunBU7EyrYKs9AE" - }, - "signature": "djwPbaKvdH5hQewIe2K6oq0PIEaEkQuzrO+Eb+yjdsMtHwA0mTmGq9esL96JcTDkVq06Vib2/fkCHNhaOkN3bw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:13:59Z" - }, - { - "height": "820106", - "txhash": "36E411AF6FB8239132B12B763E731A40B8A65E2024A3DEF84968CC499E653B29", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"},{\"key\":\"spender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"11000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"11000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"257550uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - }, - { - "key": "spender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "amount", - "value": "11000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "11000000uscrt" - }, - { - "key": "new_shares", - "value": "11000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "257550uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23689", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18n22l7989j7pwkva68f0t7mzf4ukmme6pk4sdp", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "11000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoV3aB3m8c+UZcJe1QO6JW6aOw8oQSqej7PaB9EXU48D" - }, - "signature": "wJE+q5ioXOVwDYZNF6TyJkoVZLgnd8gsrFjSn9D/cWktj2XH/sacgB+A7STHZ+Mfw7W4xurFXk/JQyU0S2Lr+A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:19:44Z" - }, - { - "height": "820106", - "txhash": "5E026C1B578258EFFB320EF9DC8D76FC56698AF2D5454D32FE7283F5351B1FC5", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08B0BEA08D0610B6A4DC14", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"amount\",\"value\":\"11172941uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"1000000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11172941uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1000000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11172941uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"1000000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"},{\"key\":\"amount\",\"value\":\"1000000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:19:44Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "amount", - "value": "11172941uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "1000000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11172941uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1000000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11172941uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "1000000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - }, - { - "key": "amount", - "value": "1000000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:19:44Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "27189", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65", - "validator_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "amount": { - "denom": "uscrt", - "amount": "1000000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvhgOUytKBSqh/POA9vWOJLGdFl6ETzVqJVpiEcGTRp1" - }, - "signature": "1eQKH0PdsV76n+m8uCiNmidIaSoshNCRtwbaRJSwDmUmupHXLgSoAZWUAjL2DAgFDhTfOwArcNR+9yzxOk+HOQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:19:44Z" - }, - { - "height": "820183", - "txhash": "FA9711FF6B14065D1155D9CB9100B7DC64CE20194F349BB0E311225830F23D50", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"amount\",\"value\":\"337uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"337uscrt\"},{\"key\":\"spender\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"600000uscrt\"},{\"key\":\"new_shares\",\"value\":\"600000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"337uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "amount", - "value": "337uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "337uscrt" - }, - { - "key": "spender", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "amount", - "value": "600000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "600000uscrt" - }, - { - "key": "new_shares", - "value": "600000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "337uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "23692", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AsJto6m7mF6vY3xeItevPbsxISlPc08G3FYbWdLqtiXi" - }, - "signature": "bLMDr+UcxpNyc22OEMiEiZfdc0g/zdZs2/+sbhI4t7xIH07XFsHfG5N5pAL/iyNhLZLbqsc4y8gOznE7u9YbXA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:27:13Z" - }, - { - "height": "820185", - "txhash": "E105E5CB3618D096C7F4434AAF11FE9707D5E2C24E13531251D042D6B8469560", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08FDC1A08D0610CEF4F1C102", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6453uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"},{\"key\":\"amount\",\"value\":\"515000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:27:25Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6453uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "515000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - }, - { - "key": "amount", - "value": "515000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:27:25Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "23480", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "amount": { - "denom": "uscrt", - "amount": "515000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/cYsy1HCthmugJyqSlcfvFv2sAEXwjvIR5QwN1UBrVM" - }, - "signature": "SSHVv33kb1XtLPhPEa8GUqHAmCMhjmevHbvA/prn2QtknO9o1Nn35neS3BKy1xUTCNklEW7sbesmfjyByvRsEg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:27:25Z" - }, - { - "height": "820280", - "txhash": "BEE8E26B7806ECF0FA0440DF0F02FABFD7CF9ACF6F35FCB4AD8A90A76D3059EF", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088AA2998D0610B6BDC737", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-11-30T16:27:54Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6745uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"800000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu" - }, - { - "key": "destination_validator", - "value": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd" - }, - { - "key": "amount", - "value": "800000uscrt" - }, - { - "key": "completion_time", - "value": "2021-11-30T16:27:54Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6745uscrt" - }, - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "800000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "37270", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret12ek8x746aj5dy77fzha5wnpwnvrvf0lgat7v76", - "validator_src_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "amount": { - "denom": "uscrt", - "amount": "800000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AupG5gmBUo7fDVZ7YSQc8FGlj/mhmmkMmbVEc22zqdEP" - }, - "signature": "CHyYJ6UL40oEUieLQBmJMvUfVFVwXpqqcnAHY5eKJTADD4NmihP9xDoNJnqd5MgttRL0p83rtXt49H+u+HVkqw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:36:41Z" - }, - { - "height": "820422", - "txhash": "42F3589ACD77540F63B4A543DF9CDF98FD25C3A1B86A091DDAC7FFD34C6C5CF6", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"},{\"key\":\"spender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"50000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"50000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1527788uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - }, - { - "key": "spender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "amount", - "value": "50000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "50000000uscrt" - }, - { - "key": "new_shares", - "value": "50000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1527788uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24558", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret18safs2860tpd540xwezwfkj53t69q80xuxwjwe", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "50000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1IROufCaxal7OfqS6cym6eR2zVjpeNV5xO2VxS02gKB" - }, - "signature": "fivm3ogdP0W3UOxWeEsRwD0knwrAvQQSc/EgZsCaIa4IVdSqAT7RytwS2vU9gbsbzK5bFIHf3UNnJd5yR/CWrg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:50:31Z" - }, - { - "height": "820453", - "txhash": "CD261C8AEB03CC7A6B1AA344C8244987E81770421B3D2F4BC4A9E91F0E68C289", - "data": "0A3C0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120E0A0C08DFFE918D0610A4DDF2D802", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-11-29T07:21:03Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"10000000uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec" - }, - { - "key": "destination_validator", - "value": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr" - }, - { - "key": "amount", - "value": "10000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-11-29T07:21:03Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "10000000uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "33924", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1tph5unqv3x7wypd7gvgzjullcv8tv5cdry5e9n", - "validator_src_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "amount": { - "denom": "uscrt", - "amount": "10000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtwT8JLTG67WwOCpoQiHKk9c7pqMuzjFVU0vrgOX1ff/" - }, - "signature": "lCxUCS3d6h0FJS2/lndxjxQwC2IVu4mdaoGRwJjpWmJs1BxYyOyBtH5T+29RxEaRFyAzDcXsAJTzHZaUqGD1Nw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:53:32Z" - }, - { - "height": "820518", - "txhash": "7BDBE17B408B74BE23F103D9FD9E94F183B8C00B89F1AB9A512C7EBA8CA4C2E9", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B0898D1A08D061099DCB267", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7\"},{\"key\":\"amount\",\"value\":\"4600000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T01:59:52Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7" - }, - { - "key": "amount", - "value": "4600000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T01:59:52Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "22137", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret123tcqmmaq9zyjfhkdqutspfjcurqrples2j4v8", - "validator_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "amount": { - "denom": "uscrt", - "amount": "4600000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7pt4HtgqUDuKZwHWgTYD949/P21P+YKjNIskmel8CiZ" - }, - "signature": "PvCqCPafCbx3zAI1rPvfy9T2sScmgQ5WXPwN7FiBjwpy4ZuS3Q8z0+ZPOpozwGAM+Io2STC+QSTBCkwqZvHTeg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:59:52Z" - }, - { - "height": "820568", - "txhash": "93DC7C08E011F8867DFFEFB945E4910F108FCF5028473B96D8D161EDE8CC89C6", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08BDD3A08D0610A7EC83CF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"155611uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"280000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:04:45Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "155611uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280000000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "280000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:04:45Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "27289", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1uf7enjy9zgd8l5p68vvszs2uqds7u5fahygcml", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "280000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A95xM5tONqVapuZ8wRqTQLklnrEO5thMDlkC41v/GVV7" - }, - "signature": "/2dHgCgBFAthj8YT/fo4WRYcEbLw0Aaa4SnAYSlIOMIpiGMEvKtGiYwwQEWYNIJufwRblEXEUhtlqt+O2xoY7w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:04:45Z" - }, - { - "height": "820712", - "txhash": "580668B2F923B7EE25BC6F4FFFEA2617ADBF00F819FB401C1440E49842418683", - "data": "0A3B0A2A2F636F736D6F732E7374616B696E672E763162657461312E4D7367426567696E526564656C6567617465120D0A0B088092B8C398FEFFFFFF01", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgBeginRedelegate\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk\"}]},{\"type\":\"redelegate\",\"attributes\":[{\"key\":\"source_validator\",\"value\":\"secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7\"},{\"key\":\"destination_validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"6200000uscrt\"},{\"key\":\"completion_time\",\"value\":\"0001-01-01T00:00:00Z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"sender\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"6199999uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgBeginRedelegate" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk" - } - ] - }, - { - "type": "redelegate", - "attributes": [ - { - "key": "source_validator", - "value": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7" - }, - { - "key": "destination_validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "6200000uscrt" - }, - { - "key": "completion_time", - "value": "0001-01-01T00:00:00Z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "sender", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "6199999uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "31540", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgBeginRedelegate", - "value": { - "delegator_address": "secret1d856f04nk57mmrd2skf6khqtlg5dazqfuhwqkk", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "6200000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwSUbiab7Gc3qllHkqFVACMmB0CkpCQh4LVZowOKK9yK" - }, - "signature": "ptZfpZzBjpp8+KKxnzlSpvjko2jm0w4cE4JezmKRxi9yheDFxkp3MGU48PqHCFE+1zVvpt51/17aaW7H9CIBFQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:18:45Z" - }, - { - "height": "820753", - "txhash": "7E05D33443D88EEA3BA715D8CA8E848C9DCA24D51DF8054482C6E4ACE24F0065", - "data": "0A370A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120E0A0C08F4DBA08D061096E3AAE002", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29196uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"280999999uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54\"},{\"key\":\"amount\",\"value\":\"281000000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:22:44Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29196uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "280999999uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54" - }, - { - "key": "amount", - "value": "281000000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:22:44Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "25363", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret1n7h6kyy6xwdp3n3ys2v9y36rz8yvcgu9x69rza", - "validator_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "amount": { - "denom": "uscrt", - "amount": "281000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AtSsPyigG5+U8Jr8eAcP5yHYwLljqxGNPfuvLpgM0l6N" - }, - "signature": "yfk5+nkQC/cyzoSeJRHd+o6NQDQex1uW2Kl4gUlGPXl1rT4tPIl8+gxzhENnWhMCiFtn8OYIuFU8fBCJk2MkcA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:22:44Z" - }, - { - "height": "820833", - "txhash": "CD2B19DBC0B05C9AD3709ED202F5D54357E28FF451DA29CB15B6487977012D19", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"256uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"256uscrt\"},{\"key\":\"spender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"},{\"key\":\"amount\",\"value\":\"5000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"5000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"256uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "256uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "256uscrt" - }, - { - "key": "spender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "5000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - }, - { - "key": "amount", - "value": "5000000uscrt" - }, - { - "key": "new_shares", - "value": "5000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "256uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "24578", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "amount": { - "denom": "uscrt", - "amount": "5000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlYICl7YMUrkRceOVO/EclSVSTMWsPRr1SczirfIPrD1" - }, - "signature": "3P7tr63lDkBQQi26vT7IY0mCbmugFayjwckt1OXv1a4RF0FZ9xTNSE/BoVHZNFGVQo8zIF8eu3werm5NWsVjcQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:30:31Z" - }, - { - "height": "820908", - "txhash": "40AC0A70E6C635298CF108A524B35E66AD68184A348F8F550831B02390ACBBB4", - "data": "0A360A252F636F736D6F732E7374616B696E672E763162657461312E4D7367556E64656C6567617465120D0A0B08FDE2A08D0610A9809373", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"spender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgUndelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"31025uscrt\"},{\"key\":\"recipient\",\"value\":\"secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl\"},{\"key\":\"sender\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"}]},{\"type\":\"unbond\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"},{\"key\":\"amount\",\"value\":\"21100000uscrt\"},{\"key\":\"completion_time\",\"value\":\"2021-12-02T02:37:49Z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "receiver", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "spender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgUndelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "31025uscrt" - }, - { - "key": "recipient", - "value": "secret1tygms3xhhs3yv487phx3dw4a95jn7t7lr7phjl" - }, - { - "key": "sender", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "21100000uscrt" - } - ] - }, - { - "type": "unbond", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - }, - { - "key": "amount", - "value": "21100000uscrt" - }, - { - "key": "completion_time", - "value": "2021-12-02T02:37:49Z" - } - ] - } - ] - } - ], - "gas_wanted": "250000", - "gas_used": "27248", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgUndelegate", - "value": { - "delegator_address": "secret13et2xgq2mrm705nkat9lgu6dlyw62g9fnhxauy", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "amount": { - "denom": "uscrt", - "amount": "21100000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "62500" - } - ], - "gas": "250000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ap+RKWeDjiQXusBHCVg9CXYxmQUjxxPktvI6abPRVaW5" - }, - "signature": "CyIzJlmNq0HvlrRvTGbXbmvg91HO3Rvh4uvlYlCVROMj+dXFHzt5a7//C7P9QuzfwQ4E7IJZM7OShBiqf4O83Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:37:49Z" - }, - { - "height": "821110", - "txhash": "7AE4E24B44454427F896DC320F0AE5E0A60FDFCC1BB287CBDDE22993BEB8A102", - "data": "0A250A232F636F736D6F732E7374616B696E672E763162657461312E4D736744656C6567617465", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"receiver\",\"value\":\"secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"},{\"key\":\"spender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"}]},{\"type\":\"delegate\",\"attributes\":[{\"key\":\"validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"},{\"key\":\"amount\",\"value\":\"6000000uscrt\"},{\"key\":\"new_shares\",\"value\":\"6000000.000000000000000000\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.staking.v1beta1.MsgDelegate\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"staking\"},{\"key\":\"sender\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42294uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "receiver", - "value": "secret1fl48vsnmsdzcv85q5d2q4z5ajdha8yu3h7axyt" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - }, - { - "key": "spender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "amount", - "value": "6000000uscrt" - } - ] - }, - { - "type": "delegate", - "attributes": [ - { - "key": "validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - }, - { - "key": "amount", - "value": "6000000uscrt" - }, - { - "key": "new_shares", - "value": "6000000.000000000000000000" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.staking.v1beta1.MsgDelegate" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "staking" - }, - { - "key": "sender", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42294uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "270000", - "gas_used": "22723", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgDelegate", - "value": { - "delegator_address": "secret1594ffqtcv0q2lzvkxwrc9svype229zwdvsrcap", - "validator_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "amount": { - "denom": "uscrt", - "amount": "6000000" - } - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "67500" - } - ], - "gas": "270000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "An5bbo98NASH4PRyYqPRwuA9VUxpffmCbMC9HTLAdeS4" - }, - "signature": "XdpEh8/Uwu05dTtCR9CCzbJ41dLpbH2rBgEGJUd1VOE2W+0yp47J0SLu/QJdJ56pZVupy6woh/uLgVowh+pO8Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:57:27Z" - } - ] -} \ No newline at end of file diff --git a/tests/json_examples/MsgWithdrawDelegationReward.data.json b/tests/json_examples/MsgWithdrawDelegationReward.data.json deleted file mode 100644 index 34f9a61..0000000 --- a/tests/json_examples/MsgWithdrawDelegationReward.data.json +++ /dev/null @@ -1,18969 +0,0 @@ -{ - "total_count": "64920", - "count": "100", - "page_number": "1", - "page_total": "65", - "limit": "1000", - "txs": [ - { - "height": "815848", - "txhash": "91B0ED47C6C0863BFE332CA47BD99C6B07072119C27547DFADF430308F58AB05", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1832866uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1832866uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1574385uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1574385uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "1832866uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1832866uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1832866uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1832866uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "1574385uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1574385uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1574385uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1574385uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26159", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3/CL9KEWLUIGf7SQrqAxMVXdxfrCpUNrJgB6uMBP3YH" - }, - "signature": "w9H0oOoF9ofBTiDu2UeprIsCRoEwU2LKoyQJxzd0C7ZDpDUrQwzF3Fwc5m+52NGe+0+RriY2dJ7SCFUH8lkFsQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:27:55Z" - }, - { - "height": "815865", - "txhash": "3CE02C48928DB2BE424F76CC0D8587A420809F545E28BFE033914A75BCEAB14D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"195450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "195450uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17219", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV" - }, - "signature": "Pk25tcFxrc3oKYtv6E5B/LY7+7DrTY3XlXpUFMV+CW4GAlVQVuGJZmATHr+67I1rADjfSybTcaFZB/dWD2AARA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:29:32Z" - }, - { - "height": "815883", - "txhash": "6F7FE7091D687C432A25A58C807532CA897A814274B5A9E36F7AEFC553E512BE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"73341uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"73341uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18728uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"18728uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - }, - { - "key": "amount", - "value": "73341uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "73341uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "73341uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "73341uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - }, - { - "key": "amount", - "value": "18728uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18728uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18728uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "18728uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25402", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1yzeqtrh4qw344u63pagg0q407jw3qymyhtwr7t", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ax2cWBOi6x32cqjcH2vKadq6/7mfYVKW/Y29yUNWbGhY" - }, - "signature": "5P+wXBW2gBLLp+IbnwZDDWExxkTUvmfi2pCPotReUyAJDBgjWqVJ0GRldhbIZnb/4ivzn3Ag+PUFAZUOpjY5hw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:31:16Z" - }, - { - "height": "815901", - "txhash": "AB61E376D7AA3FC46DAEAAC9A38BA967E7DBF89FABE50443F0E5F2E69A59D074", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3775913uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3775913uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17453", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkDQHtllM6zabHIaU/pqlSsHxvOtyB54tqE93N8+kKoT" - }, - "signature": "B8EITZYIj+marVbMCNV3g4aIVCfTzY+g/mvpQRLcGEE25ouEdQRuSVhRwEey4Nr5ITYqrmhMUf84uoJzfXVTkg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:33:00Z" - }, - { - "height": "815925", - "txhash": "523C012E50CCBA38728D5CC9354A423BF295669663A3D142C7E468522DB0ECCB", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13739867uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"13739867uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c" - }, - { - "key": "amount", - "value": "13739867uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "13739867uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "13739867uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "13739867uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17098", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1f6ms76j035e7kpekhvcr665z0gf4zk27lhy40c", - "validator_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+PKcgg6/ZCDc1h1hng4IttwY2kD9LVdaXY+ZVcAKQLF" - }, - "signature": "GsbD3JeZSSaHBzB/cs9t0myDAKOntaP+ODQK/TofyeoOucdz1Y6xw9QqCLUZ9Lgntdc7SUCZmbM3kQvzQQwarw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:35:18Z" - }, - { - "height": "815941", - "txhash": "48CA934CBB5EA7823D0E708B8A10EA53ECBDD889C3A9EEA40AFBE0158ED5B864", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"236921uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "236921uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17618", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ArxlO4y7DCrgghG/p+WhNRXeZrcKLokzGWvvqExlJffy" - }, - "signature": "vu7YasAT/Nz+pc1msp1OG8jsaMCDruH71UbvAYkBZBkIYMxlvGfPGMD2fZD+ikyYHo2VB+Vijkh4A8bkm599DA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:36:50Z" - }, - { - "height": "815962", - "txhash": "357313E284468A8786DBE927B9C01F5FCA56F0D5D094CB8D431A914A56150B38", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"167226uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"167226uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27832uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"27832uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - }, - { - "key": "amount", - "value": "167226uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "167226uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "167226uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "167226uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - }, - { - "key": "amount", - "value": "27832uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27832uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27832uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "27832uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26432", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lnql65f80ugrmuhnuec9tqj05yzy5tuth0qyz8", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AihWFowI3yJiPhG12dljju4rJPiKizqbcMxM1JxrAo/r" - }, - "signature": "FOg6G+SpBv11bWgsYXefOjpHX5L4q61x2GmVu/GgAZ5eDAD2moVQ8ozzljvQx4B+0Be3RXBEO5LPf7tstC+XOA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:38:50Z" - }, - { - "height": "815985", - "txhash": "154DB3B1982E42D24276F87565177C0D74DA9420618EAEDA085110EA49DEFD5B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"125530uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"19656uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "125530uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "19656uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25717", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoJ10FUbSfZ8PvZhRquuizdu4c5UW35y4m3nf/0uuBcs" - }, - "signature": "korOUlWsUdDlzMemsLqhzvNIPpezwN3oXYRIMfHoD5AvLS0JBurAk0SleLCZbeEibJM/a0dGbcJYLrTz9tpysg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:41:02Z" - }, - { - "height": "816035", - "txhash": "237AAA2105E8A01BAAF621A77657FCC1F3183DEA62301431C70A8D30A8A05E26", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11004uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"11004uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh" - }, - { - "key": "amount", - "value": "11004uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11004uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11004uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "11004uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17408", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ttrs22dde66ay5nq8hcl3s67ykw5h7v4ckcvzh", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1Vt4aYLcaITykQ92z+fRCPUTK65bkPyZFzh2NsZJ1Hq" - }, - "signature": "KH9VJcGH0GOrnnMk1UgaGVHjqKHZ0zS+j+JEaXVNgTle7bKxsquAn6FHrcjcJWM6fKNdZ53KBd7SkkC1+ptfvQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:45:49Z" - }, - { - "height": "816060", - "txhash": "4863582692E3A141A28089AFC064DA1928D50CE90021F04DD198F4BAF1651B6B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"76441uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"27200uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "76441uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "27200uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26488", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApPJcRFy0cQDv5WBb9r7MaSfQYkObMx9LVd8+T/EUZYW" - }, - "signature": "J1zZ9lCSfjf4X3Jpbv/z7lo12VwVUJDqQI5RpN1uvGIDXlvFKfYZydOYarxtTR9L6xyBVYNUyR0qszLx3TC5zg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:48:13Z" - }, - { - "height": "816084", - "txhash": "91742DCC11DB2DED7FBB95D7255BAA3ED9833C211D11028C4A990F0071EE650F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"25uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"25uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "25uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "25uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "25uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "25uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17594", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "JGWJCb6nEii3S/kF5SAwuFkxxEJkVeyGs5ih5UzlQ6JR0ulwltXQNq80oGOq0bI1xeeaW5A2Yt52O0nZUR1Q5w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:50:32Z" - }, - { - "height": "816101", - "txhash": "07DE43F48DFC0A716867EE35C8D1DB57C4F30D7F1C938C90FB12F1A4535E4CE3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1022795uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1022795uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17654", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2GXDOIkDJ1ki8TLZliRppevZOFUuYJOw3U2HuMvjpaq" - }, - "signature": "JbrI5ilaBicPVUWlTlsVQcjGmZYuuVkCtTTPSr1ttIo7oeAer7nRstpp3SC2BevKk3xHhvObEcBPZPmP3I9ckQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:52:09Z" - }, - { - "height": "816158", - "txhash": "E31C18435E16D5FE1F914F9726623DF4123DD0FE1CEFA1EA12D04999F9581531", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10602uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10602uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7007uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7007uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "10602uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10602uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10602uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "10602uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "7007uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7007uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7007uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7007uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26018", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoJ10FUbSfZ8PvZhRquuizdu4c5UW35y4m3nf/0uuBcs" - }, - "signature": "xYJya4gomn3TTJvQeECIR9JkG8XQEbmp0CLNz4UvyTBuNDbZcJ60vKnHRx9OZCZE94u1nqZRMQyfst2esGcWuQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:57:37Z" - }, - { - "height": "816215", - "txhash": "1B710CA3795525EC25F60E54F57E0FA958EA3CCEDB2B1D30A8300A6ECA2A116C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"14872386uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9338937uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3106862uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "14872386uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9338937uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3106862uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "35057", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "7BZK9Y6vorpirW2zS/7/xXIf3As9FQq6LPQd3Tg0xYttfmwkr3oVogAm9jLbiiyey7+gZEp+PfOHm9iTVRMiYQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T19:03:05Z" - }, - { - "height": "816534", - "txhash": "2B97A10D7AD1D7B6685A05FEED450011DAEC5932B9898B8153DFC2927EBEDE80", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"92206uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"92206uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t" - }, - { - "key": "amount", - "value": "92206uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "92206uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "92206uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "92206uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17634", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1swtuyx0gyec8t5p4spn0sgjmhvln564a5lt60t", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9SW0hIO0o56SGpUXC1SYrnQGHtfurXDQpQHqJBJVT7U" - }, - "signature": "pTNi7gYmrrpy6U0/Lm5Dez6Pz5sBV7I3N9LgDel7UwF/5ie5ybm0LHG6mf5XtBkuW89zpDirfC3WICdvhBAXgA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T19:33:45Z" - }, - { - "height": "816666", - "txhash": "8E176C43CAF55FA3AC54E74A318387603701F459ACA66E9829515BBE5A89D646", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4344uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4344uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17439", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8AkVgPvDBgRdyGgp1vpOWEcY0J1m4ELBOupfCHMANaj" - }, - "signature": "jEUMtEFR0HtrRqRESl0g/xCkCLCz4dcyw4Ep7MVAgnQyhZlYO3wLVetAe/26gEn07UKQPxglIYofAAfVWD9MdA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T19:46:27Z" - }, - { - "height": "816837", - "txhash": "0E638D479319AC9C8711802F8D04F2631575B1E5281A305E254060E3DADEC7A4", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"162927uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"162927uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2" - }, - { - "key": "amount", - "value": "162927uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "162927uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "162927uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "162927uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17246", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Atf+u8hIsOHSRXNPjjAldjqsJUsHkqel217u0WLnTP/V" - }, - "signature": "P4wjHf9PlkD4ZIBkHeQre4i6th2kOa5XoVCArv7qhE86G/2/WDQaR1pzS6Fp9fMCn6fzADTaR2KgummkXfiHDg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:02:55Z" - }, - { - "height": "816864", - "txhash": "2291478518DBA647DF77C8E1A8595A724EF8891580D64B4371176BB0CB7B8983", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"354973uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "354973uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17631", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApnXFSe1xsW5ZmsbizcFr8UEzUTlHR9SNoZWVhhDdNkS" - }, - "signature": "Gv30jb2+d6q5O97ogTg/khffyFWjqkwVxshb4f793awqaerl15fLD9EPrd3DJ/a8PqMLy0FlQpgrMF0ubknXNA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:05:32Z" - }, - { - "height": "817081", - "txhash": "1D49550C440FFF404360D6ACEF44B587E55960DE59A12E151D257045B1C81A32", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"971986uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"971986uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"11260uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"11260uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "amount", - "value": "971986uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "971986uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "971986uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "971986uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "amount", - "value": "11260uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11260uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "11260uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "11260uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26171", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1vj6fghza4lqgwphku092qqrf78e04sdhap99d8", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A013X+53yCVpH0EkF9OrjzhOKitPSfCQdp0zbiyQNZgA" - }, - "signature": "/OGUlzGTrgGv/Ecfl4HZb3L4Jqx3CbXAyUWy37b86KczucgvKshok24BPtgB168JbLI8AsS6TbeuLZMq6UGaaw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:26:30Z" - }, - { - "height": "817095", - "txhash": "E8346DC7D7C82B678E060FD0F2DE2E0F074475B95F32D6E3C6709856C76B104D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"240112uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4411uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "240112uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4411uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25544", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AhBOZ2N7tnFBb4hk/EoJyPgrm6w53IRfRKCb90COjcpF" - }, - "signature": "n2fxxS1kHfbkNjPOD+tQqRS8gsJYwYAXC5NHCcVO2ZhW279+lcvVKiY5fCjy+N1exVrCoebP8RDgfmsHhKRCTw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:27:51Z" - }, - { - "height": "817116", - "txhash": "67C5E822CD0C89FF9792563EBEADA5A33D06937A3680704E159EC7DAF3F7BBE3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"391031uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"391031uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"13909uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"13909uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4201uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4201uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "amount", - "value": "391031uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "391031uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "391031uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "391031uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "amount", - "value": "13909uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "13909uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "13909uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "13909uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "amount", - "value": "4201uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4201uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4201uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4201uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "34794", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p", - "validator_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1e7mqxaq7cc4uzf7kfzt7l2kr4q2sgh039cay7p", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aw9pfsURfNnzEFuaqXWNOat7+U/rgQLP1uyTtx2kkQI/" - }, - "signature": "p9bUIV40DErwee0rFxdPUyrlidXKU2XdZttsxwLDpbFJbFTKUn7/sZP42itxKWRVGpUiQhVTJQptMu6jESaM8Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:29:53Z" - }, - { - "height": "817135", - "txhash": "08877BFC817775832DCF8FB054BF595412B67FDB4753F0871FB5B02F5FD0ECF5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7412uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3016uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7412uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3016uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25657", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6", - "validator_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6", - "validator_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApF0zog1oj/26gTv6zSwD33/mO0LGWr8e/cz51va9hYs" - }, - "signature": "FGkG4hrFx276qQLCoc6hb7HKdw0vEx8df9R03wxF9YgDt8khABw9U/uLBksxJ4fYBYIRst3ZR3sg7ntNrK/5ow==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:31:42Z" - }, - { - "height": "817192", - "txhash": "E82646EFEA5C084E3646BEB0CFDC7A9F1A9700F50C4D4C007BB3FD4C7853AB54", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3126859uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3126859uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f" - }, - { - "key": "amount", - "value": "3126859uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3126859uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3126859uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3126859uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17166", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z2dmj6hdc0kmsm9ml87y3y736p6nuycy7sxs2f", - "validator_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A6m29JvVEL8+APha6g0L7JqYx3DCR3D4m7JWtAhwbaAb" - }, - "signature": "BrnQheAXurRs8Q3CUbcyDwkEkYy3I/OFCO8XcU11QAlODW1tAjNTjKbpq6NU92ZiBa14f0TPIuF5coOOKQZxtA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:37:13Z" - }, - { - "height": "817287", - "txhash": "EE0AE754164F72256C6452B33A5878E2AE7A717BC2FA962AF3355D2665E0DBE7", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "10uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17644", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "S/9Oi4HcFzirELK9ev/VVES/UfWx1jHMgItvxyveUF5NXjoz5J9bWOSG8B7oO7nI3Ek7b+T3RGYbbvxfpsXlKg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:46:23Z" - }, - { - "height": "817293", - "txhash": "3591BD7E75A902D083B32F6169C014252611BD413DF6E0F5D49BA7A660448178", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "16255", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "rfBC7et++M6dclOV0NAwQ2A/eJKxSz9wdVVkXzYLBF5zhJ1KfCqHeGNiZNd5MOfTm0cwp16WRfl8UV9omUR4cg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:46:58Z" - }, - { - "height": "817298", - "txhash": "17E42A4720D1065BD4C094192B98B3988DBEA1E5093FA20CC68B5962211E0169", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3198923uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"387951uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3198923uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "387951uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26393", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "W3xP9s9HNerWVs1wD6xgmKhBDD//rsWJ7zrBOORqaRhhCmrCd+uf9Q5Sza+p/lq8UKFwcNS1WXajflKz2Gq2AQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:27Z" - }, - { - "height": "817301", - "txhash": "FBCD7C7E3BD514B7973F7CA1B49D755B124BE5D9FEC7405B4FBD9D81788972EE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5311199uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5311199uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - }, - { - "key": "amount", - "value": "5311199uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5311199uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5311199uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5311199uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17650", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret18nw9traeewwre5py2ejr4vhlnh3fzvnl720hs4", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnwIN187lGy412MEi+XVAR4oN0oGYdiUmXTGc6Z3LmxM" - }, - "signature": "D24ilXUUwucUf/EYV1cqx53/hXBQyGpebgDwS3HpV5Y9oHPtPXap5CPG+v5BCsf8UqIGvnjHODj6ggH/1/9uiQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:45Z" - }, - { - "height": "817329", - "txhash": "3AE55BFE25B02A0839D6B7C8686A59B576BB4B635BDF8B27AE34A249F5CE3E02", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"108058uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "108058uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17301", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzzYkRlYwxXMlwp6P+F2b7RHzhTki1ZquBTWmpU3mMeT" - }, - "signature": "ApwLkyIH3vcQVSkFOUIB/ndgDgG60aLp6Dv04Da/BAZ/RYmv0UFcgA3sREfihbqH8l3m8I/f6EP7PuRNzZP60Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:50:27Z" - }, - { - "height": "817342", - "txhash": "4F4F92395588FB3EBA227C6033836F2D586C49DEAF9260651C36C9310369D8F2", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"38342uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"38342uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs" - }, - { - "key": "amount", - "value": "38342uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "38342uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "38342uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "38342uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "16910", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1jzygrj9l2zycp5pmm6t9z9lfntjt3vvupk29qs", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2dAq20HSf62L8TzKw959ctwXWBElvH2ACriSLvxnibH" - }, - "signature": "cxhq94iuL8scL8nIzI7Qj/XsHQW+1gz8IKIc+EDHyWx1K0sfcTht/qCciCbE+qf5d5E3Wo5fQxbM7Yl22Tpq1g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:51:43Z" - }, - { - "height": "817346", - "txhash": "C8011D472A6453E4C1F6C0D6B364153BABAAEE619543586CB7AD7E8A500E80FF", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109435uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"42600uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"22450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"859uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "109435uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "42600uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "22450uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "859uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "560000", - "gas_used": "44000", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "140000" - } - ], - "gas": "560000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N" - }, - "signature": "/Cz+mLWhBlRqRYiKrPolUM67NkLSNY7sRLQxVdvIMD4zsbn0ZiF/+xqE3ABqp9Z0cDOSaNUV2kocADGNQuN8OA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:52:06Z" - }, - { - "height": "817427", - "txhash": "EDF7198908A17189B93262758B26DF3C220770F91F2DA4F72C4814A8F6DB17AE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"},{\"key\":\"amount\",\"value\":\"237719uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"237719uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"237719uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"237719uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"},{\"key\":\"amount\",\"value\":\"236588uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236588uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236588uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"236588uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - }, - { - "key": "amount", - "value": "237719uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "237719uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "237719uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "237719uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - }, - { - "key": "amount", - "value": "236588uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236588uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236588uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "236588uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25834", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq", - "validator_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1zpedzgyurjed6etgrxud5ne6sucz936f5890tq", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "84000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8/LJAOH2H21XJ/bgnzqCuXJ6UpkLHnQF7ML3oxa0U+V" - }, - "signature": "5+WLi3SE+ENIVonCdiz/WBLzy2CIcuiS8Gb1gf1k8t45B1MjUaxPRSdgdV/0PuombdvfOBhTCDyaEPyM+7NMOQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:59:55Z" - }, - { - "height": "817427", - "txhash": "83EF6E0DB4744726186EA751FEA86634191888BA6466B276732C5BB7E2330D12", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"258523uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "258523uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17629", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3Nl6Zg3+ZUY/OKqP4FpQCMVVWACLAU08ViA9LgyirwT" - }, - "signature": "rw6enY1IQgpQny5Buoccos0k1v6oTbiPuvAjGlU//tQrqkbGrUSIectlWWQUkeh2SWtJDxiZ2Kh990yRhgTEVQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:59:55Z" - }, - { - "height": "817549", - "txhash": "91090A42E4F03C2D25DF07DD1D2BA6C1BC052FE492EB96FF0A2EE18BF730787E", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"952500uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"952500uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"952500uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"952500uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"737705uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"737705uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"737705uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"737705uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"366850uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"366850uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"366850uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"366850uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"294228uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"294228uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"294228uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"294228uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]},{\"msg_index\":4,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"269037uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"269037uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"269037uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"269037uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":5,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"amount\",\"value\":\"55773uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"55773uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"55773uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"55773uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "952500uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "952500uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "952500uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "952500uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "737705uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "737705uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "737705uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "737705uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "366850uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "366850uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "366850uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "366850uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "294228uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "294228uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "294228uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "294228uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - }, - { - "msg_index": 4, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "269037uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "269037uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "269037uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "269037uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 5, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "amount", - "value": "55773uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "55773uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "55773uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "55773uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "840000", - "gas_used": "60598", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "210000" - } - ], - "gas": "840000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/kk1o5wkjubH36yz79OX75oQxVxLYRt4VooYsQdkzHR" - }, - "signature": "L4xT69i+dG+ZsGwQKjEOhzNeZODm8YF5B74wWA0RhcBODrnCO1B4sDNBgOoQBsKtGDUF8aXkZnhTVaJtCBxZaQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:11:43Z" - }, - { - "height": "817579", - "txhash": "BA753CD79B350246FBC19DE79CB1CCDD72164AB9E63E0DCFC1D50A32B8AF1CB0", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"380769uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "380769uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17476", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV" - }, - "signature": "TYykzR4dFUOVaZwNyhRfc2Om5B+tMh9KRe9pkJ5o6gJfqWlRrF/iy60OrOsCQODROZz+RljXPRgDmeENOKRVow==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:14:37Z" - }, - { - "height": "817657", - "txhash": "B65400AF87368E57F9FFCD0E4123E72CD2EE9443459F501614C1AF7A2DFBEA7F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu\"},{\"key\":\"amount\",\"value\":\"1387uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1387uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1387uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1387uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu" - }, - { - "key": "amount", - "value": "1387uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1387uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1387uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1387uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "16984", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret199vcqh97al7s2080ge6umz6uqag5d5552eq6cu", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A31+QOdV5H21gChI4D5rZ2WcrTLa+JoupoxKFD1FItxg" - }, - "signature": "MSU6VCg4twIgnj4LKUi9Qd82ejfcmqXIBeaiujpBjVFwqpMMUy0SiP0XX3O5FRGfAzu5jW3xvmEYENBdDMFr5A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:22:11Z" - }, - { - "height": "817746", - "txhash": "4533A91267F8DF446D61577E66290E98A5A314D630DA285C4F75139FB54FA454", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7997735uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7997735uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17445", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkX77ZFZSqWjgtb7dCfUdTAzQeOoxNgbdh3mNEZIH9DU" - }, - "signature": "1FXoVoT4Kdlv2ecBZcPgc37Dx5AjaK89f2UrYu06hucb9zuvgwwblQGxHQJY9MtH728cym7P1sDDES9scg0dJg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:30:47Z" - }, - { - "height": "817824", - "txhash": "11C10B54D5679D8E6F2AEA5F397E163CB3F7DE754B0D54EAAF325367028840CE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A3D0A3B2F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617756616C696461746F72436F6D6D697373696F6E", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy\"},{\"key\":\"amount\",\"value\":\"5310uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5310uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5310uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5310uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy\"},{\"key\":\"amount\",\"value\":\"1413194uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1413194uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1413194uscrt\"}]},{\"type\":\"withdraw_commission\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1413194uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy" - }, - { - "key": "amount", - "value": "5310uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5310uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5310uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5310uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy" - }, - { - "key": "amount", - "value": "1413194uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1413194uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1413194uscrt" - } - ] - }, - { - "type": "withdraw_commission", - "attributes": [ - { - "key": "amount", - "value": "1413194uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "200000", - "gas_used": "20786", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1q0rth4fu4svxnw63vjd7w74nadzsdp0f23e0uy", - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawValidatorCommission", - "value": { - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "2200" - } - ], - "gas": "200000" - }, - "signatures": [], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:38:19Z" - }, - { - "height": "817837", - "txhash": "4D307BD97D532FCB16ADC9693EC1426AA3A2EABA6AA4226FD9B917E399377702", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8031142uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5330791uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3932805uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8031142uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5330791uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3932805uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "35200", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "4671ViinfmFdEc3dDVY8rjedv1GnXbdCpSpWrVYDfKI789KTX8qo2W3z0kmxaUvsBahpNAe8j+9N+4RS0B8pzA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:39:35Z" - }, - { - "height": "817939", - "txhash": "3330CCBDC46AC1356473458F8BD74A4EA3CF536D9741749E73D6F6F1CECB8420", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"amount\",\"value\":\"109912uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109912uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109912uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109912uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "amount", - "value": "109912uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109912uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109912uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "109912uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17409", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1gshd0r4962ptsyx2t4vd754a2ae0pz729g05td", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A4+goODlSwb3p9ZH5qhiDvPxyRPWVbTqNHo0wmS8owIX" - }, - "signature": "/OjWUfXjpdU8igUtg6s0ys4pBC7Ftxp4iH6iKwfHlCwfqNwgj8B/5lErc939d9kmdCxjVd5YxrbU0S32lkO+tA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:49:27Z" - }, - { - "height": "818009", - "txhash": "BB3C9CFAEB6D644A5656A7108BCBF2AE2BBC2D9DD1D0E77426218638C941CE28", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7871uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7871uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17207", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApuDFD+syK87hgb2tN/ez/jDUewL1DgsYM34ObWearOD" - }, - "signature": "sFze8Fz8waD3fDog1wcrkln/0zTuLYODtKlu/2SfdnNu17gsrqI7YlnOCwdBYrs7WE3HkXgPgTLHOOHRKx5e2g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:56:13Z" - }, - { - "height": "818024", - "txhash": "E45D6635AC62A1BF924D379D326D2F48A673AF1CF70FEEDC50D676783B18F2F7", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"123076uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"123076uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"123076uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"123076uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"122484uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"122484uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"122484uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"122484uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"30712uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"30712uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"30712uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"30712uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"2883uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2883uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2883uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2883uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n\"}]}]},{\"msg_index\":4,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"amount\",\"value\":\"53uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"53uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"53uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"53uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "123076uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "123076uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "123076uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "123076uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "122484uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "122484uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "122484uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "122484uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "30712uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "30712uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "30712uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "30712uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "2883uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2883uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2883uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2883uscrt" - }, - { - "key": "validator", - "value": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n" - } - ] - } - ] - }, - { - "msg_index": 4, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "amount", - "value": "53uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "53uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "53uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "53uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq" - } - ] - } - ] - } - ], - "gas_wanted": "700000", - "gas_used": "52249", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "175000" - } - ], - "gas": "700000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ao+LQlEQpoGrlgxawetuFoShy2EIzhuD8UXYWOW8lQyU" - }, - "signature": "55aC95aowvdMRN3z2zSrJ76L6Fj+xhXJzkbdE5TNDMdtKjeaoocUPZNSXU3dYL2xd2tdld/Ws6DvoFSAPeS4CQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:57:40Z" - }, - { - "height": "818112", - "txhash": "57A2548189D39555F4FCB908248167DC10BED205627F782FF98E0498E017CE22", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"105570uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "105570uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17622", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgTXB5NN1QapVql9a+NspmOmE314iKF8t/GJBgEYVpOV" - }, - "signature": "tvt4MPqeb3DGla6LUK0Y+SJGlLqa2omZoc7Kq5abVKVaSu/ve3bMhRVjzFn9GxXKd2StgGVl+7aSjClcAw5luA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:06:11Z" - }, - { - "height": "818187", - "txhash": "50E9C5B73FF0EE6D44CA62E850D921A95BF2C6702357CD0D006906205980D06E", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"},{\"key\":\"amount\",\"value\":\"20917uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"20917uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"20917uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"20917uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"},{\"key\":\"amount\",\"value\":\"7642uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7642uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7642uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7642uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - }, - { - "key": "amount", - "value": "20917uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "20917uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "20917uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "20917uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - }, - { - "key": "amount", - "value": "7642uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7642uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7642uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7642uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26055", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fgycayhexapylj27k2rjjufdl7mngj7prvlemr", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8cwbCY7OMYkVkddME6jVd32bV6qVCaU4HchPXBMKqZD" - }, - "signature": "e7ZJVzWag/FxdhHs9zh4P6xZKazVmXJ0hdx+wr0l1MA8tsoxKFLmN5AM08/YzzfCACiY3flCnHGz7WT1mOWvnQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:13:27Z" - }, - { - "height": "818273", - "txhash": "722D16122B22462D0FBA8B525DF4D75EE1A435338AB142D6CB2B02054C41EF2C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"112998uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "112998uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17302", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkaYxG66o7Pl+gTAz/UlYedc4S1E2IH1mPs05tzZSLeP" - }, - "signature": "x63ot/tQr+kZEwYCjrZ3lXCb7+18YhU+wL91edIKyZchmC1xxguT9av39W9PweFGHu0l0kdCB62/WeMWav1cWw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:21:46Z" - }, - { - "height": "818325", - "txhash": "6AE69A6D07651C64FD7ADC974BD76798AE428B886FAA09A2B088533D733B88C5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"16uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"16uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"16uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"16uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "16uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "16uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "16uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "16uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "34998", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "r1G0XRps9PG815XgjPhs4HCBoE+Hx4NC0C8zuv4yUy8MQhXVCUpjbqllS+NP/I3gFlZTA9XB/s7TV5FXl7I4Rw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:26:49Z" - }, - { - "height": "818327", - "txhash": "DA46DB234897AF71B6736CFD04F7ACE77EBE073251D85BB78AB86AD6B5C25B50", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "30836", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "Fva8lFiDJjgy8IMURHjGjre1KZyu8WIqG7IWDr8X5udswMEHIFpPdZzfg8lKV8u4bbWOalk8dtSSStDBIK9jZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:27:00Z" - }, - { - "height": "818337", - "txhash": "894BB23CB1F29CB7ADD0851C409A14D753736D14CB3F772907B91557CAFC75B4", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya\"},{\"key\":\"amount\",\"value\":\"1260847uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1260847uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1260847uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1260847uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya" - }, - { - "key": "amount", - "value": "1260847uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1260847uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1260847uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1260847uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17629", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rxvnh0zfzp6tpandg75z4mcze7rkme0yt745ya", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5ImHK6DnacitckwuvdqKVfJutPKVgcgfwYVTrrk6G7l" - }, - "signature": "I4Yq9gXx481cBGzt2CjS60XpD0PitaEUtpG/D14FsRxJlCawBMLNLNoZId4ZNte/cXPUVpKMPyJa0xWgkZ/BFQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:27:58Z" - }, - { - "height": "818421", - "txhash": "37000D17E1F12876B4D5BA91787DF21A3FFEB8C02A449D76CC17C071FC0A58BB", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"341135uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "341135uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17418", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A81YZH4IlSs9EOu/CHph5TjGEm6YnZWZxTwS1Z8J3kvA" - }, - "signature": "AeX4KWBeZS/z2NHtiYtMpD3M3ypOiVkIwCCX11elhlsNVLIY+wxzFdLwFMfHgRt7fLE4qPzWUE4hI0ohyaGpTw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:36:06Z" - }, - { - "height": "818423", - "txhash": "0A361640AAD2EA31A3EF9EB684386B91E0250F6EE66130BA8971B5BEAF6E0304", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A3D0A3B2F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617756616C696461746F72436F6D6D697373696F6E", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut\"},{\"key\":\"amount\",\"value\":\"16910446uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"16910446uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"16910446uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"16910446uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut\"},{\"key\":\"amount\",\"value\":\"75743890uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"75743890uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"75743890uscrt\"}]},{\"type\":\"withdraw_commission\",\"attributes\":[{\"key\":\"amount\",\"value\":\"75743890uscrt\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut" - }, - { - "key": "amount", - "value": "16910446uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "16910446uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "16910446uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "16910446uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut" - }, - { - "key": "amount", - "value": "75743890uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "75743890uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "75743890uscrt" - } - ] - }, - { - "type": "withdraw_commission", - "attributes": [ - { - "key": "amount", - "value": "75743890uscrt" - } - ] - } - ] - } - ], - "gas_wanted": "28000", - "gas_used": "20495", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1nnt3t7ms82vf86jwq88zvwvzvm2mkhxxtevzut", - "validator_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawValidatorCommission", - "value": { - "validator_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "280" - } - ], - "gas": "28000" - }, - "signatures": [], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:36:17Z" - }, - { - "height": "818446", - "txhash": "0F8596E3ACB4DC57EDAFAD9E48202062B134DBE2AFCA8FA5FB804C27D821E9AD", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"19891813uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "19891813uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - ] - } - ] - } - ], - "gas_wanted": "18000", - "gas_used": "17073", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0", - "validator_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "180" - } - ], - "gas": "18000" - }, - "signatures": [], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:38:32Z" - }, - { - "height": "818709", - "txhash": "58622AE0B246506BC25390FB94FF1F38669BA72B0A4F72D7C0BB315249E6ADE4", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"},{\"key\":\"amount\",\"value\":\"2115454uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2115454uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2115454uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2115454uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - }, - { - "key": "amount", - "value": "2115454uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2115454uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2115454uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2115454uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17193", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1q2pxg25stq2ngk58dxtl55vhhtk6hd2cfq8060", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqD5eFEGy1Q0I++DQuHUikm073Hw048EJKs0GGIVnzTm" - }, - "signature": "z+fNildyOLjKT0fZxHAlbDCuKMEID/8P2fu5Nzuib2tGDXKFfCHne2/2L3XfBDqFph+rBXSljFUms+Lb+odB0g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:04:01Z" - }, - { - "height": "818951", - "txhash": "D09C6095E1DD467B8C5691A4380F686E57B3C06922C67C48AAB0D5F39858A388", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"29170638uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109579uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "29170638uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "109579uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25727", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A041LQS9UQ5L8FHaKcy9s1xP+OkYVSnOPSHHRGOiHET/" - }, - "signature": "0i27AGIVmrZc2bN6cgmmUZ4eAsV2v+/pJITp6Pl9Mj1ctkwEw/1OX43NZfUukNmTZHUJjxns2Mz0RsRDCGRDNA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:27:27Z" - }, - { - "height": "819104", - "txhash": "A5CB2F21B9CCA805592793117D805395048C7A06FF62DC0E517A251E0A30E1DF", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"amount\",\"value\":\"10244387uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10244387uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10244387uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10244387uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"amount\",\"value\":\"6232801uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6232801uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"6232801uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"6232801uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"amount\",\"value\":\"2213841uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2213841uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2213841uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2213841uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"amount\",\"value\":\"299444uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"299444uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"299444uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"299444uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "amount", - "value": "10244387uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10244387uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10244387uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "10244387uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "amount", - "value": "6232801uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6232801uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "6232801uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "6232801uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "amount", - "value": "2213841uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2213841uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2213841uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2213841uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "amount", - "value": "299444uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "299444uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "299444uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "299444uscrt" - }, - { - "key": "validator", - "value": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3" - } - ] - } - ] - } - ], - "gas_wanted": "560000", - "gas_used": "43130", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw", - "validator_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw", - "validator_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret13y3vjpxvq4xpk7ma57t727av240uvnk5zw23tw", - "validator_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "140000" - } - ], - "gas": "560000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvBi+EyaTNboUlwBI41SoJF2NoOiY59nJ3+HJANS9XNU" - }, - "signature": "CQku/NxZjsHk8g4a6p414AtcaBOd9EmwcKLRUrLJka5D+NIcygTsV8ahWeB8wpVMYpAemo0DZvvYl+WpRm47fw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:42:17Z" - }, - { - "height": "819131", - "txhash": "C06A929E5E5D908A571FD0433058FC66E33559A16311B52882D2F994DD01AD0D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"828202uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"450216uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"417510uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"275573uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"}]}]},{\"msg_index\":4,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"149579uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"}]}]},{\"msg_index\":5,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"74471uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"}]}]},{\"msg_index\":6,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"36658uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "828202uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "450216uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "417510uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "275573uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - ] - } - ] - }, - { - "msg_index": 4, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "149579uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - ] - } - ] - }, - { - "msg_index": 5, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "74471uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - ] - } - ] - }, - { - "msg_index": 6, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "36658uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - } - ], - "gas_wanted": "980000", - "gas_used": "69544", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "245000" - } - ], - "gas": "980000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Agp9foGVqXgrr1YWPDp2kyu8BXtEtMij/Mi0rGGYg3xZ" - }, - "signature": "9444DrYqkacQWjZ00ZxC6jaDIoRLW4+9yr50RTvStisEPUPd06BA2OQRc5sfsvzZvK+oujiw2JxDeLw4In5STA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:44:55Z" - }, - { - "height": "819162", - "txhash": "E35AFEA1BE29D57E2772801D984AAF4610C42E8F2515D983DB20303C0E5B4E8F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj\"},{\"key\":\"amount\",\"value\":\"110427uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"110427uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"110427uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"110427uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj" - }, - { - "key": "amount", - "value": "110427uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "110427uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "110427uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "110427uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17187", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dh77c5n4huzz0frv5td9ezxvr7y4uw58806uqj", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkfDg/4NESXZcbD+Sir6MnG0t7woAMLyufNGft0IWkh7" - }, - "signature": "VOfo8wn3FJIPllgWhwrhgFyG8LEXWlejJh1NIM/Qo4kT/g2NYpMZiOH2ZFx9gKmNRpY/8GgOsZMGX41SmnG0bQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:47:55Z" - }, - { - "height": "819268", - "txhash": "65F3B179899DB63306BF580B7A3DADFE12D8FF127227C72239C3BA8AB7BF2BFD", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8569uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8569uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17430", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1keB+SsP80yydZ5s6JbjkIBgdRxoHwoppVvPl5LB8gM" - }, - "signature": "VB81/2cd/frFYFtdS/tcHIUEPKw0J34/EaE0Qwbd9MNp6ISn10GqAqrwP+lSE+dwrtD60C/63GeM2S/zfWcteA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:58:12Z" - }, - { - "height": "819388", - "txhash": "7B791AF0DEB99FDC6C6ACFD47F39DDCDDDB61E14A8B64D4AE6767020E8C9D3B5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w\"},{\"key\":\"amount\",\"value\":\"2227938uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2227938uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2227938uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2227938uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w" - }, - { - "key": "amount", - "value": "2227938uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2227938uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2227938uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2227938uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17679", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1l5ufxqzhh7zedz7llf5xuyr8mz3mj75ggj6t0w", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9zO0fG0igMhdkwUqIHN5dQsT6Dd3WIVePKdicPJ4/ze" - }, - "signature": "Urxe1glKgj18Mt6iGo7f9Oka+EKChz8YXysNfAMCWetFg7BHkEdGC+B34OZjT+U4EHY62GD614y/cZqFS1nXZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:09:52Z" - }, - { - "height": "819599", - "txhash": "75A902D09C038F5DCA0D64CBA4D02C22CA1A78A3FF01FA7E19EFF351D220064F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1895336uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1895336uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17655", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwCsN/HEDR4GU4FJYSlJGJSVO0xvl0jiqXedT0XA49o7" - }, - "signature": "LsJuMl8DCnKF1z7JifQOPVL3Odq3xWvgkmltlULZx7IHCg0EGFiJTvrG2Yi4Sox6egtdVJ/4OjNaQD8FEpUmMg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:30:24Z" - }, - { - "height": "819821", - "txhash": "39758E4EBF17AF2A162DAC1DC274B15A736DFD7388434ED6D32A6F7B99DC5D43", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"223375uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"223375uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"223375uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"223375uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"212281uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"212281uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"212281uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"212281uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"amount\",\"value\":\"183660uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"183660uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"183660uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"183660uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "223375uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "223375uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "223375uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "223375uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "212281uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "212281uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "212281uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "212281uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "amount", - "value": "183660uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "183660uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "183660uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "183660uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "34761", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1hp2msfscywn40rc7fpzclc5ezuvezyjeuk0ljg", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A6TCTSRne12CMmkGVods3/8KlqEdiFGixV1/hN4cI/6E" - }, - "signature": "laT19ylpEQTjRlXTCo29hW+x+Y5v1Tu8/rJLgmTpD3o/K7YrHBu9oAnC6b6QKwcwK9Pm93lSiEdKGgxc1Ub1Cw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:52:00Z" - }, - { - "height": "819839", - "txhash": "CB40CBC59C9C72643C97A722369B4879E1E237E84974158923571158C005D06F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"188403uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "188403uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17324", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7MfJIDmTPJ+UE72izS5Vnn9a7TfZVLkEe+dHah7vdfw" - }, - "signature": "UVBzVHRBUmfjCGZb+OHLkkTxYIbiP5ELAi9r0aNOGiAFZ3eHx5AD1A0qfWmJB2+3Z0UXrjbqwZy+GtExDb/rFA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:53:45Z" - }, - { - "height": "819917", - "txhash": "81B92BAF6A110379AD5D8D2D6FC2B972C2EBB0A81B0201B851AA030AAEE1CE99", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"amount\",\"value\":\"8624173uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8624173uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8624173uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8624173uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"amount\",\"value\":\"3581925uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3581925uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3581925uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3581925uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"amount\",\"value\":\"254515uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"254515uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"254515uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"254515uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "amount", - "value": "8624173uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8624173uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8624173uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8624173uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "amount", - "value": "3581925uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3581925uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3581925uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3581925uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "amount", - "value": "254515uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "254515uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "254515uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "254515uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "35458", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Aqm4p014hu9wCnrSgROo8PYz1ucOWRngYrHyvjrJAhrW" - }, - "signature": "1A3y0PNk2KnXxAYCh+48AMCJkMWaXf17d55BWVtfResV23Al2VLsCf2XbrX0VsCO+/llGJrlalOYi2YdwruXcw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:01:21Z" - }, - { - "height": "819951", - "txhash": "DED92DA7E3EFE22F5908D05A4C01F87B0C60FE177053BD3737281B73CDB232E8", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1906125uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"222067uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1906125uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "222067uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26515", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "/nPA8nuHgyq79mKe6YYG6azj57+4S/O4AsVo2g3fPewJGHYlBQTtJDexxpDun+2KQgsdI4SZ+Xelpk3RaY0jcg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:04:39Z" - }, - { - "height": "820009", - "txhash": "3747FBB542FA8FC3F77BF2C5546F0A5C65622F5ECF8A8119321676261062D52F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"amount\",\"value\":\"259419uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"259419uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"259419uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"259419uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "amount", - "value": "259419uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "259419uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "259419uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "259419uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17098", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1f27a0325qsayrwvv7v5gr6wxe5txh9ktmrsm5c", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A/cYsy1HCthmugJyqSlcfvFv2sAEXwjvIR5QwN1UBrVM" - }, - "signature": "IWUB07vn/R+68oXuXmjnYbBStdJbBF/+RRezodvQ1O9Dp2eFpMML7rkzmZEMHG+curcLkmkK1w36EC/KaZPO/w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:10:17Z" - }, - { - "height": "820065", - "txhash": "6E778B9070746178D17ED5042401BE4EC75D77AF512236272B3CD3FFBCD51372", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"266221uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"242706uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "266221uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "242706uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26107", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7OEKK05flBOmsQpCbcRBTMXPwn2fKhc0tXz+sk8P5az" - }, - "signature": "MjhsaKYJmOwr2cJ2Cw0mMjxj8cSyOfg1jiPXYiJ9uhRNAkHbYUMB330xI8mlE9IT+P12Ra7bNMBrvZiSm1sPoQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:15:44Z" - }, - { - "height": "820177", - "txhash": "55933F2E1D8CDE2E91AB15B778D97E923C80040AB56F4B77F62FB76A05779D8F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"amount\",\"value\":\"365242uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"365242uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"365242uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"365242uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "amount", - "value": "365242uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "365242uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "365242uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "365242uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17397", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1gvtnm4jdvrknj4euxvdz08u5tnvut40rrdz6qd", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AsJto6m7mF6vY3xeItevPbsxISlPc08G3FYbWdLqtiXi" - }, - "signature": "II3bvjAiMh+9vcGqUFmuG/7kzM8M68IenZY49UbCrFY172IsXiDPX6AL/JrVsctkM/I1L/SOC6fO1vHKttfALg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:26:38Z" - }, - { - "height": "820226", - "txhash": "ED24E3FF519B874000C7AFCD0967904DDE648A502F692F0794D46950FDD81A8B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"103285uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "103285uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17008", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AiMjg80e3hns10wdUb/cFM3iWBYuu5GpW8sozw/UUZyq" - }, - "signature": "8913NAn2fVnsBcLQKghODRVlYCg0bNEeJWXsNUObB6oVHAe+Gl7Po3ZkSHjDJ/4exDcTC+4A+J8Ked1AumLCRA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:31:25Z" - }, - { - "height": "820226", - "txhash": "528E68EFF5EEE50D6BBA61905A063E5B02FA638AFEEAC71ED1F692AF15A06279", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p\"},{\"key\":\"amount\",\"value\":\"1715287uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1715287uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1715287uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1715287uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p" - }, - { - "key": "amount", - "value": "1715287uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1715287uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1715287uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1715287uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17657", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rpsp0s0wa8acrythsrlrp8zqkmzy9gm70qlx5p", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AhbTb0gqpLLPEFJDMR1lxdMHpFnS8pzuMLDHNkL/p1ew" - }, - "signature": "LbhbJj0C1CONndCmZqpFR59JT1Gqo8EXgIwees+m580FS1a4js16B+QW7mzgXvWUTdJivl97yMTq2/pBDM6xAQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:31:25Z" - }, - { - "height": "820437", - "txhash": "2CB4D7AB95919C1724EDA2AC4C5F5B1B88D736D2E82409FA16C2C72589D60D03", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"962996uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "962996uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17645", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzHeWEykCZkzY7V+IwoIz38+EdwdwkC8nXEwnQtB3qLA" - }, - "signature": "ifMgat9aJC9eut+JwEg3Rc35vfOZbz9ycVB/dbYl4KVxS/hGaMHJYClHYCoKcKpm7EPG4CB//9XnuGsuynEwDg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:51:59Z" - }, - { - "height": "820654", - "txhash": "F2890F06B96B5B6B7B26FD319873C0D85BE6ADFBE6EE41C4006820E6CB2F5088", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n\"},{\"key\":\"amount\",\"value\":\"5113259uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5113259uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5113259uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5113259uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n" - }, - { - "key": "amount", - "value": "5113259uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5113259uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5113259uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5113259uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17653", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7XNOH78OJUlxDmrmGOP+pc6AOINJwOfi4SZE6ci/OiZ" - }, - "signature": "Ttt52ypxfLyerMZSED3OjK59WdHLLcCP33/lSChDeLVn3ay8tzz5InIrHkC+ETMsvRzhbeYC85bt1auAo5uz3w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:13:07Z" - }, - { - "height": "820764", - "txhash": "5ACF99E9D093875B52675756D92C70BCA2599F6D9EF8D2C505FB89E7A0B8581D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"985675uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "985675uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17629", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnsJRjwrwtUPma7jRtc8ewrO7ciKJoWqrXOIVoidTG3r" - }, - "signature": "v20/ycS8gme2jQmKcQwwKolSLWWSU1DJMXwgbCb6xzISpldvG77bXjp9g8vkpRmNVK/tjmVcn3FDrlI5vyeLAQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:23:48Z" - }, - { - "height": "820779", - "txhash": "A4E4CB100658EF1A904C54C6E2569B51CEB39B13F32829CFF292C61E78EC31B1", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj\"},{\"key\":\"amount\",\"value\":\"203956uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"203956uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"203956uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"203956uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj" - }, - { - "key": "amount", - "value": "203956uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "203956uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "203956uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "203956uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "16899", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1vsc67993w9drn3kmdxzj857psdqzxj2sarlysj", - "validator_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1SWwUPsANHcviSO1Fkw1Mk+9yrVOGUd/kLwLXZIT7/A" - }, - "signature": "hP6uT/57ZQPatwywDnNEBCjEbSVerrdfjOa1490yugVSG8rgyZpkWXAVS7TpUMaSqrZWZ6JD5C5QID/CL1glgw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:25:16Z" - }, - { - "height": "820829", - "txhash": "9A6821916BE79E1D0AC8346DF64CA9179D8A2FAB51B4BF3EE9B97409D416B6C7", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"605664uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"524452uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "605664uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "524452uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26500", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlYICl7YMUrkRceOVO/EclSVSTMWsPRr1SczirfIPrD1" - }, - "signature": "YneM6jWBkeV26RBbDi0sHUoPAvFspDmQ9V2BlEdG05YODavDA9zVg5X2+uF1uldc5Ole9VTGnoEH34MKmmsEaA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:30:08Z" - }, - { - "height": "821021", - "txhash": "4FD2623A2C739B55C1276E094ED54FBCEADCFB6C4F08E710CF7198143544A99A", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"},{\"key\":\"amount\",\"value\":\"1966417uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1966417uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1966417uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1966417uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - }, - { - "key": "amount", - "value": "1966417uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1966417uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1966417uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1966417uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17646", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1uuczyd953gtt59v8qv75m4tyeqmjhw6qjgdlfh", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwcMKUFPIncwUS6x8zAhTRo6wtu8cQtSiWaNORLzt7HQ" - }, - "signature": "nwwWjC+f4DV4oVpOFEQZqxQd3aAV0x3Yuls3Py44VVZCVbW1EjoS4AbOhDP6MaXJyqTuh0BNzO+UmCR+AyKxuQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:48:48Z" - }, - { - "height": "821032", - "txhash": "0C6B06DD04E1D179DDFF680E555872C6E625D51AFB22DC59BE975EDF9EB599F2", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"99163uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "99163uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17608", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkKj5/s7jEZoDtXecfsIN6JfbhYK8PBS+lMql1o6rrvb" - }, - "signature": "NZAMpXkDOsBkUjw6rCCdJNC7PcEolP7qP3sFJxEJgS4uoot9P2IzMPeVSH54oIkRjaN+ABANEnr1ZQJ4GCKQeQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:49:52Z" - }, - { - "height": "821110", - "txhash": "6233ABBAA9E04417DCC59D40CA4D98013C0D099C5F8A106AF15B73D89F573923", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"},{\"key\":\"amount\",\"value\":\"261uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"261uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"261uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"261uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"},{\"key\":\"amount\",\"value\":\"174uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"174uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"174uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"174uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - }, - { - "key": "amount", - "value": "261uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "261uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "261uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "261uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - }, - { - "key": "amount", - "value": "174uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "174uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "174uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "174uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26500", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1uzaugv3npa6a9e9fhr46qecxjcwj9msjc48qld", - "validator_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AjxkClogWGpRvJc8o6SOPV9Un0JRgs0lyeWxCYqRhz8V" - }, - "signature": "568dZ8w2DOOKHzQ0o2sX6a10st7R27hW/EilS0V+p74XSiyLJiT0Yak7OpJU+5jLUzH/dy10DDfFhoHlZDx3QA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:57:27Z" - }, - { - "height": "821206", - "txhash": "4B73CB3AB9E5A1899DC4BF1D1C6A24BB99297B2B8DF35BA141F49DA5C8E2EFC3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"22235uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "22235uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17627", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgvAzkGGzpG1URuSKcm8+HEncDOli6/IBkn3g5B9cikM" - }, - "signature": "akEECdRFtgSHTtQV4ekxgxvruXI4s/+jIlh63Q8hI+lYC/n0RLm689FU3OAHhyjsl39C2faPP2LF5YP+7SawAQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:06:47Z" - }, - { - "height": "821243", - "txhash": "6396281AFB60E620874707BA5561FF15AFC4BDFFDFFBCCC390BD1BEA80B49B63", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"amount\",\"value\":\"2868687uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2868687uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2868687uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2868687uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"amount\",\"value\":\"104754uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"104754uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"104754uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"104754uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "amount", - "value": "2868687uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2868687uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2868687uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2868687uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "amount", - "value": "104754uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "104754uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "104754uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "104754uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25915", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ArZ3TQNEhJKZtF02McL9LbbcRgX+v7wu4d9PB/UXRW7K" - }, - "signature": "RFx5sRTd+nAdA8nkVO3ueq+Cec/l59YASyZQBkJ2X/k3FFNLIE+7m3jy64DWKGLuRmK+AVdLgx3LHzzN/U79kA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:10:24Z" - }, - { - "height": "821274", - "txhash": "6E44FCA4838799BA8B054C85B6209FCED27910E6B3A14B0CEFD360CC21205B56", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9222880uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9222880uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "As7ay+/+ZN0RmX65+MraBh+kNbteFhBRwI6pe1RDZaLr" - }, - "signature": "68kdJVHfyjdBiYL/g+734u1RRbJjhrJgFe4ZyWz4qVNbcUvtO8TJm+kiGznXiIbUrhpDlJy5pA958nLEM/l/HA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:13:24Z" - }, - { - "height": "821627", - "txhash": "90DCA7F8C7AA2D2B9EA3E489A60AF38ABD1648164759309D76C89911590346A4", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1373149uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1373149uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1373149uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1373149uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1185610uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1185610uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1185610uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1185610uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"491210uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"491210uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"491210uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"491210uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1373149uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1373149uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1373149uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1373149uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1185610uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1185610uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1185610uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1185610uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "491210uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "491210uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "491210uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "491210uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - } - ], - "gas_wanted": "100000", - "gas_used": "34360", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "25000" - } - ], - "gas": "100000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7INSMPTd5YKeeu87T62osFa2LiaqYIEqS4jQT3jr501" - }, - "signature": "OhWk+gbOBuPYYe6Tycas5N63HP7a4uzMxF+PtQbKbg4SEbSTUlLwhzBiQqdaWJdKSgogQXs2lC1FsQtlX65f9w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:47:45Z" - }, - { - "height": "821637", - "txhash": "2B88079CFB8F0AD72A3036929A358422595E15BE166A70C008A148BE4FE6ED84", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1852uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1425uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1763uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1852uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1425uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1763uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - } - ], - "gas_wanted": "40000", - "gas_used": "34540", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "10000" - } - ], - "gas": "40000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7INSMPTd5YKeeu87T62osFa2LiaqYIEqS4jQT3jr501" - }, - "signature": "GCpt7SjogbRcBmn+8JamxbO/EsJ3marnWxBRfy23pncPkKBUZIka6J35OhIT5CrYFV1JpO5kigDydmOqk8gjkQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:48:43Z" - }, - { - "height": "821649", - "txhash": "1ADF4CDAF960D8FD2FBE3D3F352924A3CED8D2EA97D7649E088D2ADA98D5A0E0", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1806uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1806uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1806uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1806uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1710uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1710uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1710uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1710uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1666uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1666uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1666uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1666uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1806uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1806uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1806uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1806uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1710uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1710uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1710uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1710uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1666uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1666uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1666uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1666uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - } - ], - "gas_wanted": "35000", - "gas_used": "34526", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "8750" - } - ], - "gas": "35000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7INSMPTd5YKeeu87T62osFa2LiaqYIEqS4jQT3jr501" - }, - "signature": "JyxmvaBxhwx4TVl3l1LdLL3KtW1wYUJaPyUlQXxcFaNNygDO3boug4uZGB3ih1ZkEuhmu6yY7uGkkl6JWw7HdA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:49:53Z" - }, - { - "height": "821915", - "txhash": "24D7AADA28A98689648D4E1A64AFA02127DAE259112BCB7355F4CF4D3048FB5D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"346888811uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"358116uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "346888811uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "358116uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25994", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l", - "validator_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmrrmwtI5tAzmk706iKm3JP65eQuJkL01jPk5YSx1ION" - }, - "signature": "LXofvbD4TXgqq3bw7Wftrznhmga9xH2zQTLCiNhik/V6jHrvxe0DTv4LW5+g2cOW/5hSdCRSd6+Z8EdPrEwAwg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:15:45Z" - }, - { - "height": "821984", - "txhash": "9BC2F1CA6F79DCE9EE79B4C5BEEC0B51D8C1DABE4BE7B738210F221D08C88FC2", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4\"},{\"key\":\"amount\",\"value\":\"1011238uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1011238uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1011238uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1011238uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4" - }, - { - "key": "amount", - "value": "1011238uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1011238uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1011238uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1011238uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17390", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret12t72cj07vw3r6r5qekj8wfp6nfesy0t6vsvej4", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8x2cKZvzXt5Lt7R6X9ZFn4tfB/ZtMWB73lCgo88ieHp" - }, - "signature": "FoFrwTGKY8HhgglzQfYKepN3o7OoNMFBnH6EUTw2f3kRNWLPxA+m4mglGud+kKIqZyVrVmu8jEhcNAxjheS/Jg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:22:29Z" - }, - { - "height": "821991", - "txhash": "B5E2B505AA5A1701048404265FF30EA108B2BF7475B5B161B9DA893C898E260F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"293101uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "293101uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17420", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqTbtlz+wAMjPUHBVRZ/JbGjda2+unfef7A7VtTcZT+p" - }, - "signature": "58UK6MbqjKgCIxnJihuuRzGnyzMaPybod5wUqv33aN08s15a8gHNuNtQ3uQsm3s9MP1lYoRCVvhhrW6VTZpMmw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:23:10Z" - }, - { - "height": "822082", - "txhash": "8CA479162599BA8BC642071F902CD564032D5D0B07C56D37668F2FBD8B24B551", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq\"},{\"key\":\"amount\",\"value\":\"107071uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"107071uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"107071uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"107071uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq" - }, - { - "key": "amount", - "value": "107071uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "107071uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "107071uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "107071uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17621", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rs96hwtnxdw4729ray4cmrrwwra7evwqzm43zq", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+WE0HU1BKuXecOaq2TDROnwXLW6E6kePJAbNLS6yLzi" - }, - "signature": "awJNypR8KLccTKtAr/ZLmvzACBsmuaB8F5mQn0vzbNV710wmvzXiePxTsGXTMVxLfqnS5E3ic0GrEuXxVyV/dg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:32:05Z" - }, - { - "height": "822095", - "txhash": "217D6D41A19485A8AF9CEEB27233587036C884599C1DB40FABFAF8959D033310", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"80758uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "80758uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17632", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+8uBOyuMf7GGej/EP+9MudqJrxbT/vz8BSFm1BYDgdB" - }, - "signature": "9yxUQ11vHMeGu8hTrNEMFFEyb5e2oAOmiFG2Z1zwcmNXEi4L6S15aDk+X3YQBtxI6OHVTFCZhInu2/X8Xd+3YQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:33:21Z" - }, - { - "height": "822370", - "txhash": "03DC1C44A0263F2DFD31AD7CC476AD578088F98587B96247EBE91DE0CE85D2F6", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"42312403uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42312403uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42312403uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"42312403uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"14668494uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14668494uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14668494uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"14668494uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"4283232uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4283232uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4283232uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4283232uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"2422958uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2422958uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"2422958uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"2422958uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]},{\"msg_index\":4,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"78645uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"78645uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"78645uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"78645uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"}]}]},{\"msg_index\":5,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "42312403uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42312403uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42312403uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "42312403uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "14668494uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14668494uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14668494uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "14668494uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "4283232uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4283232uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4283232uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4283232uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "2422958uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2422958uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "2422958uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "2422958uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - }, - { - "msg_index": 4, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "78645uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "78645uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "78645uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "78645uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - ] - } - ] - }, - { - "msg_index": 5, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54" - } - ] - } - ] - } - ], - "gas_wanted": "840000", - "gas_used": "61080", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dk6xslqaklkh4u85t64yskdecq7lxngkt26lpx", - "validator_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "210000" - } - ], - "gas": "840000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Am4AX2CvZnTz1fJDKzJQsojg3buXOBe6l+oGw8S7MsEh" - }, - "signature": "wXKJOn5oybHCzjOvKhEMojsrwXR3eY/CnFetszK2iqsINUSi1oZ0okOxWtXtt+IRGtns+O1jqFB+Kmp85ZzzFA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:00:05Z" - }, - { - "height": "822492", - "txhash": "43B8B80FD1C014015C16CCF377F66FBEAC9420D9486BD740BF74B9C7C05413DE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"624625uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "624625uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17510", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx", - "validator_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5x6w6Kp2L5DjDuJ98rCDcNUA6ZQU0mamQC2TiKN0fdo" - }, - "signature": "reb1CBmRMS+HkBnBnjcn6yVOEYWhfqNGg+gFY7/fk88UC/aya22n8L2+0b39OsTIizVoasJxHtWBhJnWSxtB3g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:11:57Z" - }, - { - "height": "822543", - "txhash": "5C75C4B1D6D1F6923B54D1BD910F42796D1135CF711D72F779E48055508254AE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"},{\"key\":\"amount\",\"value\":\"146044uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146044uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"146044uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"146044uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"},{\"key\":\"amount\",\"value\":\"93239uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"93239uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"93239uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"93239uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - }, - { - "key": "amount", - "value": "146044uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146044uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "146044uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "146044uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - }, - { - "key": "amount", - "value": "93239uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "93239uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "93239uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "93239uscrt" - }, - { - "key": "validator", - "value": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25780", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh", - "validator_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ai9Sx/iOezuC2PaBAR01cVUL7euNJdARWiXMN81izOz5" - }, - "signature": "Ys4FLbe8AbWVvsCeR3GUuePUEsVRQlMmCuSPfN+zqMgbKTmwnNpWnLc7Ts0p8MqlJvdW+5/fAceKHAF6olPxow==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:16:55Z" - }, - { - "height": "822796", - "txhash": "B9E4C860AD7D91F0D96E79F1344A48209C3DDD73B21F1255E7ACDEEC6EAFBDC3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"142524uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "142524uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17211", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2wKAoz6HVWJsdN8Bw5NSsmrbtXCDdNx1mslPwF+D/+i" - }, - "signature": "HNXY+T6geXtl7y6iIGpE4i4xPX9lHddkuCJygirJuGtqhnjzvtvNoRH8KJL0HP5Ux6CtFDzSh69H8OTkLfSQwQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:41:33Z" - }, - { - "height": "822861", - "txhash": "8B915D17985ED67F378B688F194F7EFD4411C62F551D59A846A76B78E5E819C8", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5\"},{\"key\":\"amount\",\"value\":\"1533639uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1533639uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1533639uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1533639uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5" - }, - { - "key": "amount", - "value": "1533639uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1533639uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1533639uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1533639uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17292", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1x9ce2npqdtgerv9d68ffdl2e7f9d0y23zupug5", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A90L7MclXcLgKdLtdqa9/Y7T/4zd6zfRYyKO2bmeNPjM" - }, - "signature": "4m3xoGE6gnFavR4Tcsd+/UxRuFcmpfGxYFw04t6j2AQHZ/AGaj8+6RQYHNilCkj3OG9xVOcEBzguTt8jEhPHLQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:47:53Z" - }, - { - "height": "823016", - "txhash": "AEDB4D7C6A9A2853425607FA33A656DD4F12D64CAC148F942BF931171460D588", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1947562uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"226952uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1947562uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "226952uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26277", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "Uw5UgG7MOQFcA2hQNGCZ5hKeJpW+WZv2/tV6eE84QGdt+0JKt9aQK4q0X+c/M2MDZBtYnMX7UhZrHEd0SEut2w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:02:58Z" - }, - { - "height": "823042", - "txhash": "BDC0D4F937BBBD5BC2A7A63E304DB9F52F9BF2C0845C1C2A166CF89F30A3A2B8", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va\"},{\"key\":\"amount\",\"value\":\"764399uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"764399uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"764399uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"764399uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va" - }, - { - "key": "amount", - "value": "764399uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "764399uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "764399uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "764399uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "200000", - "gas_used": "17322", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1gp5err9ragl7xvr5zkyl6daggtv7d605j999va", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "50000" - } - ], - "gas": "200000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ay+MxyzgLeV6LScQoY8nJZpJd5pX0C8vAv65djUkkfCJ" - }, - "signature": "x0/xnBCHtlF/1YW1h8SUfQyddFpAM77Cty2Xu0l9xsIosyItsP9zRRHSLMODix3sXir+EvbE+LwE3vTep/6kfA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:05:30Z" - }, - { - "height": "823059", - "txhash": "39DD7E00A9854C7DB1C3D11F167C08130FED982565B1F8A8F47EB16148A8CC10", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"779690uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "779690uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17623", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ao+3K1YPQfQXNHaifKJMIesq7fJql3fHBJmQoAg5NMf9" - }, - "signature": "T2+2FKnm5EE+8EAqvY83ZXqvs0FXCbE07DJn8wC0Maw9H0NAB/VzJDK0ROf+SXBkacMP9Ajiwf89VceTtZCyAw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:07:09Z" - }, - { - "height": "823062", - "txhash": "6495CC59B27A079A8746CF415DECCAB275B3B0B18D70B602EAF25B69DBE302C1", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"},{\"key\":\"amount\",\"value\":\"5349370uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5349370uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5349370uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5349370uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"},{\"key\":\"amount\",\"value\":\"647809uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"647809uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"647809uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"647809uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - }, - { - "key": "amount", - "value": "5349370uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5349370uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5349370uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5349370uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - }, - { - "key": "amount", - "value": "647809uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "647809uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "647809uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "647809uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26465", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1cccweufta8gzmt8pr0naz889jkpcr4xpre53xc", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqjZXHPKZft8N2cAMT/9QYWKjzjd5nVEIPv8iDfeNjS/" - }, - "signature": "dcs5LCXSc7Amm1FQFyTo1qXbMlKu2paQm6lP4enZo6BnktOP+sbdk9s7zHTlKha+L9yU6VVJ+RIkkNZ3UTAmzg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:07:27Z" - }, - { - "height": "823112", - "txhash": "1C5850BC41854F078C9A2A121C82AFC46065B86F4CFE0994C0B6ACC1BEBA263B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9998uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9998uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17292", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8klD+BeiCtmJ4ihzavm7Dp4ZtcwiR+hIs+/Lfl7HhG7" - }, - "signature": "B/AWqDayjgslC91UrKinRZtqXVb5ZganuIOy2SqzBd1rD6MOJg9IEkf4zW1yeYsbSqIRAvAylQzBxOQNVtyyEA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:12:20Z" - }, - { - "height": "823123", - "txhash": "C67785DB93D7DB811A3331F5E48C452595A7E78192355C35CA16DB4D28BA8E97", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"amount\",\"value\":\"66505uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66505uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"66505uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"66505uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"amount\",\"value\":\"18776uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18776uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"18776uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"18776uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"amount\",\"value\":\"10642uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10642uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10642uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10642uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"amount\",\"value\":\"8979uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8979uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8979uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8979uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "amount", - "value": "66505uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66505uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "66505uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "66505uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "amount", - "value": "18776uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18776uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "18776uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "18776uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "amount", - "value": "10642uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10642uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10642uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "10642uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "amount", - "value": "8979uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8979uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8979uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8979uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - ] - } - ] - } - ], - "gas_wanted": "560000", - "gas_used": "43587", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e", - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e", - "validator_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1268ahm2rss3fn4jfuyrnuntlzrcl3kzkum7c5e", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "140000" - } - ], - "gas": "560000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+8ONUap4tcgX02cVkDfGgDVlOrMiPtJ23WcmYPDSVF1" - }, - "signature": "pusUHDe6VHvBNhBKCAdab85PMpUpvr4Zj8ED6lGjxRdk42KECYz3kOGNhK7BhiN7CSKvd/5YEQMmn4Hx2+Ry8A==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:13:25Z" - }, - { - "height": "823200", - "txhash": "6C93D9388147D1D184C69D9910E905E487E0B15F97B634B71479EA6EA8FD322C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7440079uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3872349uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7440079uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3872349uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26658", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3/CL9KEWLUIGf7SQrqAxMVXdxfrCpUNrJgB6uMBP3YH" - }, - "signature": "Y9Mb/EzuUCIWr9/ob/cHgYzPHWZVxmlFE+iwigZKdJkjdUit4YXAY4Nx9x/pwV4hwwZ3BLk6Wa2u9epLJ2g1wg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:20:54Z" - }, - { - "height": "823249", - "txhash": "EBAF8AB90E2507D440C3DB28349E453E186C0AAC803BC1057A570AFE28B68267", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y\"},{\"key\":\"amount\",\"value\":\"101143597uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101143597uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"101143597uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"101143597uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y" - }, - { - "key": "amount", - "value": "101143597uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101143597uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "101143597uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "101143597uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17362", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret13ee7vr5vzltp8kj5algxf25ap4ykjecymdty2y", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AjCwe6QjI0A6Gk7EsPzHVqv4vKHEcyUUNgi6T9Wo0JGf" - }, - "signature": "7cJR98wnyH536noKsDzDVaA6c4CGURpt38I+seg450x48S9r+eywgWQh+N7o/zVlIHSlZWzmZQsKinuoAOQG+g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:25:41Z" - }, - { - "height": "823404", - "txhash": "8AC186E3D09DF0DB9A4BD71A36AEAB0E51A10582A69E41FD5CDE3E901A10D3C5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"686uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "686uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17379", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9e6CRZnEYzaDWBvI61VuZsaXNu86B4xLaQ1zEQxn8PP" - }, - "signature": "G5KTpyWAKeJSv2zVKTTQ6JQAkf5KMxemjAKOOhYAT5BFMPlNJZemshvYdzlpkutn3b1lgJSLw0UMp83GH/3NgA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:40:45Z" - } - ] -} \ No newline at end of file diff --git a/tests/json_examples/MsgWithdrawValidatorCommission.data.json b/tests/json_examples/MsgWithdrawValidatorCommission.data.json deleted file mode 100644 index 21c543a..0000000 --- a/tests/json_examples/MsgWithdrawValidatorCommission.data.json +++ /dev/null @@ -1,8738 +0,0 @@ -{ - "total_count": "64920", - "count": "100", - "page_number": "1", - "page_total": "65", - "limit": "1000", - "txs": [ - { - "height": "815865", - "txhash": "3CE02C48928DB2BE424F76CC0D8587A420809F545E28BFE033914A75BCEAB14D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"195450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"195450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "195450uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "195450uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17219", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV" - }, - "signature": "Pk25tcFxrc3oKYtv6E5B/LY7+7DrTY3XlXpUFMV+CW4GAlVQVuGJZmATHr+67I1rADjfSybTcaFZB/dWD2AARA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:29:32Z" - }, - { - "height": "815901", - "txhash": "AB61E376D7AA3FC46DAEAAC9A38BA967E7DBF89FABE50443F0E5F2E69A59D074", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3775913uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3775913uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3775913uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3775913uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17453", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1cx0095t6c8ssp98mvqvdf3mcv370nhhc073cnl", - "validator_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkDQHtllM6zabHIaU/pqlSsHxvOtyB54tqE93N8+kKoT" - }, - "signature": "B8EITZYIj+marVbMCNV3g4aIVCfTzY+g/mvpQRLcGEE25ouEdQRuSVhRwEey4Nr5ITYqrmhMUf84uoJzfXVTkg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:33:00Z" - }, - { - "height": "815941", - "txhash": "48CA934CBB5EA7823D0E708B8A10EA53ECBDD889C3A9EEA40AFBE0158ED5B864", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"236921uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"236921uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "236921uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "236921uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17618", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1dq4spt8q9r9qz9asjk00whdqdfy90nxyzr3sv3", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ArxlO4y7DCrgghG/p+WhNRXeZrcKLokzGWvvqExlJffy" - }, - "signature": "vu7YasAT/Nz+pc1msp1OG8jsaMCDruH71UbvAYkBZBkIYMxlvGfPGMD2fZD+ikyYHo2VB+Vijkh4A8bkm599DA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:36:50Z" - }, - { - "height": "815985", - "txhash": "154DB3B1982E42D24276F87565177C0D74DA9420618EAEDA085110EA49DEFD5B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"125530uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"125530uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19656uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"19656uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "125530uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "125530uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19656uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "19656uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25717", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1rc8rn83wl57ngzu9aa9z4ucmvm4ydgeqkkkgaq", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AoJ10FUbSfZ8PvZhRquuizdu4c5UW35y4m3nf/0uuBcs" - }, - "signature": "korOUlWsUdDlzMemsLqhzvNIPpezwN3oXYRIMfHoD5AvLS0JBurAk0SleLCZbeEibJM/a0dGbcJYLrTz9tpysg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:41:02Z" - }, - { - "height": "816060", - "txhash": "4863582692E3A141A28089AFC064DA1928D50CE90021F04DD198F4BAF1651B6B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"76441uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"76441uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"27200uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"27200uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "76441uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "76441uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "27200uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "27200uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26488", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret178nmjxpqyw384ppzc20xkuyp45cklww4yh4taf", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApPJcRFy0cQDv5WBb9r7MaSfQYkObMx9LVd8+T/EUZYW" - }, - "signature": "J1zZ9lCSfjf4X3Jpbv/z7lo12VwVUJDqQI5RpN1uvGIDXlvFKfYZydOYarxtTR9L6xyBVYNUyR0qszLx3TC5zg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:48:13Z" - }, - { - "height": "816101", - "txhash": "07DE43F48DFC0A716867EE35C8D1DB57C4F30D7F1C938C90FB12F1A4535E4CE3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1022795uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1022795uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1022795uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1022795uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17654", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret12c8n2gz5jg4f70cvutunngvtpqagcgzkkcc2xn", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2GXDOIkDJ1ki8TLZliRppevZOFUuYJOw3U2HuMvjpaq" - }, - "signature": "JbrI5ilaBicPVUWlTlsVQcjGmZYuuVkCtTTPSr1ttIo7oeAer7nRstpp3SC2BevKk3xHhvObEcBPZPmP3I9ckQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T18:52:09Z" - }, - { - "height": "816215", - "txhash": "1B710CA3795525EC25F60E54F57E0FA958EA3CCEDB2B1D30A8300A6ECA2A116C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"14872386uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"14872386uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9338937uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9338937uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3106862uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3106862uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "14872386uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "14872386uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9338937uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9338937uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3106862uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3106862uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "35057", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "7BZK9Y6vorpirW2zS/7/xXIf3As9FQq6LPQd3Tg0xYttfmwkr3oVogAm9jLbiiyey7+gZEp+PfOHm9iTVRMiYQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T19:03:05Z" - }, - { - "height": "816666", - "txhash": "8E176C43CAF55FA3AC54E74A318387603701F459ACA66E9829515BBE5A89D646", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4344uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4344uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4344uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4344uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17439", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1l39gmyrqp3sdvuuuatl6y9695qt3smp8v36zq8", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8AkVgPvDBgRdyGgp1vpOWEcY0J1m4ELBOupfCHMANaj" - }, - "signature": "jEUMtEFR0HtrRqRESl0g/xCkCLCz4dcyw4Ep7MVAgnQyhZlYO3wLVetAe/26gEn07UKQPxglIYofAAfVWD9MdA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T19:46:27Z" - }, - { - "height": "816864", - "txhash": "2291478518DBA647DF77C8E1A8595A724EF8891580D64B4371176BB0CB7B8983", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"354973uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"354973uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "354973uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "354973uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17631", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1xyggw4uexfzxjuqqmemtjptvty8dch0gynv0vt", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApnXFSe1xsW5ZmsbizcFr8UEzUTlHR9SNoZWVhhDdNkS" - }, - "signature": "Gv30jb2+d6q5O97ogTg/khffyFWjqkwVxshb4f793awqaerl15fLD9EPrd3DJ/a8PqMLy0FlQpgrMF0ubknXNA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:05:32Z" - }, - { - "height": "817095", - "txhash": "E8346DC7D7C82B678E060FD0F2DE2E0F074475B95F32D6E3C6709856C76B104D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"240112uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"240112uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"4411uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"4411uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "240112uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "240112uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "4411uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "4411uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25544", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret197rmj4p87hjh7mxrmwsrk99r5xdzjdxse486f7", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AhBOZ2N7tnFBb4hk/EoJyPgrm6w53IRfRKCb90COjcpF" - }, - "signature": "n2fxxS1kHfbkNjPOD+tQqRS8gsJYwYAXC5NHCcVO2ZhW279+lcvVKiY5fCjy+N1exVrCoebP8RDgfmsHhKRCTw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:27:51Z" - }, - { - "height": "817135", - "txhash": "08877BFC817775832DCF8FB054BF595412B67FDB4753F0871FB5B02F5FD0ECF5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7412uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7412uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3016uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3016uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7412uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7412uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3016uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3016uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25657", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6", - "validator_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z4w62ck7yykalqum2jx48tej3a9f525uwuv5s6", - "validator_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApF0zog1oj/26gTv6zSwD33/mO0LGWr8e/cz51va9hYs" - }, - "signature": "FGkG4hrFx276qQLCoc6hb7HKdw0vEx8df9R03wxF9YgDt8khABw9U/uLBksxJ4fYBYIRst3ZR3sg7ntNrK/5ow==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:31:42Z" - }, - { - "height": "817287", - "txhash": "EE0AE754164F72256C6452B33A5878E2AE7A717BC2FA962AF3355D2665E0DBE7", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"10uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"10uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "10uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "10uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17644", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "S/9Oi4HcFzirELK9ev/VVES/UfWx1jHMgItvxyveUF5NXjoz5J9bWOSG8B7oO7nI3Ek7b+T3RGYbbvxfpsXlKg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:46:23Z" - }, - { - "height": "817298", - "txhash": "17E42A4720D1065BD4C094192B98B3988DBEA1E5093FA20CC68B5962211E0169", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3198923uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3198923uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"387951uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"387951uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3198923uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3198923uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "387951uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "387951uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26393", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "W3xP9s9HNerWVs1wD6xgmKhBDD//rsWJ7zrBOORqaRhhCmrCd+uf9Q5Sza+p/lq8UKFwcNS1WXajflKz2Gq2AQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:47:27Z" - }, - { - "height": "817329", - "txhash": "3AE55BFE25B02A0839D6B7C8686A59B576BB4B635BDF8B27AE34A249F5CE3E02", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"108058uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"108058uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "108058uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "108058uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17301", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret195ku903dayyk0nfxrt6j3f9dkv3rald4md35v9", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzzYkRlYwxXMlwp6P+F2b7RHzhTki1ZquBTWmpU3mMeT" - }, - "signature": "ApwLkyIH3vcQVSkFOUIB/ndgDgG60aLp6Dv04Da/BAZ/RYmv0UFcgA3sREfihbqH8l3m8I/f6EP7PuRNzZP60Q==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:50:27Z" - }, - { - "height": "817346", - "txhash": "C8011D472A6453E4C1F6C0D6B364153BABAAEE619543586CB7AD7E8A500E80FF", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109435uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109435uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"42600uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"42600uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22450uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"22450uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"859uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"859uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109435uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "109435uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "42600uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "42600uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22450uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "22450uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "859uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "859uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "560000", - "gas_used": "44000", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret10gugt0k6u65svce3hqmdukdejtrjpgrdry78tt", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "140000" - } - ], - "gas": "560000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlV1Xd+N+f/dYmepywqwKVtQOsBOYkC1xYlT211QN34N" - }, - "signature": "/Cz+mLWhBlRqRYiKrPolUM67NkLSNY7sRLQxVdvIMD4zsbn0ZiF/+xqE3ABqp9Z0cDOSaNUV2kocADGNQuN8OA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:52:06Z" - }, - { - "height": "817427", - "txhash": "83EF6E0DB4744726186EA751FEA86634191888BA6466B276732C5BB7E2330D12", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"258523uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"258523uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "258523uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "258523uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17629", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1kk0upzwh0xvkwgvclva604s4sx7nnswzaczlzp", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3Nl6Zg3+ZUY/OKqP4FpQCMVVWACLAU08ViA9LgyirwT" - }, - "signature": "rw6enY1IQgpQny5Buoccos0k1v6oTbiPuvAjGlU//tQrqkbGrUSIectlWWQUkeh2SWtJDxiZ2Kh990yRhgTEVQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T20:59:55Z" - }, - { - "height": "817579", - "txhash": "BA753CD79B350246FBC19DE79CB1CCDD72164AB9E63E0DCFC1D50A32B8AF1CB0", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"380769uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"380769uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "380769uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "380769uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17476", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17f00p73j3sdv7yk6jrgg89zw8n0r7jkscte2x3", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwS01tiNzgGg0Am+zilX7SeuWbNqMqyJDDtYEnEedDsV" - }, - "signature": "TYykzR4dFUOVaZwNyhRfc2Om5B+tMh9KRe9pkJ5o6gJfqWlRrF/iy60OrOsCQODROZz+RljXPRgDmeENOKRVow==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:14:37Z" - }, - { - "height": "817746", - "txhash": "4533A91267F8DF446D61577E66290E98A5A314D630DA285C4F75139FB54FA454", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7997735uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7997735uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7997735uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7997735uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17445", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1tn7j54t09xkjfr09a7du45yaayuk4kpm8cup9f", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "42000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkX77ZFZSqWjgtb7dCfUdTAzQeOoxNgbdh3mNEZIH9DU" - }, - "signature": "1FXoVoT4Kdlv2ecBZcPgc37Dx5AjaK89f2UrYu06hucb9zuvgwwblQGxHQJY9MtH728cym7P1sDDES9scg0dJg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:30:47Z" - }, - { - "height": "817837", - "txhash": "4D307BD97D532FCB16ADC9693EC1426AA3A2EABA6AA4226FD9B917E399377702", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8031142uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8031142uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"5330791uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"5330791uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3932805uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3932805uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8031142uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8031142uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "5330791uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "5330791uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3932805uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3932805uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "35200", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AvcOL2U9hIxhiOFXI22USQjVp8OfYsFxWxrc4OHYf+6X" - }, - "signature": "4671ViinfmFdEc3dDVY8rjedv1GnXbdCpSpWrVYDfKI789KTX8qo2W3z0kmxaUvsBahpNAe8j+9N+4RS0B8pzA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:39:35Z" - }, - { - "height": "818009", - "txhash": "BB3C9CFAEB6D644A5656A7108BCBF2AE2BBC2D9DD1D0E77426218638C941CE28", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7871uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7871uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7871uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7871uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17207", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fqzy9w7mk6vh02fjhxv7zsnh3ln56a5l5ec4t9", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "ApuDFD+syK87hgb2tN/ez/jDUewL1DgsYM34ObWearOD" - }, - "signature": "sFze8Fz8waD3fDog1wcrkln/0zTuLYODtKlu/2SfdnNu17gsrqI7YlnOCwdBYrs7WE3HkXgPgTLHOOHRKx5e2g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T21:56:13Z" - }, - { - "height": "818112", - "txhash": "57A2548189D39555F4FCB908248167DC10BED205627F782FF98E0498E017CE22", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"105570uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"105570uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "105570uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "105570uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17622", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ajhl6cvcqw4qq0qe5jlrzewawljjuwnqzkjaml", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgTXB5NN1QapVql9a+NspmOmE314iKF8t/GJBgEYVpOV" - }, - "signature": "tvt4MPqeb3DGla6LUK0Y+SJGlLqa2omZoc7Kq5abVKVaSu/ve3bMhRVjzFn9GxXKd2StgGVl+7aSjClcAw5luA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:06:11Z" - }, - { - "height": "818273", - "txhash": "722D16122B22462D0FBA8B525DF4D75EE1A435338AB142D6CB2B02054C41EF2C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"112998uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"112998uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "112998uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "112998uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17302", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkaYxG66o7Pl+gTAz/UlYedc4S1E2IH1mPs05tzZSLeP" - }, - "signature": "x63ot/tQr+kZEwYCjrZ3lXCb7+18YhU+wL91edIKyZchmC1xxguT9av39W9PweFGHu0l0kdCB62/WeMWav1cWw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:21:46Z" - }, - { - "height": "818327", - "txhash": "DA46DB234897AF71B6736CFD04F7ACE77EBE073251D85BB78AB86AD6B5C25B50", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\"},{\"key\":\"validator\",\"value\":\"secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount" - }, - { - "key": "validator", - "value": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - ] - } - ] - } - ], - "gas_wanted": "420000", - "gas_used": "30836", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1s4mmfzhhk4h7fu9yheu5vurnrw8px7a3g7ryy0", - "validator_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "105000" - } - ], - "gas": "420000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A10QnJ3/ezD0rfWYuSgvoKbtG7QRx4uo8cl+47AsAEcH" - }, - "signature": "Fva8lFiDJjgy8IMURHjGjre1KZyu8WIqG7IWDr8X5udswMEHIFpPdZzfg8lKV8u4bbWOalk8dtSSStDBIK9jZw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:27:00Z" - }, - { - "height": "818421", - "txhash": "37000D17E1F12876B4D5BA91787DF21A3FFEB8C02A449D76CC17C071FC0A58BB", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret16yj4j4e550r02zagtaxq28f735v64c742lpplv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"341135uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"341135uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "341135uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "341135uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17418", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret16yj4j4e550r02zagtaxq28f735v64c742lpplv", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A81YZH4IlSs9EOu/CHph5TjGEm6YnZWZxTwS1Z8J3kvA" - }, - "signature": "AeX4KWBeZS/z2NHtiYtMpD3M3ypOiVkIwCCX11elhlsNVLIY+wxzFdLwFMfHgRt7fLE4qPzWUE4hI0ohyaGpTw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:36:06Z" - }, - { - "height": "818446", - "txhash": "0F8596E3ACB4DC57EDAFAD9E48202062B134DBE2AFCA8FA5FB804C27D821E9AD", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"19891813uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"19891813uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "19891813uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "19891813uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - ] - } - ] - } - ], - "gas_wanted": "18000", - "gas_used": "17073", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fhck59sek9xvqrgc5szrf09dy78x2p6lkxp4s0", - "validator_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "180" - } - ], - "gas": "18000" - }, - "signatures": [], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T22:38:32Z" - }, - { - "height": "818951", - "txhash": "D09C6095E1DD467B8C5691A4380F686E57B3C06922C67C48AAB0D5F39858A388", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"29170638uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"29170638uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"109579uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"109579uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "29170638uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "29170638uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "109579uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "109579uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25727", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret146v4v2wsgnu4dv9phhtrfcuvugktyzdj8quqqv", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A041LQS9UQ5L8FHaKcy9s1xP+OkYVSnOPSHHRGOiHET/" - }, - "signature": "0i27AGIVmrZc2bN6cgmmUZ4eAsV2v+/pJITp6Pl9Mj1ctkwEw/1OX43NZfUukNmTZHUJjxns2Mz0RsRDCGRDNA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:27:27Z" - }, - { - "height": "819131", - "txhash": "C06A929E5E5D908A571FD0433058FC66E33559A16311B52882D2F994DD01AD0D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"828202uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"828202uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"450216uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"450216uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"417510uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"417510uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu\"}]}]},{\"msg_index\":3,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"275573uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"275573uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35\"}]}]},{\"msg_index\":4,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"149579uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"149579uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4\"}]}]},{\"msg_index\":5,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"74471uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"74471uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q\"}]}]},{\"msg_index\":6,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret19fuwpag5az92hx56jec20py24uc0wh060uhm70\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"36658uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"36658uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "828202uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "828202uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "450216uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "450216uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "417510uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "417510uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - ] - } - ] - }, - { - "msg_index": 3, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "275573uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "275573uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - ] - } - ] - }, - { - "msg_index": 4, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "149579uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "149579uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - ] - } - ] - }, - { - "msg_index": 5, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "74471uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "74471uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - ] - } - ] - }, - { - "msg_index": 6, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "36658uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "36658uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - } - ], - "gas_wanted": "980000", - "gas_used": "69544", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret19fuwpag5az92hx56jec20py24uc0wh060uhm70", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "245000" - } - ], - "gas": "980000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Agp9foGVqXgrr1YWPDp2kyu8BXtEtMij/Mi0rGGYg3xZ" - }, - "signature": "9444DrYqkacQWjZ00ZxC6jaDIoRLW4+9yr50RTvStisEPUPd06BA2OQRc5sfsvzZvK+oujiw2JxDeLw4In5STA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:44:55Z" - }, - { - "height": "819268", - "txhash": "65F3B179899DB63306BF580B7A3DADFE12D8FF127227C72239C3BA8AB7BF2BFD", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"8569uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"8569uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "8569uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "8569uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17430", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret18lne3a6p2fhunzmpm87yq07ennh6qdf08sfum5", - "validator_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A1keB+SsP80yydZ5s6JbjkIBgdRxoHwoppVvPl5LB8gM" - }, - "signature": "VB81/2cd/frFYFtdS/tcHIUEPKw0J34/EaE0Qwbd9MNp6ISn10GqAqrwP+lSE+dwrtD60C/63GeM2S/zfWcteA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-10T23:58:12Z" - }, - { - "height": "819599", - "txhash": "75A902D09C038F5DCA0D64CBA4D02C22CA1A78A3FF01FA7E19EFF351D220064F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1895336uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1895336uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1895336uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1895336uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17655", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1m5rpk6gr88jwer52ysvl92lgmeg7c424xfc272", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AwCsN/HEDR4GU4FJYSlJGJSVO0xvl0jiqXedT0XA49o7" - }, - "signature": "LsJuMl8DCnKF1z7JifQOPVL3Odq3xWvgkmltlULZx7IHCg0EGFiJTvrG2Yi4Sox6egtdVJ/4OjNaQD8FEpUmMg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:30:24Z" - }, - { - "height": "819839", - "txhash": "CB40CBC59C9C72643C97A722369B4879E1E237E84974158923571158C005D06F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"188403uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"188403uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "188403uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "188403uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17324", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret164lnzjyq2u46lpyjp3ldacx2lxqzwq2kq6gt24", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7MfJIDmTPJ+UE72izS5Vnn9a7TfZVLkEe+dHah7vdfw" - }, - "signature": "UVBzVHRBUmfjCGZb+OHLkkTxYIbiP5ELAi9r0aNOGiAFZ3eHx5AD1A0qfWmJB2+3Z0UXrjbqwZy+GtExDb/rFA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T00:53:45Z" - }, - { - "height": "819951", - "txhash": "DED92DA7E3EFE22F5908D05A4C01F87B0C60FE177053BD3737281B73CDB232E8", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1906125uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1906125uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"222067uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"222067uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1906125uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1906125uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "222067uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "222067uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26515", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "/nPA8nuHgyq79mKe6YYG6azj57+4S/O4AsVo2g3fPewJGHYlBQTtJDexxpDun+2KQgsdI4SZ+Xelpk3RaY0jcg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:04:39Z" - }, - { - "height": "820065", - "txhash": "6E778B9070746178D17ED5042401BE4EC75D77AF512236272B3CD3FFBCD51372", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"266221uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"266221uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"242706uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"242706uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "266221uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "266221uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "242706uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "242706uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26107", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7OEKK05flBOmsQpCbcRBTMXPwn2fKhc0tXz+sk8P5az" - }, - "signature": "MjhsaKYJmOwr2cJ2Cw0mMjxj8cSyOfg1jiPXYiJ9uhRNAkHbYUMB330xI8mlE9IT+P12Ra7bNMBrvZiSm1sPoQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:15:44Z" - }, - { - "height": "820226", - "txhash": "ED24E3FF519B874000C7AFCD0967904DDE648A502F692F0794D46950FDD81A8B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"103285uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"103285uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "103285uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "103285uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17008", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1v3h7p8mv3f3823xk4xcqtkealjaqtxurudnxwn", - "validator_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AiMjg80e3hns10wdUb/cFM3iWBYuu5GpW8sozw/UUZyq" - }, - "signature": "8913NAn2fVnsBcLQKghODRVlYCg0bNEeJWXsNUObB6oVHAe+Gl7Po3ZkSHjDJ/4exDcTC+4A+J8Ked1AumLCRA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:31:25Z" - }, - { - "height": "820437", - "txhash": "2CB4D7AB95919C1724EDA2AC4C5F5B1B88D736D2E82409FA16C2C72589D60D03", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"962996uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"962996uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "962996uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "962996uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17645", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1z8a29qtuslhanhe0yed7c40e0k62tjl8x0753p", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AzHeWEykCZkzY7V+IwoIz38+EdwdwkC8nXEwnQtB3qLA" - }, - "signature": "ifMgat9aJC9eut+JwEg3Rc35vfOZbz9ycVB/dbYl4KVxS/hGaMHJYClHYCoKcKpm7EPG4CB//9XnuGsuynEwDg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T01:51:59Z" - }, - { - "height": "820764", - "txhash": "5ACF99E9D093875B52675756D92C70BCA2599F6D9EF8D2C505FB89E7A0B8581D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"985675uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"985675uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "985675uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "985675uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17629", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1ezkm775s29ph4s287ruf6wt6w5py3eqexzrejh", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AnsJRjwrwtUPma7jRtc8ewrO7ciKJoWqrXOIVoidTG3r" - }, - "signature": "v20/ycS8gme2jQmKcQwwKolSLWWSU1DJMXwgbCb6xzISpldvG77bXjp9g8vkpRmNVK/tjmVcn3FDrlI5vyeLAQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:23:48Z" - }, - { - "height": "820829", - "txhash": "9A6821916BE79E1D0AC8346DF64CA9179D8A2FAB51B4BF3EE9B97409D416B6C7", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"605664uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"605664uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"524452uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"524452uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "605664uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "605664uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "524452uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "524452uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26500", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lrz94uxyuqwjxlj595j4e98xg2qyndz3dnlfz6", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AlYICl7YMUrkRceOVO/EclSVSTMWsPRr1SczirfIPrD1" - }, - "signature": "YneM6jWBkeV26RBbDi0sHUoPAvFspDmQ9V2BlEdG05YODavDA9zVg5X2+uF1uldc5Ole9VTGnoEH34MKmmsEaA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:30:08Z" - }, - { - "height": "821032", - "txhash": "0C6B06DD04E1D179DDFF680E555872C6E625D51AFB22DC59BE975EDF9EB599F2", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"99163uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"99163uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "99163uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "99163uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17608", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1h77rm5urm0ascps3s4mx9p2wqwux04z7k3a0ky", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkKj5/s7jEZoDtXecfsIN6JfbhYK8PBS+lMql1o6rrvb" - }, - "signature": "NZAMpXkDOsBkUjw6rCCdJNC7PcEolP7qP3sFJxEJgS4uoot9P2IzMPeVSH54oIkRjaN+ABANEnr1ZQJ4GCKQeQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T02:49:52Z" - }, - { - "height": "821206", - "txhash": "4B73CB3AB9E5A1899DC4BF1D1C6A24BB99297B2B8DF35BA141F49DA5C8E2EFC3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"22235uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"22235uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "22235uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "22235uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17627", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1k2uxum9eewcucnt2pr8lsuytww9064dtkt9m0y", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AgvAzkGGzpG1URuSKcm8+HEncDOli6/IBkn3g5B9cikM" - }, - "signature": "akEECdRFtgSHTtQV4ekxgxvruXI4s/+jIlh63Q8hI+lYC/n0RLm689FU3OAHhyjsl39C2faPP2LF5YP+7SawAQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:06:47Z" - }, - { - "height": "821274", - "txhash": "6E44FCA4838799BA8B054C85B6209FCED27910E6B3A14B0CEFD360CC21205B56", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9222880uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9222880uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9222880uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9222880uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17661", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1qtmge74nrnyhe3uxum2y9x29k8ygn4ph7m50ly", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "As7ay+/+ZN0RmX65+MraBh+kNbteFhBRwI6pe1RDZaLr" - }, - "signature": "68kdJVHfyjdBiYL/g+734u1RRbJjhrJgFe4ZyWz4qVNbcUvtO8TJm+kiGznXiIbUrhpDlJy5pA958nLEM/l/HA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:13:24Z" - }, - { - "height": "821637", - "txhash": "2B88079CFB8F0AD72A3036929A358422595E15BE166A70C008A148BE4FE6ED84", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1852uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1852uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1425uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1425uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap\"}]}]},{\"msg_index\":2,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1763uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1763uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1852uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1852uscrt" - }, - { - "key": "validator", - "value": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1425uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1425uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - ] - } - ] - }, - { - "msg_index": 2, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1763uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1763uscrt" - }, - { - "key": "validator", - "value": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - ] - } - ] - } - ], - "gas_wanted": "40000", - "gas_used": "34540", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1t3gtxg8puvqavnmt6c0vt0tnrwcmz4ukqm62kg", - "validator_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "10000" - } - ], - "gas": "40000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A7INSMPTd5YKeeu87T62osFa2LiaqYIEqS4jQT3jr501" - }, - "signature": "GCpt7SjogbRcBmn+8JamxbO/EsJ3marnWxBRfy23pncPkKBUZIka6J35OhIT5CrYFV1JpO5kigDydmOqk8gjkQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T03:48:43Z" - }, - { - "height": "821915", - "txhash": "24D7AADA28A98689648D4E1A64AFA02127DAE259112BCB7355F4CF4D3048FB5D", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"346888811uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"346888811uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"358116uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"358116uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "346888811uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "346888811uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "358116uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "358116uscrt" - }, - { - "key": "validator", - "value": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "25994", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l", - "validator_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1lwmlcxn6py6m0ylxcu4kweeedxs9t94ghepw3l", - "validator_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AmrrmwtI5tAzmk706iKm3JP65eQuJkL01jPk5YSx1ION" - }, - "signature": "LXofvbD4TXgqq3bw7Wftrznhmga9xH2zQTLCiNhik/V6jHrvxe0DTv4LW5+g2cOW/5hSdCRSd6+Z8EdPrEwAwg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:15:45Z" - }, - { - "height": "821991", - "txhash": "B5E2B505AA5A1701048404265FF30EA108B2BF7475B5B161B9DA893C898E260F", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"293101uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"293101uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "293101uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "293101uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17420", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1hewnzmtukyyk32ed2z50es8dxtv6rvyyz5wn7z", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AqTbtlz+wAMjPUHBVRZ/JbGjda2+unfef7A7VtTcZT+p" - }, - "signature": "58UK6MbqjKgCIxnJihuuRzGnyzMaPybod5wUqv33aN08s15a8gHNuNtQ3uQsm3s9MP1lYoRCVvhhrW6VTZpMmw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:23:10Z" - }, - { - "height": "822095", - "txhash": "217D6D41A19485A8AF9CEEB27233587036C884599C1DB40FABFAF8959D033310", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"80758uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"80758uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "80758uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "80758uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17632", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1p4kh386vyf2j9629zqrfpj074jtqvdy25k26ju", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A+8uBOyuMf7GGej/EP+9MudqJrxbT/vz8BSFm1BYDgdB" - }, - "signature": "9yxUQ11vHMeGu8hTrNEMFFEyb5e2oAOmiFG2Z1zwcmNXEi4L6S15aDk+X3YQBtxI6OHVTFCZhInu2/X8Xd+3YQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T04:33:21Z" - }, - { - "height": "822492", - "txhash": "43B8B80FD1C014015C16CCF377F66FBEAC9420D9486BD740BF74B9C7C05413DE", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"624625uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"624625uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "624625uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "624625uscrt" - }, - { - "key": "validator", - "value": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17510", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1twtrk5hedx4f9p3eajgyvqft066ngql38yxdvx", - "validator_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A5x6w6Kp2L5DjDuJ98rCDcNUA6ZQU0mamQC2TiKN0fdo" - }, - "signature": "reb1CBmRMS+HkBnBnjcn6yVOEYWhfqNGg+gFY7/fk88UC/aya22n8L2+0b39OsTIizVoasJxHtWBhJnWSxtB3g==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:11:57Z" - }, - { - "height": "822796", - "txhash": "B9E4C860AD7D91F0D96E79F1344A48209C3DDD73B21F1255E7ACDEEC6EAFBDC3", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"142524uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"142524uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "142524uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "142524uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17211", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret17kfr0kvn9v209qqkpsua78j3gzjxt98k8pups9", - "validator_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A2wKAoz6HVWJsdN8Bw5NSsmrbtXCDdNx1mslPwF+D/+i" - }, - "signature": "HNXY+T6geXtl7y6iIGpE4i4xPX9lHddkuCJygirJuGtqhnjzvtvNoRH8KJL0HP5Ux6CtFDzSh69H8OTkLfSQwQ==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T05:41:33Z" - }, - { - "height": "823016", - "txhash": "AEDB4D7C6A9A2853425607FA33A656DD4F12D64CAC148F942BF931171460D588", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"1947562uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"1947562uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"226952uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"226952uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "1947562uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "1947562uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "226952uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "226952uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26277", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1mc7sckgfwj2je2ysa2wj6rx5fsvdttryv8u7fx", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "AkpTV8XOYJppEv1B8FVGYPI3M7Ap1YXxPhh8jruy3KFB" - }, - "signature": "Uw5UgG7MOQFcA2hQNGCZ5hKeJpW+WZv2/tV6eE84QGdt+0JKt9aQK4q0X+c/M2MDZBtYnMX7UhZrHEd0SEut2w==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:02:58Z" - }, - { - "height": "823059", - "txhash": "39DD7E00A9854C7DB1C3D11F167C08130FED982565B1F8A8F47EB16148A8CC10", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"779690uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"779690uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "779690uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "779690uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17623", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1n7m0x6mgd38az2jrj5678zkvs3kr2zgse3qp2f", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "Ao+3K1YPQfQXNHaifKJMIesq7fJql3fHBJmQoAg5NMf9" - }, - "signature": "T2+2FKnm5EE+8EAqvY83ZXqvs0FXCbE07DJn8wC0Maw9H0NAB/VzJDK0ROf+SXBkacMP9Ajiwf89VceTtZCyAw==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:07:09Z" - }, - { - "height": "823112", - "txhash": "1C5850BC41854F078C9A2A121C82AFC46065B86F4CFE0994C0B6ACC1BEBA263B", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"9998uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"9998uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "9998uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "9998uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17292", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret1fnmnp7dqe7hp5f9j085k2p5asnrz6mk7vmgcu0", - "validator_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A8klD+BeiCtmJ4ihzavm7Dp4ZtcwiR+hIs+/Lfl7HhG7" - }, - "signature": "B/AWqDayjgslC91UrKinRZtqXVb5ZganuIOy2SqzBd1rD6MOJg9IEkf4zW1yeYsbSqIRAvAylQzBxOQNVtyyEA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:12:20Z" - }, - { - "height": "823200", - "txhash": "6C93D9388147D1D184C69D9910E905E487E0B15F97B634B71479EA6EA8FD322C", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F725265776172640A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"7440079uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"7440079uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]},{\"msg_index\":1,\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3872349uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3872349uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "7440079uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "7440079uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - ] - } - ] - }, - { - "msg_index": 1, - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "3872349uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "3872349uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - ] - } - ] - } - ], - "gas_wanted": "280000", - "gas_used": "26658", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka" - } - }, - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret15hy3579f7mzv5djt2nvj6fjvjzvs824sm8t9c2", - "validator_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "70000" - } - ], - "gas": "280000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A3/CL9KEWLUIGf7SQrqAxMVXdxfrCpUNrJgB6uMBP3YH" - }, - "signature": "Y9Mb/EzuUCIWr9/ob/cHgYzPHWZVxmlFE+iwigZKdJkjdUit4YXAY4Nx9x/pwV4hwwZ3BLk6Wa2u9epLJ2g1wg==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:20:54Z" - }, - { - "height": "823404", - "txhash": "8AC186E3D09DF0DB9A4BD71A36AEAB0E51A10582A69E41FD5CDE3E901A10D3C5", - "data": "0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264", - "raw_log": "[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"686uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"686uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk\"}]}]}]", - "logs": [ - { - "events": [ - { - "type": "coin_received", - "attributes": [ - { - "key": "receiver", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "coin_spent", - "attributes": [ - { - "key": "spender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "message", - "attributes": [ - { - "key": "action", - "value": "/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "module", - "value": "distribution" - }, - { - "key": "sender", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - } - ] - }, - { - "type": "transfer", - "attributes": [ - { - "key": "recipient", - "value": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej" - }, - { - "key": "sender", - "value": "secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r" - }, - { - "key": "amount", - "value": "686uscrt" - } - ] - }, - { - "type": "withdraw_rewards", - "attributes": [ - { - "key": "amount", - "value": "686uscrt" - }, - { - "key": "validator", - "value": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - ] - } - ] - } - ], - "gas_wanted": "140000", - "gas_used": "17379", - "tx": { - "type": "cosmos-sdk/StdTx", - "value": { - "msg": [ - { - "type": "cosmos-sdk/MsgWithdrawDelegationReward", - "value": { - "delegator_address": "secret16qz8u47vpmu34xt2szjvc28x5uqtllm7mkluej", - "validator_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk" - } - } - ], - "fee": { - "amount": [ - { - "denom": "uscrt", - "amount": "35000" - } - ], - "gas": "140000" - }, - "signatures": [ - { - "pub_key": { - "type": "tendermint/PubKeySecp256k1", - "value": "A9e6CRZnEYzaDWBvI61VuZsaXNu86B4xLaQ1zEQxn8PP" - }, - "signature": "G5KTpyWAKeJSv2zVKTTQ6JQAkf5KMxemjAKOOhYAT5BFMPlNJZemshvYdzlpkutn3b1lgJSLw0UMp83GH/3NgA==" - } - ], - "memo": "", - "timeout_height": "0" - } - }, - "timestamp": "2021-11-11T06:40:45Z" - } - ] -} \ No newline at end of file diff --git a/tests/json_examples/Redelegation.data.json b/tests/json_examples/Redelegation.data.json deleted file mode 100644 index 123a86c..0000000 --- a/tests/json_examples/Redelegation.data.json +++ /dev/null @@ -1,42718 +0,0 @@ -[ - { - "redelegation": { - "delegator_address": "secret1qqmy7usck5ffu2wqf6lqm24m9x0py32zl2ruhp", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596280, - "completion_time": "2022-01-25T18:23:35.311840724Z", - "initial_balance": "51000000", - "shares_dst": "51000000.000000000000000000" - }, - "balance": "51000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qq752g0gaqkqrw4tnwrqjsjj5uxs6gtayd08sm", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804841, - "completion_time": "2022-02-09T11:15:42.366537319Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qpgumlaep4jpa0pv3dm9hmssajwpjghy5686pu", - "validator_src_address": "secretvaloper1sa8av4qw3xerr58kwvnm8wvd87zgp36mv6cnyg", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687118, - "completion_time": "2022-02-01T03:38:52.481190435Z", - "initial_balance": "65899999", - "shares_dst": "65899999.000000000000000000" - }, - "balance": "65899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qpna34xdr50xq439mmz90jy8u9cus33ktskeqr", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1768282, - "completion_time": "2022-02-06T21:40:20.115811027Z", - "initial_balance": "372904048", - "shares_dst": "372904048.000000000000000000" - }, - "balance": "372904048" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qz9pq7ncq99vrxwf8tgvl3hm52g024gf06jsas", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817630, - "completion_time": "2022-02-10T08:52:22.10184724Z", - "initial_balance": "149999999", - "shares_dst": "149999999.000000000000000000" - }, - "balance": "149999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728921, - "completion_time": "2022-02-04T02:13:12.880127754Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645204, - "completion_time": "2022-01-29T04:52:40.49660468Z", - "initial_balance": "16246800499", - "shares_dst": "16246800499.000000000000000000" - }, - "balance": "16246800499" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qrn6y7dlnrn3rdj0t86mhhx6dytdf64m0nw3a5", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728928, - "completion_time": "2022-02-04T02:13:55.213194905Z", - "initial_balance": "13753500000", - "shares_dst": "13753500000.000000000000000000" - }, - "balance": "13753500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qr5jmv9xd8x54mcyn8m7ncggt3zr9u9xcvlvwc", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676120, - "completion_time": "2022-01-31T08:53:34.40111512Z", - "initial_balance": "97500000", - "shares_dst": "97500000.000000000000000000" - }, - "balance": "97500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qr5jmv9xd8x54mcyn8m7ncggt3zr9u9xcvlvwc", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676106, - "completion_time": "2022-01-31T08:52:10.460254321Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qr5jmv9xd8x54mcyn8m7ncggt3zr9u9xcvlvwc", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1691252, - "completion_time": "2022-02-01T10:36:08.047632984Z", - "initial_balance": "31500000", - "shares_dst": "31500000.000000000000000000" - }, - "balance": "31500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qygf0fwjmph89qd2ham7ey2rjcvtdpquyuuj4z", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728157, - "completion_time": "2022-02-04T00:53:16.98545511Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qyt55k85cegzr9c6z4j8pkuptaygda9hff825d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700123, - "completion_time": "2022-02-02T01:32:22.643112062Z", - "initial_balance": "1500000", - "shares_dst": "1515757.727076517803144777" - }, - "balance": "1500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qx8vxvlpl2kk0naqquff98v8f9ghfv3usvrntc", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700693, - "completion_time": "2022-02-02T02:29:36.354048671Z", - "initial_balance": "466787499", - "shares_dst": "466880870.408635957781444117" - }, - "balance": "466787499" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qxh8dfj72vymqnqamatdn5e8zmun5ggxh4eskq", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659642, - "completion_time": "2022-01-30T05:10:55.115849451Z", - "initial_balance": "19736645", - "shares_dst": "19736645.000000000000000000" - }, - "balance": "19736645" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qx7tjc22j08envupcedtjsvj4fcjja2h26qrt8", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748125, - "completion_time": "2022-02-05T11:44:29.227935071Z", - "initial_balance": "46923959", - "shares_dst": "46923959.000000000000000000" - }, - "balance": "46923959" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ghymjrlkqvvjt5hwlewcfaldhktcpyhm5q4j", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779101, - "completion_time": "2022-02-07T15:52:32.67206424Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ghymjrlkqvvjt5hwlewcfaldhktcpyhm5q4j", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779036, - "completion_time": "2022-02-07T15:46:01.566286666Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ghymjrlkqvvjt5hwlewcfaldhktcpyhm5q4j", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779166, - "completion_time": "2022-02-07T15:59:03.693457977Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ghymjrlkqvvjt5hwlewcfaldhktcpyhm5q4j", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779014, - "completion_time": "2022-02-07T15:43:49.651795348Z", - "initial_balance": "169999999", - "shares_dst": "169999999.000000000000000000" - }, - "balance": "169999999" - }, - { - "redelegation_entry": { - "creation_height": 1779078, - "completion_time": "2022-02-07T15:50:13.179867336Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ghymjrlkqvvjt5hwlewcfaldhktcpyhm5q4j", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779152, - "completion_time": "2022-02-07T15:57:38.628786745Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8szt69f0dn5muwe7h2uhkgujp0ylrfuw9lh54", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1723553, - "completion_time": "2022-02-03T17:02:41.876182899Z", - "initial_balance": "301100000", - "shares_dst": "301100000.000000000000000000" - }, - "balance": "301100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q8ltwxjcvaw08q3r2q028uaugh0vq2tun3r2lj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729964, - "completion_time": "2022-02-04T04:00:36.329128213Z", - "initial_balance": "1443399999", - "shares_dst": "1443399999.000000000000000000" - }, - "balance": "1443399999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qgu227rkd8qwq92mdr0l0cp4e5n6y4yrec6f6y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837875, - "completion_time": "2022-02-11T18:49:23.365245574Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qf57ag69epy0qnzz9cv3trs8ge62dxs90jktzv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795221, - "completion_time": "2022-02-08T19:03:40.139258255Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qf57ag69epy0qnzz9cv3trs8ge62dxs90jktzv", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640450, - "completion_time": "2022-01-28T20:52:39.446646809Z", - "initial_balance": "47000000", - "shares_dst": "47000000.000000000000000000" - }, - "balance": "47000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q2m9vhvlp2e4qh6kj33cl9kfulhwxsw52uw4hc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584551, - "completion_time": "2022-01-24T22:27:13.142038369Z", - "initial_balance": "45800000", - "shares_dst": "45809161.365576267151955929" - }, - "balance": "45800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qtga3xeks8z79ycgnajzxnrfxs7vw04z6ts922", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1592964, - "completion_time": "2022-01-25T12:45:05.523567696Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qta6ayvesydsh8xl8lzg70gz9zfd2zh20sjam6", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1663929, - "completion_time": "2022-01-30T12:22:49.567445515Z", - "initial_balance": "1500552134", - "shares_dst": "1500552134.000000000000000000" - }, - "balance": "1500552134" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qvf6e5sfpd4v2v6k0plv2h9g3y8rff2n6gw0d6", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722305, - "completion_time": "2022-02-03T14:56:17.931170937Z", - "initial_balance": "29494098", - "shares_dst": "29494098.000000000000000000" - }, - "balance": "29494098" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qv4vnwvyv5yt2s44pxgwa4v828qs50f02qnc3h", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831611, - "completion_time": "2022-02-11T08:20:31.922585746Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qv4vnwvyv5yt2s44pxgwa4v828qs50f02qnc3h", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831603, - "completion_time": "2022-02-11T08:19:44.325157109Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qv4vnwvyv5yt2s44pxgwa4v828qs50f02qnc3h", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831594, - "completion_time": "2022-02-11T08:18:51.066227541Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qv4vnwvyv5yt2s44pxgwa4v828qs50f02qnc3h", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831580, - "completion_time": "2022-02-11T08:17:27.223599875Z", - "initial_balance": "100000000", - "shares_dst": "100010000.982029254841468397" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qdhe5w7yze5np4zw4jnpu7s3lh5gjmtmy23fuv", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675743, - "completion_time": "2022-01-31T08:15:39.725113281Z", - "initial_balance": "460000000", - "shares_dst": "460000000.000000000000000000" - }, - "balance": "460000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qdhe5w7yze5np4zw4jnpu7s3lh5gjmtmy23fuv", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675737, - "completion_time": "2022-01-31T08:15:03.342127937Z", - "initial_balance": "4810000000", - "shares_dst": "4810000000.000000000000000000" - }, - "balance": "4810000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qw0ps2mfqpuem0u5h2swg8fn350qnjjwd65akc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1588698, - "completion_time": "2022-01-25T05:32:42.575420933Z", - "initial_balance": "80500000", - "shares_dst": "80500000.000000000000000000" - }, - "balance": "80500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qw0ps2mfqpuem0u5h2swg8fn350qnjjwd65akc", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1588705, - "completion_time": "2022-01-25T05:33:26.988566108Z", - "initial_balance": "1900000", - "shares_dst": "1900000.000000000000000000" - }, - "balance": "1900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qw3af6tus5pf6jlqqypl2umln78wsvr0mcytgn", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801372, - "completion_time": "2022-02-09T05:25:59.750898655Z", - "initial_balance": "24000000", - "shares_dst": "24000000.000000000000000000" - }, - "balance": "24000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q306kfzd7u3l7vjmwtdp0zxllfrjx59gzf7r58", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726007, - "completion_time": "2022-02-03T21:11:45.169435527Z", - "initial_balance": "5304599999", - "shares_dst": "5304599999.000000000000000000" - }, - "balance": "5304599999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q306kfzd7u3l7vjmwtdp0zxllfrjx59gzf7r58", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726014, - "completion_time": "2022-02-03T21:12:27.13163828Z", - "initial_balance": "999999990", - "shares_dst": "999999990.000000000000000000" - }, - "balance": "999999990" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q306kfzd7u3l7vjmwtdp0zxllfrjx59gzf7r58", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725997, - "completion_time": "2022-02-03T21:10:43.95156083Z", - "initial_balance": "1449300000", - "shares_dst": "1449300000.000000000000000000" - }, - "balance": "1449300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q306kfzd7u3l7vjmwtdp0zxllfrjx59gzf7r58", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725989, - "completion_time": "2022-02-03T21:09:55.901372978Z", - "initial_balance": "2380999999", - "shares_dst": "2380999999.000000000000000000" - }, - "balance": "2380999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q3lwe07n9qszzx2jqnwtnxsddf79lyv79ethr8", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736108, - "completion_time": "2022-02-04T14:23:16.577365117Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qnqcyakzvczhe4xugy64rhk4xg5t93xjygpel0", - "validator_src_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1820955, - "completion_time": "2022-02-10T14:27:08.707909555Z", - "initial_balance": "5000000", - "shares_dst": "5001000.148833515565043304" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qnqcyakzvczhe4xugy64rhk4xg5t93xjygpel0", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1820945, - "completion_time": "2022-02-10T14:26:09.219718654Z", - "initial_balance": "5000000", - "shares_dst": "5001000.148833515565043304" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qnwcus8zl43ds5twkrw4my0kjx287m4ps6u894", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1835171, - "completion_time": "2022-02-11T14:17:25.684907419Z", - "initial_balance": "74000000", - "shares_dst": "74000000.000000000000000000" - }, - "balance": "74000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qnnszl4rj303prcfvg5m5w0tzz2wvdlammj9tc", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1597393, - "completion_time": "2022-01-25T20:17:11.709154382Z", - "initial_balance": "185000000", - "shares_dst": "185000000.000000000000000000" - }, - "balance": "185000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qn750cyy6v5t5jxjt3vxgtemsgwnv7mpl37qea", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741875, - "completion_time": "2022-02-05T00:43:57.820181331Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q4yramkm4yvw6lmgarftekq20fardf9gsp2y0e", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837246, - "completion_time": "2022-02-11T17:46:18.640317799Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1q4x50wc7tjz8y6vchz54rxeahtv4v6srj5etrq", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637095, - "completion_time": "2022-01-28T15:12:28.158274197Z", - "initial_balance": "47999999", - "shares_dst": "47999999.000000000000000000" - }, - "balance": "47999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qkt0qjzx66vmwkr3v0ltavu9yhwu8gugekx2wu", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700425, - "completion_time": "2022-02-02T02:02:44.481980572Z", - "initial_balance": "333219174", - "shares_dst": "333219174.000000000000000000" - }, - "balance": "333219174" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qkmyn03m68nxtjrfwytckl88kd6a0m4cxnslg4", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1656162, - "completion_time": "2022-01-29T23:19:05.940744459Z", - "initial_balance": "11247812000", - "shares_dst": "11247812000.000000000000000000" - }, - "balance": "11247812000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qhpw8m9j3ujpvuklhxv5a07vfleueaa5ltwja9", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771324, - "completion_time": "2022-02-07T02:46:58.580333851Z", - "initial_balance": "8500000", - "shares_dst": "8500000.000000000000000000" - }, - "balance": "8500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qhgu0csa2rq82y2fdq33ykwpcpk50j7v02kf5x", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1594082, - "completion_time": "2022-01-25T14:38:02.095999441Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qhgu0csa2rq82y2fdq33ykwpcpk50j7v02kf5x", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1679078, - "completion_time": "2022-01-31T13:53:50.045250733Z", - "initial_balance": "225000000", - "shares_dst": "225000000.000000000000000000" - }, - "balance": "225000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qhgu0csa2rq82y2fdq33ykwpcpk50j7v02kf5x", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1594068, - "completion_time": "2022-01-25T14:36:36.50469338Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qh00g3mjgxjzf6nm722kgn268n62mu3x8umz2m", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1609761, - "completion_time": "2022-01-26T17:05:07.920275698Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qcxxeqkqdulwuwc3t4rnha63340mknaeqp70cc", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837179, - "completion_time": "2022-02-11T17:39:38.810623007Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qcasapjr7m7wy7c0w6087t4ke22qpry9pmpmcr", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728014, - "completion_time": "2022-02-04T00:38:35.38952907Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qegwwkdc9uengsj8zd4fqrusmpz5yesd9d24te", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712559, - "completion_time": "2022-02-02T22:31:09.030934996Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qe0xdpsk6g6s27cjfsadex3u80zftnx92a2z47", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729444, - "completion_time": "2022-02-04T03:06:12.494537324Z", - "initial_balance": "2044000000", - "shares_dst": "2044000000.000000000000000000" - }, - "balance": "2044000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qe0xdpsk6g6s27cjfsadex3u80zftnx92a2z47", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729385, - "completion_time": "2022-02-04T03:00:15.487755688Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qe0xdpsk6g6s27cjfsadex3u80zftnx92a2z47", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729431, - "completion_time": "2022-02-04T03:04:54.294579371Z", - "initial_balance": "4000000000", - "shares_dst": "4000000000.000000000000000000" - }, - "balance": "4000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qe0xdpsk6g6s27cjfsadex3u80zftnx92a2z47", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729526, - "completion_time": "2022-02-04T03:14:46.074239287Z", - "initial_balance": "2999000000", - "shares_dst": "2999000000.000000000000000000" - }, - "balance": "2999000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qenxsaclrltl7ttcuaqe0uy7edw0v6fpuma5rq", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1667749, - "completion_time": "2022-01-30T18:48:16.568360351Z", - "initial_balance": "4466058799", - "shares_dst": "4466058799.000000000000000000" - }, - "balance": "4466058799" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qmkr3pwnkk8ffzd0u5c79krry7ej98m28tc38s", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836213, - "completion_time": "2022-02-11T16:02:45.569578964Z", - "initial_balance": "2500000", - "shares_dst": "2500000.000000000000000000" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qupenrqxe27unmz3q34sp50dla2zh5tw2yeyl5", - "validator_src_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642925, - "completion_time": "2022-01-29T01:03:38.686117999Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645627, - "completion_time": "2022-01-29T05:35:02.635090686Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645573, - "completion_time": "2022-01-29T05:29:37.765250593Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645552, - "completion_time": "2022-01-29T05:27:31.779621084Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645623, - "completion_time": "2022-01-29T05:34:38.69357497Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645589, - "completion_time": "2022-01-29T05:31:15.150435168Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645611, - "completion_time": "2022-01-29T05:33:27.152492803Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645562, - "completion_time": "2022-01-29T05:28:31.975225949Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645630, - "completion_time": "2022-01-29T05:35:20.415027098Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645608, - "completion_time": "2022-01-29T05:33:09.196094355Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645615, - "completion_time": "2022-01-29T05:33:51.286615888Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qa9wh4fhxh5qts84ge9x5xv0qe56yqypgtza0m", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645619, - "completion_time": "2022-01-29T05:34:14.860665796Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qlx7p9l6wkcj03rzlw54up750a2zl87crle3qy", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854047, - "completion_time": "2022-02-13T01:40:58.687735284Z", - "initial_balance": "218000000", - "shares_dst": "218000000.000000000000000000" - }, - "balance": "218000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qls464n0q67tzj48zdrscl0gpudvvupgjw0nrs", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830481, - "completion_time": "2022-02-11T06:27:19.418705366Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1qls464n0q67tzj48zdrscl0gpudvvupgjw0nrs", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800480, - "completion_time": "2022-02-09T03:55:52.176389703Z", - "initial_balance": "2500000", - "shares_dst": "2602811.168904789251474609" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ql5d08k8tmhs6mc6pgu6k69tf5e0e6hx3t4tkm", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739984, - "completion_time": "2022-02-04T21:17:03.979179085Z", - "initial_balance": "1005799779", - "shares_dst": "1005799779.000000000000000000" - }, - "balance": "1005799779" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pq27apepyt22trv5em8xskq7yjnmxcs2d74twa", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690535, - "completion_time": "2022-02-01T09:23:30.579951995Z", - "initial_balance": "595500", - "shares_dst": "595559.555926105080009282" - }, - "balance": "595500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pq74ujnz9ef56a0lsyayhp827rumrj0c07j7d8", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1792703, - "completion_time": "2022-02-08T14:48:52.46143075Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pp4ym9kqgpev5n5jn6qh5snsqcfkf75ndj50yz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1582679, - "completion_time": "2022-01-24T19:12:36.41920521Z", - "initial_balance": "1012728884", - "shares_dst": "1012728884.000000000000000000" - }, - "balance": "1012728884" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pznwdg0j0j44ve3m77ya28x9ug2lvgke9rd727", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1582882, - "completion_time": "2022-01-24T19:33:45.086839979Z", - "initial_balance": "264025947", - "shares_dst": "264025947.000000000000000000" - }, - "balance": "264025947" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pryrwustda29gvu0nyw8d2v5at253dtemgj5sr", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1848884, - "completion_time": "2022-02-12T15:15:54.273199168Z", - "initial_balance": "166753000", - "shares_dst": "166753000.000000000000000000" - }, - "balance": "166753000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pryaqfg2h76gluu3rmnrclldqss0qw723zw872", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821141, - "completion_time": "2022-02-10T14:45:49.185183602Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pryaqfg2h76gluu3rmnrclldqss0qw723zw872", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821145, - "completion_time": "2022-02-10T14:46:13.633206697Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1prnarrvulykv6kajg3uvufnnekmw4xgdtsa6nv", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1677882, - "completion_time": "2022-01-31T11:52:12.255514956Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pyu2j68x49e97hxmwj3s9dycxclrtlrsfvyegx", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1859006, - "completion_time": "2022-02-13T11:23:26.707532292Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pyu2j68x49e97hxmwj3s9dycxclrtlrsfvyegx", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1859048, - "completion_time": "2022-02-13T11:27:38.085382433Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p95xq5u67dulr0k40d76c47rcj0zxp9geat30k", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731120, - "completion_time": "2022-02-04T05:58:23.191222236Z", - "initial_balance": "7900000001", - "shares_dst": "7900000001.000000000000000000" - }, - "balance": "7900000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p9amsut7c69rswfdd86twxrgcld5j6nmjkqj6e", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1699675, - "completion_time": "2022-02-02T00:47:09.298845801Z", - "initial_balance": "1400000000", - "shares_dst": "1400000000.000000000000000000" - }, - "balance": "1400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pxcuxtln25z47hlffth3mgyvcdmhey648k4jhj", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1598686, - "completion_time": "2022-01-25T22:28:45.600219358Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p85hnf6uwe6nc430hghp3gldcn5xyqmv0a6f3e", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730047, - "completion_time": "2022-02-04T04:08:58.662994901Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pgve5hdt7zvxqvmg9sg4nyw4vr5xxqt7l73529", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692204, - "completion_time": "2022-02-01T12:12:23.809254614Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pgve5hdt7zvxqvmg9sg4nyw4vr5xxqt7l73529", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692210, - "completion_time": "2022-02-01T12:12:59.517884459Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pgve5hdt7zvxqvmg9sg4nyw4vr5xxqt7l73529", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692220, - "completion_time": "2022-02-01T12:13:59.679392659Z", - "initial_balance": "84000000", - "shares_dst": "84000000.000000000000000000" - }, - "balance": "84000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pfn3atasgyx2xcsmfffzqrkm02k8a7mwd56rju", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741394, - "completion_time": "2022-02-04T23:55:01.975794775Z", - "initial_balance": "190000000", - "shares_dst": "190000000.000000000000000000" - }, - "balance": "190000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pt6sfju7grsztgwxjdtv5y5z7yjdwmly2cme6p", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1665846, - "completion_time": "2022-01-30T15:35:53.879956534Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pt6sfju7grsztgwxjdtv5y5z7yjdwmly2cme6p", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686907, - "completion_time": "2022-02-01T03:17:20.457453784Z", - "initial_balance": "99887400", - "shares_dst": "99887400.000000000000000000" - }, - "balance": "99887400" - }, - { - "redelegation_entry": { - "creation_height": 1695234, - "completion_time": "2022-02-01T17:18:24.653744839Z", - "initial_balance": "41000000", - "shares_dst": "41000000.000000000000000000" - }, - "balance": "41000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pt6sfju7grsztgwxjdtv5y5z7yjdwmly2cme6p", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686911, - "completion_time": "2022-02-01T03:17:44.419972814Z", - "initial_balance": "150690000", - "shares_dst": "150690000.000000000000000000" - }, - "balance": "150690000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pvh7426pwmfh59d3lwwanej69wwtfgx4fxzrze", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681456, - "completion_time": "2022-01-31T17:58:33.752537486Z", - "initial_balance": "8029000000", - "shares_dst": "8029000000.000000000000000000" - }, - "balance": "8029000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pvh7426pwmfh59d3lwwanej69wwtfgx4fxzrze", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681449, - "completion_time": "2022-01-31T17:57:51.392115187Z", - "initial_balance": "7193000000", - "shares_dst": "7193000000.000000000000000000" - }, - "balance": "7193000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pdmza6pnqcqcdj2sfdmkfrdk02g8c0t37kag93", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654179, - "completion_time": "2022-01-29T19:58:47.202671198Z", - "initial_balance": "514368726", - "shares_dst": "514368726.000000000000000000" - }, - "balance": "514368726" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pw6qd7u7l9qh6zsslt8dccvg7uh7g26zjfcd9n", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1861307, - "completion_time": "2022-02-13T15:55:38.820265833Z", - "initial_balance": "18000000", - "shares_dst": "18000000.000000000000000000" - }, - "balance": "18000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p0thdn96qx07veretqvae7ugnxsgfcx43gzrv8", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1755392, - "completion_time": "2022-02-05T23:59:20.547193682Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1psw8h4fpcgslev2jnqhtqlz7gh07y059jpg2y2", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779201, - "completion_time": "2022-02-07T16:02:33.726490249Z", - "initial_balance": "35000000000", - "shares_dst": "35000000000.000000000000000000" - }, - "balance": "35000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1psw8h4fpcgslev2jnqhtqlz7gh07y059jpg2y2", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779351, - "completion_time": "2022-02-07T16:17:42.054150637Z", - "initial_balance": "6000000000", - "shares_dst": "6000000000.000000000000000000" - }, - "balance": "6000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1psege3qt9zt94rllt9z7ace6xcr03k95mypgtj", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724401, - "completion_time": "2022-02-03T18:28:38.023472623Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p3p6uqlxwg04yl504a8q8jj3vytwv0hdgww8zc", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1688994, - "completion_time": "2022-02-01T06:48:52.672477046Z", - "initial_balance": "399999999", - "shares_dst": "399999999.000000000000000000" - }, - "balance": "399999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pj9a8xgl4x0jx7zl98hfx8fy2w3senkajv0yp8", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1618278, - "completion_time": "2022-01-27T07:30:07.802411481Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pnkll5a7x97fs5je8dfyac6upvjgtmhs206s3k", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1792463, - "completion_time": "2022-02-08T14:24:48.442029529Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p5x58tshmr7cf0kh7s08cuda35ge43ew2n2svu", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726567, - "completion_time": "2022-02-03T22:08:46.574742762Z", - "initial_balance": "38000000000", - "shares_dst": "38000000000.000000000000000000" - }, - "balance": "38000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p5cxgdc0nx4mutesx3440nwfwxqesymaexr0mu", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833640, - "completion_time": "2022-02-11T11:43:38.61960153Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pkjxm4jqm42nzjrp0hu3anm4xz3ka66rsyq8ge", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1597375, - "completion_time": "2022-01-25T20:15:22.659028752Z", - "initial_balance": "5683000000", - "shares_dst": "5683000000.000000000000000000" - }, - "balance": "5683000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ph9lstj8dzqy6gp6gft39rar5sas4my7res294", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765141, - "completion_time": "2022-02-06T16:22:43.858499747Z", - "initial_balance": "6100000", - "shares_dst": "6100000.000000000000000000" - }, - "balance": "6100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1phwmenpqur7dmzugrjss06ssymufh46w8y7ams", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692668, - "completion_time": "2022-02-01T12:59:15.943287777Z", - "initial_balance": "1024512057", - "shares_dst": "1024512057.000000000000000000" - }, - "balance": "1024512057" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pe5q04yhk0wp384e7zdhuttq0s4yd2t605zhgg", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1841779, - "completion_time": "2022-02-12T01:23:29.359449151Z", - "initial_balance": "4499999", - "shares_dst": "4499999.000000000000000000" - }, - "balance": "4499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pe5q04yhk0wp384e7zdhuttq0s4yd2t605zhgg", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813715, - "completion_time": "2022-02-10T02:18:43.023923526Z", - "initial_balance": "4500000", - "shares_dst": "4500000.000000000000000000" - }, - "balance": "4500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pekcnc7g732qtg2cxt239cwj89rccfle2artgd", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584665, - "completion_time": "2022-01-24T22:39:34.414482542Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pekcnc7g732qtg2cxt239cwj89rccfle2artgd", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584678, - "completion_time": "2022-01-24T22:40:54.680948234Z", - "initial_balance": "24999999", - "shares_dst": "24999999.000000000000000000" - }, - "balance": "24999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pekcnc7g732qtg2cxt239cwj89rccfle2artgd", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585044, - "completion_time": "2022-01-24T23:18:58.057249867Z", - "initial_balance": "29996999", - "shares_dst": "29996999.000000000000000000" - }, - "balance": "29996999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1p6763cacd9xxznfy9ynn3wf6mdp6hgrknhqah6", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1677511, - "completion_time": "2022-01-31T11:14:36.882458604Z", - "initial_balance": "8100000", - "shares_dst": "8100000.000000000000000000" - }, - "balance": "8100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pmuv53nc2hgee74mtqwnaze3dsaxqrkv769dzw", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1775973, - "completion_time": "2022-02-07T10:36:36.919861446Z", - "initial_balance": "10800000", - "shares_dst": "10800000.000000000000000000" - }, - "balance": "10800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pu9lmvnlejnqml3p2mmzv0cked5rgcwutdrxjf", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739604, - "completion_time": "2022-02-04T20:38:28.322537045Z", - "initial_balance": "2000844443", - "shares_dst": "2000844443.000000000000000000" - }, - "balance": "2000844443" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1puxkqzph3lyghpwltrxwrqu5k5jzxpw2cut6xc", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684577, - "completion_time": "2022-01-31T23:19:52.611301682Z", - "initial_balance": "280000000", - "shares_dst": "280000000.000000000000000000" - }, - "balance": "280000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1puxkqzph3lyghpwltrxwrqu5k5jzxpw2cut6xc", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684597, - "completion_time": "2022-01-31T23:21:52.141350341Z", - "initial_balance": "673199999", - "shares_dst": "673199999.000000000000000000" - }, - "balance": "673199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1puxuyggt35hx4qjj8wh0uea9dh4vuvewku7nah", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1613304, - "completion_time": "2022-01-26T23:06:38.159930178Z", - "initial_balance": "17379968", - "shares_dst": "17379968.000000000000000000" - }, - "balance": "17379968" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1puvlxjmhqyw5xt04y7cx2hr5454h6faqdf6jwk", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1711159, - "completion_time": "2022-02-02T20:09:10.138219438Z", - "initial_balance": "850000000", - "shares_dst": "850000000.000000000000000000" - }, - "balance": "850000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pua2ne85l4hqjs5haqtu4sez2jgr67ejmwcua2", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740027, - "completion_time": "2022-02-04T21:21:32.749839079Z", - "initial_balance": "2394706612", - "shares_dst": "2394706612.000000000000000000" - }, - "balance": "2394706612" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1plvshn4v27lkc2nn5nqdxlznzh5vdfwp5t8lyr", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1791064, - "completion_time": "2022-02-08T12:03:56.137140659Z", - "initial_balance": "29000000", - "shares_dst": "29000000.000000000000000000" - }, - "balance": "29000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pld5vhkpaxjrtvs28w5nklvx5a95kemlcra946", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1843048, - "completion_time": "2022-02-12T03:50:59.204584979Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pl5yznygkvqhwdf78qfghtpshc69vl5anae3jp", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804648, - "completion_time": "2022-02-09T10:56:17.557616441Z", - "initial_balance": "500000000", - "shares_dst": "500200049.152218604541980123" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1pl6f5ese468ntjztn5klf2f5xs7rsa4fu079g9", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787280, - "completion_time": "2022-02-08T05:41:25.464172498Z", - "initial_balance": "12000000", - "shares_dst": "12000000.000000000000000000" - }, - "balance": "12000000" - }, - { - "redelegation_entry": { - "creation_height": 1787323, - "completion_time": "2022-02-08T05:45:42.935146818Z", - "initial_balance": "17635916", - "shares_dst": "17635916.000000000000000000" - }, - "balance": "17635916" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zqppvx5zpqvkcksscdlzp0plc3udtx4kh8nk34", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754454, - "completion_time": "2022-02-05T22:25:04.617239366Z", - "initial_balance": "203000000", - "shares_dst": "203000000.000000000000000000" - }, - "balance": "203000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zqws60y3rdf2d7mlcdla7yrth8xhpplq8rzhq8", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829672, - "completion_time": "2022-02-11T05:06:12.969128978Z", - "initial_balance": "6028321", - "shares_dst": "6028321.000000000000000000" - }, - "balance": "6028321" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zpplwfgq7rdl7skjv7qkrscwd23882303y4q5e", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1844472, - "completion_time": "2022-02-12T06:33:55.63092579Z", - "initial_balance": "9500000", - "shares_dst": "9500000.000000000000000000" - }, - "balance": "9500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zpg0d7em3ph4z4nrsckwefr4ywha595unqncmg", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1625723, - "completion_time": "2022-01-27T20:01:39.745872652Z", - "initial_balance": "4000000", - "shares_dst": "4000800.119239642450730012" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zzq4qn70ejzntaktcca5vhun75euzrlqwly2ul", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709869, - "completion_time": "2022-02-02T17:58:21.577019515Z", - "initial_balance": "124000000", - "shares_dst": "124000000.000000000000000000" - }, - "balance": "124000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zzgtt3ftgxk0dw49mt25lkh0t39e8678x9dzup", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683671, - "completion_time": "2022-01-31T21:46:30.900703227Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zrzgz2epyh7jtsk6an84jp7x7xacng224mm4ck", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649733, - "completion_time": "2022-01-29T12:27:59.299972938Z", - "initial_balance": "790050000", - "shares_dst": "790050000.000000000000000000" - }, - "balance": "790050000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zr897aughjdrjlzev56l05j4tne76ax6s6w07s", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734677, - "completion_time": "2022-02-04T11:58:05.922995532Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zr897aughjdrjlzev56l05j4tne76ax6s6w07s", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833537, - "completion_time": "2022-02-11T11:33:24.102030129Z", - "initial_balance": "159999999", - "shares_dst": "159999999.000000000000000000" - }, - "balance": "159999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zylc4lrxncscdulqhwvhnld98vm8laus7m6tfh", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774474, - "completion_time": "2022-02-07T08:04:28.102844699Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zx42s0002cd58kdqnq93z2rlnju6dgv5ef08hw", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669989, - "completion_time": "2022-01-30T22:35:09.713786241Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zx42s0002cd58kdqnq93z2rlnju6dgv5ef08hw", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692428, - "completion_time": "2022-02-01T12:35:03.029990112Z", - "initial_balance": "401066", - "shares_dst": "401066.000000000000000000" - }, - "balance": "401066" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zx42s0002cd58kdqnq93z2rlnju6dgv5ef08hw", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668519, - "completion_time": "2022-01-30T20:06:53.942079796Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zx42s0002cd58kdqnq93z2rlnju6dgv5ef08hw", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668507, - "completion_time": "2022-01-30T20:05:37.044541974Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z897fl4r790v2lrfh8s8nah6dgfzx9lcjf43q5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748423, - "completion_time": "2022-02-05T12:14:37.407613963Z", - "initial_balance": "43004300", - "shares_dst": "43004300.000000000000000000" - }, - "balance": "43004300" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z8et5fpgy9s984g8wlp4fqf6mlcvzgrdfahsjw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837168, - "completion_time": "2022-02-11T17:38:33.632992872Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zgqgnzue7rz2lhvve2qahwhchmau7s3vhdrd42", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837602, - "completion_time": "2022-02-11T18:21:59.49609591Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zgy7cr0p9s0lzkm4klsw8jyk8ya8qj5wluhpwf", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726551, - "completion_time": "2022-02-03T22:07:08.777532297Z", - "initial_balance": "1999999999", - "shares_dst": "1999999999.000000000000000000" - }, - "balance": "1999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zg99d7fkceydequjannhrpdxdawtm554ysact8", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1783525, - "completion_time": "2022-02-07T23:23:20.240125509Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zgkzppe5x5kqw7ugla0jnk6frjwl85ydn2v0lv", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599410, - "completion_time": "2022-01-25T23:41:27.786942086Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zfsyymf2852d8y07lrzfm2cc7dm6uqahch50u5", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586517, - "completion_time": "2022-01-25T01:50:22.373314002Z", - "initial_balance": "600000000", - "shares_dst": "600060005.911136169808320835" - }, - "balance": "600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z2cv4pwjwv8jrsw4qgu0mwjafm4uucd8gavu3m", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696905, - "completion_time": "2022-02-01T20:07:37.877059605Z", - "initial_balance": "111999999", - "shares_dst": "111999999.000000000000000000" - }, - "balance": "111999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zt4tztsxrk7st6ch9zlzjgay8mc9pq3vr7lkus", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1679017, - "completion_time": "2022-01-31T13:47:35.395990282Z", - "initial_balance": "34736060", - "shares_dst": "34736060.000000000000000000" - }, - "balance": "34736060" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zvg83s7xnzasgtjkcgl4x8l7rs5fr545f7d5l8", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659761, - "completion_time": "2022-01-30T05:22:53.539281854Z", - "initial_balance": "312999998", - "shares_dst": "312999998.000000000000000000" - }, - "balance": "312999998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zvg83s7xnzasgtjkcgl4x8l7rs5fr545f7d5l8", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659753, - "completion_time": "2022-01-30T05:22:05.510233523Z", - "initial_balance": "71000000", - "shares_dst": "71000000.000000000000000000" - }, - "balance": "71000000" - }, - { - "redelegation_entry": { - "creation_height": 1659765, - "completion_time": "2022-01-30T05:23:17.338314975Z", - "initial_balance": "18999999", - "shares_dst": "18999999.000000000000000000" - }, - "balance": "18999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zvs2jugfw6ns77f0640janhs800zdh209xv05k", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1627908, - "completion_time": "2022-01-27T23:42:59.91156239Z", - "initial_balance": "16900000", - "shares_dst": "16900000.000000000000000000" - }, - "balance": "16900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zdk6280whv7hydsya6mqew2dslw94spejhw8le", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700419, - "completion_time": "2022-02-02T02:02:08.618902769Z", - "initial_balance": "5000", - "shares_dst": "5000.000000000000000000" - }, - "balance": "5000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z08uavcx838t4yt87f3h8cjwdqr6xjd8ghg5kg", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771993, - "completion_time": "2022-02-07T03:54:28.425784311Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z0f5tsekv0964dlk653vtutrtsftna473qn3s2", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1646148, - "completion_time": "2022-01-29T06:27:24.692762589Z", - "initial_balance": "1135500000", - "shares_dst": "1135500000.000000000000000000" - }, - "balance": "1135500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zsfj26q6fyyvv2q7wf2rxlalgjmhnzctnux53k", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727497, - "completion_time": "2022-02-03T23:45:13.013289083Z", - "initial_balance": "150000000", - "shares_dst": "150075022.466615387989485721" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zskq7uc72mazdxe6tdnm4ezzj46t35sru9g6ez", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839650, - "completion_time": "2022-02-11T21:48:23.464921618Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zshdax0utt3uxx0fra4g8nyvhl3axwkxyyu2j9", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778886, - "completion_time": "2022-02-07T15:30:56.337341145Z", - "initial_balance": "6999999", - "shares_dst": "6999999.000000000000000000" - }, - "balance": "6999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z3cahmxn3wzgavwdrhm3ncy8ckug6y39z42hzk", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1798389, - "completion_time": "2022-02-09T00:24:55.68357784Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z3cahmxn3wzgavwdrhm3ncy8ckug6y39z42hzk", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1798385, - "completion_time": "2022-02-09T00:24:31.462564948Z", - "initial_balance": "99980000", - "shares_dst": "99980000.000000000000000000" - }, - "balance": "99980000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zjm0qqwdsdh2ythwstgy0yf9qv2c0ptvsaglvk", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794868, - "completion_time": "2022-02-08T18:27:44.128880443Z", - "initial_balance": "10047568", - "shares_dst": "10047568.000000000000000000" - }, - "balance": "10047568" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zn52ygdnx2l88zsthsc3uj86y53z3ttww2gmse", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836907, - "completion_time": "2022-02-11T17:12:27.415101983Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zn52ygdnx2l88zsthsc3uj86y53z3ttww2gmse", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801196, - "completion_time": "2022-02-09T05:08:14.702892874Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z53f9885wcf4h2ncrd7002axgnn705zns907nj", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1806690, - "completion_time": "2022-02-09T14:21:23.175753277Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z5j67zmyjfazwl55s3mkqy6nq6fhdqcrcjn8z2", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781627, - "completion_time": "2022-02-07T20:10:45.662415942Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z54nnm0rmwje3e003g0m6vm9crjvfnsetv6xcc", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648087, - "completion_time": "2022-01-29T09:42:12.578461665Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z54nnm0rmwje3e003g0m6vm9crjvfnsetv6xcc", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648077, - "completion_time": "2022-01-29T09:41:12.305859256Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z5udexut6p6jsppevglyvce43cq7jk3lktcwqg", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727063, - "completion_time": "2022-02-03T23:00:05.118988447Z", - "initial_balance": "1099999", - "shares_dst": "1099999.000000000000000000" - }, - "balance": "1099999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z4gfz8zxky3tzewxv7vspyh2y2fy6tzlx6mjvq", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800895, - "completion_time": "2022-02-09T04:37:46.188280727Z", - "initial_balance": "2500000", - "shares_dst": "2500000.000000000000000000" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zkq5qhdudm2p92rl9caedkcefcqw9jca32g657", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1591739, - "completion_time": "2022-01-25T10:41:30.878843386Z", - "initial_balance": "51999999", - "shares_dst": "51999999.000000000000000000" - }, - "balance": "51999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zkq5qhdudm2p92rl9caedkcefcqw9jca32g657", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1591744, - "completion_time": "2022-01-25T10:42:00.318127057Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zk5y4tx8a5g8wa0xtsmzanqhu52y4a2dgxwlz9", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685257, - "completion_time": "2022-02-01T00:29:07.014127835Z", - "initial_balance": "492000000", - "shares_dst": "492049204.838516955852941263" - }, - "balance": "492000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671365, - "completion_time": "2022-01-31T00:53:57.95970165Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671391, - "completion_time": "2022-01-31T00:56:33.513289303Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671375, - "completion_time": "2022-01-31T00:54:57.954220749Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671400, - "completion_time": "2022-01-31T00:57:27.732785666Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671382, - "completion_time": "2022-01-31T00:55:39.60220931Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgzrpuqzp78tcraqtl0tu94ytch835nglqppp", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671508, - "completion_time": "2022-01-31T01:08:32.85239603Z", - "initial_balance": "1500500000", - "shares_dst": "1500500000.000000000000000000" - }, - "balance": "1500500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgya8vu47cscpn7xywapg92mz4r27h74sp0jl", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794400, - "completion_time": "2022-02-08T17:40:40.441652788Z", - "initial_balance": "19000000", - "shares_dst": "19003800.555482515506491812" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgya8vu47cscpn7xywapg92mz4r27h74sp0jl", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794411, - "completion_time": "2022-02-08T17:41:46.450385232Z", - "initial_balance": "5000000", - "shares_dst": "5001000.146179609343813634" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhgya8vu47cscpn7xywapg92mz4r27h74sp0jl", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794407, - "completion_time": "2022-02-08T17:41:22.372842684Z", - "initial_balance": "11000000", - "shares_dst": "11002200.321595140556389996" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zh3atlxnu9q0nvsz6yldjl3n76j7wha7ts9lu3", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1609921, - "completion_time": "2022-01-26T17:21:10.553556716Z", - "initial_balance": "111999999", - "shares_dst": "111999999.000000000000000000" - }, - "balance": "111999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zhe7lgwvqztsrmrjwrge3fdrsyfh2hv4ammqx0", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774318, - "completion_time": "2022-02-07T07:48:45.716503754Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - }, - { - "redelegation_entry": { - "creation_height": 1774332, - "completion_time": "2022-02-07T07:50:10.254934032Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - }, - { - "redelegation_entry": { - "creation_height": 1774341, - "completion_time": "2022-02-07T07:51:06.471692072Z", - "initial_balance": "900000000", - "shares_dst": "900000000.000000000000000000" - }, - "balance": "900000000" - }, - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "4000000000", - "shares_dst": "4000000000.000000000000000000" - }, - "balance": "4000000000" - }, - { - "redelegation_entry": { - "creation_height": 1774365, - "completion_time": "2022-02-07T07:53:31.227376832Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - }, - { - "redelegation_entry": { - "creation_height": 1774393, - "completion_time": "2022-02-07T07:56:19.742568833Z", - "initial_balance": "197000000", - "shares_dst": "197000000.000000000000000000" - }, - "balance": "197000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zcze6lnxfgqwfhv9f42ydk42lm5grjhr8teua3", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687194, - "completion_time": "2022-02-01T03:46:37.832080332Z", - "initial_balance": "170300000", - "shares_dst": "170300000.000000000000000000" - }, - "balance": "170300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zcvel4ydyhcc8d7p7g70z6apsfkl2gdkm0ekz7", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727013, - "completion_time": "2022-02-03T22:54:50.912490574Z", - "initial_balance": "33332999999", - "shares_dst": "33332999999.000000000000000000" - }, - "balance": "33332999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zc0pt857kln3kuvqdy3jmljksexrmt2tpu9n9c", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721506, - "completion_time": "2022-02-03T13:34:55.433052994Z", - "initial_balance": "92000000", - "shares_dst": "92000000.000000000000000000" - }, - "balance": "92000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zc0pt857kln3kuvqdy3jmljksexrmt2tpu9n9c", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721496, - "completion_time": "2022-02-03T13:33:55.397533438Z", - "initial_balance": "167000000", - "shares_dst": "173867786.082839921998503933" - }, - "balance": "167000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zc0pt857kln3kuvqdy3jmljksexrmt2tpu9n9c", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721526, - "completion_time": "2022-02-03T13:36:55.465738642Z", - "initial_balance": "134000000", - "shares_dst": "134000000.000000000000000000" - }, - "balance": "134000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zc0pt857kln3kuvqdy3jmljksexrmt2tpu9n9c", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721489, - "completion_time": "2022-02-03T13:33:13.888811721Z", - "initial_balance": "184000000", - "shares_dst": "184000000.000000000000000000" - }, - "balance": "184000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zclmg3qsz3tme7m3ptcjgkjecq7n44y6st89ha", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837524, - "completion_time": "2022-02-11T18:14:11.429444171Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zepqr2hhywz7w8gvy5kfxpmlepdncpufcf9tw6", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836978, - "completion_time": "2022-02-11T17:19:33.886948797Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zepqr2hhywz7w8gvy5kfxpmlepdncpufcf9tw6", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801612, - "completion_time": "2022-02-09T05:50:02.920684631Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zes9fs3u44aemegvad9rnc74hml6wtyjprylme", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586358, - "completion_time": "2022-01-25T01:33:55.289416206Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zes9fs3u44aemegvad9rnc74hml6wtyjprylme", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586362, - "completion_time": "2022-01-25T01:34:20.752913405Z", - "initial_balance": "3200000", - "shares_dst": "3200000.000000000000000000" - }, - "balance": "3200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1z637yzshkzanmulwx2jeq4qd64h40737e26wtk", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809884, - "completion_time": "2022-02-09T19:52:33.785345835Z", - "initial_balance": "225999999", - "shares_dst": "225999999.000000000000000000" - }, - "balance": "225999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zmqgf9ysvxgwmv5j3gljpc95zv5m5s8hh9y4ze", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601876, - "completion_time": "2022-01-26T03:49:46.436654Z", - "initial_balance": "972000000", - "shares_dst": "972000000.000000000000000000" - }, - "balance": "972000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zmqgf9ysvxgwmv5j3gljpc95zv5m5s8hh9y4ze", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601884, - "completion_time": "2022-01-26T03:50:34.416390186Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zmqgf9ysvxgwmv5j3gljpc95zv5m5s8hh9y4ze", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601880, - "completion_time": "2022-01-26T03:50:10.182536671Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zmgnzz2m6tg79hjdhh3veyakgell3mwvj3dr9e", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692189, - "completion_time": "2022-02-01T12:10:52.498068366Z", - "initial_balance": "17900000000", - "shares_dst": "17900000000.000000000000000000" - }, - "balance": "17900000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zmd3kpekzknw43vuxvucz0f55dx9yp96h3454h", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1677918, - "completion_time": "2022-01-31T11:55:47.530197905Z", - "initial_balance": "50400000", - "shares_dst": "50400000.000000000000000000" - }, - "balance": "50400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zm0f30s6y3y6te6dsgaz0s9dtvgqkwj7rxsscn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750620, - "completion_time": "2022-02-05T15:57:52.873868723Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zuaye543wse6styysluh8jkncnw07cc2vk5sa4", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736095, - "completion_time": "2022-02-04T14:21:57.010663332Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zawmd4mpc525vcqcfk28j9fezsfdg7atzvqfdm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709797, - "completion_time": "2022-02-02T17:51:00.19744836Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zaaks2fjxwtlpnv5vjx0dqnxlqmrsgc3870qxy", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836058, - "completion_time": "2022-02-11T15:46:47.522500422Z", - "initial_balance": "2547299999", - "shares_dst": "2547299999.000000000000000000" - }, - "balance": "2547299999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlyxr6cp96xy9uycre7rmffrmvtkj64e5rjrnq", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849713, - "completion_time": "2022-02-12T16:55:35.82087832Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlyxr6cp96xy9uycre7rmffrmvtkj64e5rjrnq", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849720, - "completion_time": "2022-02-12T16:56:18.14326024Z", - "initial_balance": "9997999", - "shares_dst": "9997999.000000000000000000" - }, - "balance": "9997999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlyxr6cp96xy9uycre7rmffrmvtkj64e5rjrnq", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849696, - "completion_time": "2022-02-12T16:53:46.434175968Z", - "initial_balance": "2500655909", - "shares_dst": "2500655909.000000000000000000" - }, - "balance": "2500655909" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlfe6zsuy9qffzy24cw2p7h7vg8thn4gk9vvw0", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831280, - "completion_time": "2022-02-11T07:47:31.150364707Z", - "initial_balance": "2000000", - "shares_dst": "2000200.019640585096829367" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlfe6zsuy9qffzy24cw2p7h7vg8thn4gk9vvw0", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831302, - "completion_time": "2022-02-11T07:49:43.368833433Z", - "initial_balance": "1305270", - "shares_dst": "1305270.000000000000000000" - }, - "balance": "1305270" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlfe6zsuy9qffzy24cw2p7h7vg8thn4gk9vvw0", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831297, - "completion_time": "2022-02-11T07:49:13.31839226Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zldscduwgzs0ml7yn7w7lejnq4l0gpwtqvu3c3", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645630, - "completion_time": "2022-01-29T05:35:20.415027098Z", - "initial_balance": "1060000000", - "shares_dst": "1060000000.000000000000000000" - }, - "balance": "1060000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1zlep3e5cc67mywmppq39p26du90ktslcgwsghu", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624240, - "completion_time": "2022-01-27T17:30:46.386466382Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rpkh92pc300mtke35hmudpm7rzllstyj7sz54h", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1853133, - "completion_time": "2022-02-12T23:28:55.557651172Z", - "initial_balance": "114160", - "shares_dst": "114160.000000000000000000" - }, - "balance": "114160" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rpkh92pc300mtke35hmudpm7rzllstyj7sz54h", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1853120, - "completion_time": "2022-02-12T23:25:37.031876236Z", - "initial_balance": "2243226", - "shares_dst": "2243226.000000000000000000" - }, - "balance": "2243226" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rraxxc5pff97evup9ku459hrrqv8xv09v9qr3n", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586104, - "completion_time": "2022-01-25T01:07:58.150392945Z", - "initial_balance": "320646793", - "shares_dst": "320646793.000000000000000000" - }, - "balance": "320646793" - }, - { - "redelegation_entry": { - "creation_height": 1586113, - "completion_time": "2022-01-25T01:08:53.553543603Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rraxxc5pff97evup9ku459hrrqv8xv09v9qr3n", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586087, - "completion_time": "2022-01-25T01:06:14.859487325Z", - "initial_balance": "17072984", - "shares_dst": "17072984.000000000000000000" - }, - "balance": "17072984" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rya3z93drnd0lmu40q02n6slm3h2tpep3x3yhl", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709591, - "completion_time": "2022-02-02T17:30:02.02197519Z", - "initial_balance": "108000000", - "shares_dst": "108000000.000000000000000000" - }, - "balance": "108000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635876, - "completion_time": "2022-01-28T13:07:37.817359304Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635838, - "completion_time": "2022-01-28T13:03:48.854270138Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635890, - "completion_time": "2022-01-28T13:09:02.87662109Z", - "initial_balance": "99999", - "shares_dst": "99999.000000000000000000" - }, - "balance": "99999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635893, - "completion_time": "2022-01-28T13:09:21.40103297Z", - "initial_balance": "100000", - "shares_dst": "100000.000000000000000000" - }, - "balance": "100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635843, - "completion_time": "2022-01-28T13:04:20.913217894Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635883, - "completion_time": "2022-01-28T13:08:19.99443226Z", - "initial_balance": "72000001", - "shares_dst": "72000001.000000000000000000" - }, - "balance": "72000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635850, - "completion_time": "2022-01-28T13:05:02.451146034Z", - "initial_balance": "71999998", - "shares_dst": "71999998.000000000000000000" - }, - "balance": "71999998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635864, - "completion_time": "2022-01-28T13:06:25.949570968Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635872, - "completion_time": "2022-01-28T13:07:13.503666062Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635846, - "completion_time": "2022-01-28T13:04:38.556220509Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635887, - "completion_time": "2022-01-28T13:08:45.027909927Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635869, - "completion_time": "2022-01-28T13:06:55.541403274Z", - "initial_balance": "72000001", - "shares_dst": "72000001.000000000000000000" - }, - "balance": "72000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r9rhxhd80lsuyxnwvultxzvuaydlvgkqx47ujh", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635880, - "completion_time": "2022-01-28T13:08:02.149389679Z", - "initial_balance": "72000000", - "shares_dst": "72000000.000000000000000000" - }, - "balance": "72000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rx9wk7vc6x4r27j3ulq6ztd34qamvxq3a7t0yq", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707039, - "completion_time": "2022-02-02T13:10:55.372870554Z", - "initial_balance": "584400000", - "shares_dst": "584400000.000000000000000000" - }, - "balance": "584400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rx5cvn5ver48u8636dndsjknjp7fm97x889jnl", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736133, - "completion_time": "2022-02-04T14:25:48.143214608Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rgx7pqc87xj7k35qzk6094rmsa44wayk8y4pgj", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645116, - "completion_time": "2022-01-29T04:43:51.6469615Z", - "initial_balance": "1016000000", - "shares_dst": "1016000000.000000000000000000" - }, - "balance": "1016000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rg6svld5srr9u9clg8mw9ch2rq9he6ulaaez7j", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796128, - "completion_time": "2022-02-08T20:35:48.921093917Z", - "initial_balance": "1639770000", - "shares_dst": "1639770000.000000000000000000" - }, - "balance": "1639770000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rg6svld5srr9u9clg8mw9ch2rq9he6ulaaez7j", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796062, - "completion_time": "2022-02-08T20:29:01.550445865Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rf9q8aycaczvtgysj83klv5usqvfes3mzur9uj", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1608474, - "completion_time": "2022-01-26T14:54:36.785136097Z", - "initial_balance": "54999999", - "shares_dst": "54999999.000000000000000000" - }, - "balance": "54999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rfmndrf8mv4jl2m95stww6ku73g8ax0mhv2k88", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1691437, - "completion_time": "2022-02-01T10:54:56.547854374Z", - "initial_balance": "727182870", - "shares_dst": "727182870.000000000000000000" - }, - "balance": "727182870" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r2a0kccfe8jlsm8agclla0vztg7wdzyzqjdjkg", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722484, - "completion_time": "2022-02-03T15:14:25.436249308Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r2a0kccfe8jlsm8agclla0vztg7wdzyzqjdjkg", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722487, - "completion_time": "2022-02-03T15:14:43.559638784Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r2a0kccfe8jlsm8agclla0vztg7wdzyzqjdjkg", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722490, - "completion_time": "2022-02-03T15:15:02.030590839Z", - "initial_balance": "3999600", - "shares_dst": "3999600.000000000000000000" - }, - "balance": "3999600" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rtc54dh4zmq06pkssphvff04r0st2k3emspwhl", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680997, - "completion_time": "2022-01-31T17:10:55.90489945Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rtc54dh4zmq06pkssphvff04r0st2k3emspwhl", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849397, - "completion_time": "2022-02-12T16:15:22.274147792Z", - "initial_balance": "999999", - "shares_dst": "999999.000000000000000000" - }, - "balance": "999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rv8gre0527a4dq24yrcplzvu5k8d4kre778rt7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695754, - "completion_time": "2022-02-01T18:10:55.959672648Z", - "initial_balance": "9900000", - "shares_dst": "9900000.000000000000000000" - }, - "balance": "9900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rv30wclldcltczcdu3xr5gcnqwdx0qheygd357", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601734, - "completion_time": "2022-01-26T03:35:29.017223855Z", - "initial_balance": "1837400000", - "shares_dst": "1837400000.000000000000000000" - }, - "balance": "1837400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rv30wclldcltczcdu3xr5gcnqwdx0qheygd357", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601738, - "completion_time": "2022-01-26T03:35:53.919516588Z", - "initial_balance": "1716490000", - "shares_dst": "1716490000.000000000000000000" - }, - "balance": "1716490000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rd3c8zt6ae8nhn0gkhwjd4qtmjjar0d6lvl655", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809129, - "completion_time": "2022-02-09T18:35:51.997711271Z", - "initial_balance": "983615", - "shares_dst": "983615.000000000000000000" - }, - "balance": "983615" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rw0627up8eyrs7wfdmmdem6v2qwjvt2ysmx5n4", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830520, - "completion_time": "2022-02-11T06:31:13.447060065Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rw0627up8eyrs7wfdmmdem6v2qwjvt2ysmx5n4", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800653, - "completion_time": "2022-02-09T04:13:21.750902Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r04x5d5txexpap55cqxx3c6nqh7ysks0dgcp7j", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813586, - "completion_time": "2022-02-10T02:05:36.394361051Z", - "initial_balance": "53000000", - "shares_dst": "53000000.000000000000000000" - }, - "balance": "53000000" - }, - { - "redelegation_entry": { - "creation_height": 1814004, - "completion_time": "2022-02-10T02:47:43.734560828Z", - "initial_balance": "20999999", - "shares_dst": "20999999.000000000000000000" - }, - "balance": "20999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596773, - "completion_time": "2022-01-25T19:14:05.048604575Z", - "initial_balance": "20000000", - "shares_dst": "20210103.027737628503942062" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596769, - "completion_time": "2022-01-25T19:13:40.392596521Z", - "initial_balance": "10000000", - "shares_dst": "10105051.513868814251971031" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596789, - "completion_time": "2022-01-25T19:15:41.52158865Z", - "initial_balance": "14999999", - "shares_dst": "15157576.260298069991075121" - }, - "balance": "14999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596796, - "completion_time": "2022-01-25T19:16:24.357748571Z", - "initial_balance": "10000000", - "shares_dst": "10105051.513868814251971031" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596782, - "completion_time": "2022-01-25T19:14:59.256521333Z", - "initial_balance": "10000000", - "shares_dst": "10105051.513868814251971031" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596809, - "completion_time": "2022-01-25T19:17:43.180287603Z", - "initial_balance": "9999999", - "shares_dst": "10105050.503363662865089606" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596785, - "completion_time": "2022-01-25T19:15:17.34594493Z", - "initial_balance": "9999999", - "shares_dst": "10105050.503363662865089606" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596792, - "completion_time": "2022-01-25T19:15:59.438178412Z", - "initial_balance": "19999999", - "shares_dst": "20210102.017232477117060637" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596818, - "completion_time": "2022-01-25T19:18:37.327505677Z", - "initial_balance": "9999999", - "shares_dst": "10105050.503363662865089606" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rs9clm3nc776y0amnjd47p55qqv5a7w6zmgwxa", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596778, - "completion_time": "2022-01-25T19:14:35.280125909Z", - "initial_balance": "10000000", - "shares_dst": "10105051.513868814251971031" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rsxx5xupexhrlgm5vwtmv40vvmrsyfce8lqss9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781243, - "completion_time": "2022-02-07T19:31:09.697104799Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - }, - { - "redelegation_entry": { - "creation_height": 1781247, - "completion_time": "2022-02-07T19:31:33.571377404Z", - "initial_balance": "48000000", - "shares_dst": "48000000.000000000000000000" - }, - "balance": "48000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rsxx5xupexhrlgm5vwtmv40vvmrsyfce8lqss9", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795294, - "completion_time": "2022-02-08T19:11:05.815824934Z", - "initial_balance": "43000000", - "shares_dst": "43000000.000000000000000000" - }, - "balance": "43000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rsw26aysaq4p3qtxl5e3c07yrx7ldx56vyc2vm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733214, - "completion_time": "2022-02-04T09:30:37.047660062Z", - "initial_balance": "52000000", - "shares_dst": "52000000.000000000000000000" - }, - "balance": "52000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r3x7xln2ylnp7c0nnsn8n0hr59ff2u8t0yn7xz", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836972, - "completion_time": "2022-02-11T17:18:57.868393505Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r3x7xln2ylnp7c0nnsn8n0hr59ff2u8t0yn7xz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801597, - "completion_time": "2022-02-09T05:48:31.865148887Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rjwt9cnezqt4sjuvfm36z7qz0ghl9mpefmacud", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754520, - "completion_time": "2022-02-05T22:31:39.90208733Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - }, - { - "redelegation_entry": { - "creation_height": 1754566, - "completion_time": "2022-02-05T22:36:17.700781671Z", - "initial_balance": "49000000", - "shares_dst": "49000000.000000000000000000" - }, - "balance": "49000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r5fylux8v2spetw89w4kuqzc27vd06h69gy05h", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1759924, - "completion_time": "2022-02-06T07:35:41.403520893Z", - "initial_balance": "32639778", - "shares_dst": "32643042.298532680951191015" - }, - "balance": "32639778" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r5tjkj5x4kc98n5syy9spputcvgsfgq0j58zja", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1641698, - "completion_time": "2022-01-28T22:59:50.015295523Z", - "initial_balance": "100790000", - "shares_dst": "100790000.000000000000000000" - }, - "balance": "100790000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r5vev0tw9ztymye8dv72u33v6psa4pvnfzn2z5", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797953, - "completion_time": "2022-02-08T23:40:54.929709826Z", - "initial_balance": "20292648", - "shares_dst": "20292648.000000000000000000" - }, - "balance": "20292648" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r5we7wvx9mream4jzsdnszat4yq2nfa3rmpvhc", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823216, - "completion_time": "2022-02-10T18:15:06.429820973Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r4gdjzz239msl2nhe4c22gjt9n43rv672gnxgz", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1650515, - "completion_time": "2022-01-29T13:47:06.422587151Z", - "initial_balance": "200000000", - "shares_dst": "202101030.277216069027892680" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r47fh5va7zu9jlr3u28j9c59spkx8jgj4wkxyd", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1701744, - "completion_time": "2022-02-02T04:15:44.168268462Z", - "initial_balance": "121990000", - "shares_dst": "121990000.000000000000000000" - }, - "balance": "121990000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rksdun4z9k54p94hepn3gden99728xwaq5rnkn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676072, - "completion_time": "2022-01-31T08:48:45.564106755Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rksdun4z9k54p94hepn3gden99728xwaq5rnkn", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830293, - "completion_time": "2022-02-11T06:08:33.199562086Z", - "initial_balance": "66500000", - "shares_dst": "66500000.000000000000000000" - }, - "balance": "66500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rksdun4z9k54p94hepn3gden99728xwaq5rnkn", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676059, - "completion_time": "2022-01-31T08:47:26.455432434Z", - "initial_balance": "28300000", - "shares_dst": "28300000.000000000000000000" - }, - "balance": "28300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rk6qdahk8s7e5pn7354ddfzu90qfcd8jncsl3c", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713253, - "completion_time": "2022-02-02T23:41:44.453181836Z", - "initial_balance": "2207360656", - "shares_dst": "2207360656.000000000000000000" - }, - "balance": "2207360656" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rhux03syy04t2w0ajl3myls5246rr9zzy4qy4u", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845535, - "completion_time": "2022-02-12T08:37:07.9047667Z", - "initial_balance": "74361428", - "shares_dst": "74361428.000000000000000000" - }, - "balance": "74361428" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rc6fuvkx33yzk57u6dz6l9fg8a53xcezcyq28l", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682439, - "completion_time": "2022-01-31T19:39:56.874051808Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645157, - "completion_time": "2022-01-29T04:47:59.472030931Z", - "initial_balance": "325000000", - "shares_dst": "325000000.000000000000000000" - }, - "balance": "325000000" - }, - { - "redelegation_entry": { - "creation_height": 1709505, - "completion_time": "2022-02-02T17:21:19.698444893Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - }, - { - "redelegation_entry": { - "creation_height": 1709564, - "completion_time": "2022-02-02T17:27:17.830770237Z", - "initial_balance": "50000", - "shares_dst": "50000.000000000000000000" - }, - "balance": "50000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821765, - "completion_time": "2022-02-10T15:48:44.720964031Z", - "initial_balance": "1000000", - "shares_dst": "1000200.029766703113008660" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1reyu06xkcfaq6exwp7g03t6dfljlmfy2rc53xh", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821646, - "completion_time": "2022-02-10T15:36:47.336346722Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r62qllyxls8j4cd66rkl2pfrw9fn03whm7pyl6", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640556, - "completion_time": "2022-01-28T21:03:28.917419257Z", - "initial_balance": "299000000", - "shares_dst": "299000000.000000000000000000" - }, - "balance": "299000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r6uhugcyqtk764cdcuvjvcnyn9tg8vtftxu4p0", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587728, - "completion_time": "2022-01-25T03:53:47.524840136Z", - "initial_balance": "1278000000", - "shares_dst": "1278000000.000000000000000000" - }, - "balance": "1278000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r6uhugcyqtk764cdcuvjvcnyn9tg8vtftxu4p0", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587714, - "completion_time": "2022-01-25T03:52:22.802049616Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - }, - { - "redelegation_entry": { - "creation_height": 1587763, - "completion_time": "2022-01-25T03:57:18.999148414Z", - "initial_balance": "223000000", - "shares_dst": "223000000.000000000000000000" - }, - "balance": "223000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r6uhugcyqtk764cdcuvjvcnyn9tg8vtftxu4p0", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730592, - "completion_time": "2022-02-04T05:04:32.260183772Z", - "initial_balance": "788542500", - "shares_dst": "788542500.000000000000000000" - }, - "balance": "788542500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ru0fp5sheepcmawau8rujdzlssw6v2wput7n4z", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1611968, - "completion_time": "2022-01-26T20:50:18.788949249Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ru0w87dfn6fn9x4n5we0epw2a09s4w76nyxv20", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777969, - "completion_time": "2022-02-07T13:58:35.556942928Z", - "initial_balance": "240000000", - "shares_dst": "240000000.000000000000000000" - }, - "balance": "240000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rusq0mgz55rzn9npwlpc7spaa98rdlkuv4zz33", - "validator_src_address": "secretvaloper1404h4aet3jn8uw7660670nqej2plsgqul74mjp", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1631486, - "completion_time": "2022-01-28T05:43:42.305597077Z", - "initial_balance": "250000000", - "shares_dst": "250050007.488909159444356883" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rucax6sz34k8xw6p499dqm9yvchea6c2j8tulm", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585778, - "completion_time": "2022-01-25T00:34:22.898788362Z", - "initial_balance": "22000000", - "shares_dst": "22000000.000000000000000000" - }, - "balance": "22000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rucax6sz34k8xw6p499dqm9yvchea6c2j8tulm", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585788, - "completion_time": "2022-01-25T00:35:27.44811275Z", - "initial_balance": "32000000", - "shares_dst": "32000000.000000000000000000" - }, - "balance": "32000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rucax6sz34k8xw6p499dqm9yvchea6c2j8tulm", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585768, - "completion_time": "2022-01-25T00:33:23.281210111Z", - "initial_balance": "170733000", - "shares_dst": "170733000.000000000000000000" - }, - "balance": "170733000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1r78y2er2wgg2ej77h2dxskk57fzq4ammxptjcw", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1825588, - "completion_time": "2022-02-10T22:14:06.425766161Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1rl4exzwq4dvgcwyljtc7qqdwxnyvy9j3d0lkx9", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695425, - "completion_time": "2022-02-01T17:37:32.774140696Z", - "initial_balance": "100108738", - "shares_dst": "100108738.000000000000000000" - }, - "balance": "100108738" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yqps9ggmqmj3q9hmvu2paa62qdftv33tdvd796", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647928, - "completion_time": "2022-01-29T09:26:09.376402689Z", - "initial_balance": "202303124", - "shares_dst": "202303124.000000000000000000" - }, - "balance": "202303124" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yp03wnjzjwv8cen4z4m9ayttaz54cqmjuh2jxq", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739965, - "completion_time": "2022-02-04T21:15:10.164340952Z", - "initial_balance": "65000000", - "shares_dst": "65000000.000000000000000000" - }, - "balance": "65000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ypuat7628me2em652puaf4qsdrc7rkv8nq2c3w", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1705442, - "completion_time": "2022-02-02T10:29:49.430079579Z", - "initial_balance": "8990000000", - "shares_dst": "8990000000.000000000000000000" - }, - "balance": "8990000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzy0rnm4lrczfappwg7kyaxgn99xey6lmuuc6t", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695588, - "completion_time": "2022-02-01T17:54:06.518684172Z", - "initial_balance": "14190000000", - "shares_dst": "14190000000.000000000000000000" - }, - "balance": "14190000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzy0rnm4lrczfappwg7kyaxgn99xey6lmuuc6t", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695581, - "completion_time": "2022-02-01T17:53:23.882149317Z", - "initial_balance": "7039000000", - "shares_dst": "7039000000.000000000000000000" - }, - "balance": "7039000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzvsxs90zhwuqkrymztkwgtw78xwxfracjfx43", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737074, - "completion_time": "2022-02-04T16:03:32.268081312Z", - "initial_balance": "204000000", - "shares_dst": "204000000.000000000000000000" - }, - "balance": "204000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzvsxs90zhwuqkrymztkwgtw78xwxfracjfx43", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737085, - "completion_time": "2022-02-04T16:04:39.868392638Z", - "initial_balance": "2100000", - "shares_dst": "2100000.000000000000000000" - }, - "balance": "2100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzvsxs90zhwuqkrymztkwgtw78xwxfracjfx43", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737101, - "completion_time": "2022-02-04T16:06:17.628371051Z", - "initial_balance": "7999200", - "shares_dst": "7999200.000000000000000000" - }, - "balance": "7999200" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzj0a3h42dqm0jm7j5c69vxwr0dtq5e0jurru5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583712, - "completion_time": "2022-01-24T21:00:12.506297761Z", - "initial_balance": "49599071", - "shares_dst": "49599071.000000000000000000" - }, - "balance": "49599071" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzj0a3h42dqm0jm7j5c69vxwr0dtq5e0jurru5", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583722, - "completion_time": "2022-01-24T21:01:13.449157727Z", - "initial_balance": "36020123", - "shares_dst": "36020123.000000000000000000" - }, - "balance": "36020123" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzj0a3h42dqm0jm7j5c69vxwr0dtq5e0jurru5", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583716, - "completion_time": "2022-01-24T21:00:36.630774882Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzj0a3h42dqm0jm7j5c69vxwr0dtq5e0jurru5", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583726, - "completion_time": "2022-01-24T21:01:38.059968882Z", - "initial_balance": "79444343", - "shares_dst": "79444343.000000000000000000" - }, - "balance": "79444343" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yzj0a3h42dqm0jm7j5c69vxwr0dtq5e0jurru5", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583719, - "completion_time": "2022-01-24T21:00:54.768293742Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725182, - "completion_time": "2022-02-03T19:48:16.643844113Z", - "initial_balance": "2499999", - "shares_dst": "2499999.000000000000000000" - }, - "balance": "2499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725175, - "completion_time": "2022-02-03T19:47:32.825601367Z", - "initial_balance": "11000000", - "shares_dst": "11000000.000000000000000000" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725198, - "completion_time": "2022-02-03T19:49:53.012171921Z", - "initial_balance": "72500000", - "shares_dst": "72500000.000000000000000000" - }, - "balance": "72500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725208, - "completion_time": "2022-02-03T19:50:53.533910633Z", - "initial_balance": "44000000", - "shares_dst": "44000000.000000000000000000" - }, - "balance": "44000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725194, - "completion_time": "2022-02-03T19:49:28.92716343Z", - "initial_balance": "29899999", - "shares_dst": "29899999.000000000000000000" - }, - "balance": "29899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725190, - "completion_time": "2022-02-03T19:49:04.932961609Z", - "initial_balance": "109000000", - "shares_dst": "109000000.000000000000000000" - }, - "balance": "109000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yyshydm7lzf4nt5eftx7gced2qfl64xscaevz0", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725202, - "completion_time": "2022-02-03T19:50:17.489752362Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9vxtmm0yw6kspkg0jtwhm86rh3afatayprcah", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1872219, - "completion_time": "2022-02-14T10:12:40.359277317Z", - "initial_balance": "94800000", - "shares_dst": "94800000.000000000000000000" - }, - "balance": "94800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9vxtmm0yw6kspkg0jtwhm86rh3afatayprcah", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1872228, - "completion_time": "2022-02-14T10:13:34.185094946Z", - "initial_balance": "34650000", - "shares_dst": "34663863.406094184862917954" - }, - "balance": "34650000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9shrex5xujghnw9qtljgwxsw9nq2wkavxarwz", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736082, - "completion_time": "2022-02-04T14:20:33.886504689Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1705046, - "completion_time": "2022-02-02T09:49:48.598487864Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654423, - "completion_time": "2022-01-29T20:23:42.518496333Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1404h4aet3jn8uw7660670nqej2plsgqul74mjp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1592399, - "completion_time": "2022-01-25T11:48:01.25753157Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779258, - "completion_time": "2022-02-07T16:08:20.019179739Z", - "initial_balance": "1200000", - "shares_dst": "1200000.000000000000000000" - }, - "balance": "1200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678763, - "completion_time": "2022-01-31T13:21:49.614802746Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y9nw8kv9637fntl9j23za752ymrez2e7v38cyu", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678768, - "completion_time": "2022-01-31T13:22:19.584750588Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - }, - { - "redelegation_entry": { - "creation_height": 1795400, - "completion_time": "2022-02-08T19:21:53.593064387Z", - "initial_balance": "10000", - "shares_dst": "10000.000000000000000000" - }, - "balance": "10000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y946vr3nxmxp4ueuunt4hazmvf5srdk9cm29u8", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1582916, - "completion_time": "2022-01-24T19:37:17.501003359Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yxpg4wg29t5qfkm30zl2lewqltwn5txyafptkq", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765076, - "completion_time": "2022-02-06T16:16:13.956141672Z", - "initial_balance": "165818494", - "shares_dst": "165818494.000000000000000000" - }, - "balance": "165818494" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yx3xxnehawknwcr865c57kcjw9cqrhragumw2v", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680546, - "completion_time": "2022-01-31T16:24:56.014560595Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - }, - { - "redelegation_entry": { - "creation_height": 1680551, - "completion_time": "2022-01-31T16:25:26.220436583Z", - "initial_balance": "75100000", - "shares_dst": "75100000.000000000000000000" - }, - "balance": "75100000" - }, - { - "redelegation_entry": { - "creation_height": 1680569, - "completion_time": "2022-01-31T16:27:14.940027377Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yx3xxnehawknwcr865c57kcjw9cqrhragumw2v", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680573, - "completion_time": "2022-01-31T16:27:39.457279775Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yx3xxnehawknwcr865c57kcjw9cqrhragumw2v", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680524, - "completion_time": "2022-01-31T16:22:34.804005849Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yx3xxnehawknwcr865c57kcjw9cqrhragumw2v", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680535, - "completion_time": "2022-01-31T16:23:42.526821753Z", - "initial_balance": "261439999", - "shares_dst": "261439999.000000000000000000" - }, - "balance": "261439999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yx3xxnehawknwcr865c57kcjw9cqrhragumw2v", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680530, - "completion_time": "2022-01-31T16:23:11.732311032Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yxjf2a7slrp9ngpzsr758awkv38a927p9l82jw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837323, - "completion_time": "2022-02-11T17:53:59.780809048Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yglyhr6wxqyx0uc3g5tspmw8z7zegzf6uxr33r", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731900, - "completion_time": "2022-02-04T07:17:43.628125088Z", - "initial_balance": "99500000", - "shares_dst": "99500000.000000000000000000" - }, - "balance": "99500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yfqtggkg2zhkexjg3cs8m5srwwm78p3ysymdug", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640103, - "completion_time": "2022-01-28T20:17:32.102348727Z", - "initial_balance": "34100000", - "shares_dst": "34100000.000000000000000000" - }, - "balance": "34100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y2jzm5ydldyhz4fupsxjcglpfajjpwt5560s9p", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831033, - "completion_time": "2022-02-11T07:22:47.597635829Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ytpnwlvz69z7u8rd4yqa8dxr33ygl7n28t2kpq", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707327, - "completion_time": "2022-02-02T13:40:22.519624005Z", - "initial_balance": "100", - "shares_dst": "100.030005984821778938" - }, - "balance": "100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yvfpn677a7fh93ez02w7fs0xlc70plg7v0cjwy", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712742, - "completion_time": "2022-02-02T22:49:41.976073118Z", - "initial_balance": "250000000", - "shares_dst": "252626287.845952794758281469" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yvvenx8sgv6qpp857nu8l0fva0fz08lf20ljfl", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766107, - "completion_time": "2022-02-06T18:00:08.74378373Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yvvenx8sgv6qpp857nu8l0fva0fz08lf20ljfl", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766069, - "completion_time": "2022-02-06T17:56:19.262871889Z", - "initial_balance": "29999999", - "shares_dst": "29999999.000000000000000000" - }, - "balance": "29999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yvvenx8sgv6qpp857nu8l0fva0fz08lf20ljfl", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766073, - "completion_time": "2022-02-06T17:56:43.661876001Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yvvenx8sgv6qpp857nu8l0fva0fz08lf20ljfl", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766084, - "completion_time": "2022-02-06T17:57:49.360831088Z", - "initial_balance": "44999999", - "shares_dst": "44999999.000000000000000000" - }, - "balance": "44999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ydph40ryu2x2pam0yrerg6n8979ktqjgdgepgu", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742395, - "completion_time": "2022-02-05T01:40:12.521795532Z", - "initial_balance": "63000000", - "shares_dst": "63000000.000000000000000000" - }, - "balance": "63000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ydrcfmh894z8arnteh25ksg2nxlamyqwewdj5z", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737421, - "completion_time": "2022-02-04T16:39:03.302019429Z", - "initial_balance": "103692000", - "shares_dst": "103692000.000000000000000000" - }, - "balance": "103692000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ywse57r2tzlh89jn6jj9tv90jcefxdsqsg522e", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687854, - "completion_time": "2022-02-01T04:53:56.099351087Z", - "initial_balance": "116967902", - "shares_dst": "116991299.065495289410081485" - }, - "balance": "116967902" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y3280l0gekp5yy62t7djns5d0lk3nvs2gzvdtj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697431, - "completion_time": "2022-02-01T21:00:23.493182041Z", - "initial_balance": "50000000", - "shares_dst": "50005000.338493057750683130" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y3tdrs8n2lkja6259zq9nud7y7zve8graf2lpc", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648444, - "completion_time": "2022-01-29T10:18:19.774654531Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y3tdrs8n2lkja6259zq9nud7y7zve8graf2lpc", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766558, - "completion_time": "2022-02-06T18:45:40.348079224Z", - "initial_balance": "797824305", - "shares_dst": "797983893.706127688881644567" - }, - "balance": "797824305" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y3n8q0j3qylhyqrdwwxqm0sqdq7gxyxrm86qkn", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680476, - "completion_time": "2022-01-31T16:17:31.176753853Z", - "initial_balance": "24050000", - "shares_dst": "24050000.000000000000000000" - }, - "balance": "24050000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y3e9d3uds6qvwackfl8taw66t0pxgl050du6c0", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804515, - "completion_time": "2022-02-09T10:43:01.235311237Z", - "initial_balance": "1600000000", - "shares_dst": "1600000000.000000000000000000" - }, - "balance": "1600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y4uj4zh5xx2rscmmuu5u3aadremy7sqjstp7rr", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1869633, - "completion_time": "2022-02-14T05:54:30.495945197Z", - "initial_balance": "290001001", - "shares_dst": "290001001.000000000000000000" - }, - "balance": "290001001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y4uj4zh5xx2rscmmuu5u3aadremy7sqjstp7rr", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1869600, - "completion_time": "2022-02-14T05:51:13.964208037Z", - "initial_balance": "437000000", - "shares_dst": "437000000.000000000000000000" - }, - "balance": "437000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ykt9pv86nfxgq0suuuv5a22v2clx0v2updf9e0", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726489, - "completion_time": "2022-02-03T22:00:47.068274568Z", - "initial_balance": "13000000", - "shares_dst": "13000000.000000000000000000" - }, - "balance": "13000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ykn07s2e8k0cakn0n2dp75s2683qz7ekn3aca2", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832950, - "completion_time": "2022-02-11T10:34:33.761069019Z", - "initial_balance": "4999999", - "shares_dst": "4999999.000000000000000000" - }, - "balance": "4999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yexuga2fmlndzs9px68lglpms09q0pr5mp04k4", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731761, - "completion_time": "2022-02-04T07:03:39.84924416Z", - "initial_balance": "102499999", - "shares_dst": "102499999.000000000000000000" - }, - "balance": "102499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yen5f0ej9njg0d9pa8nn2hwjpqqm36zj9su4q0", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1745386, - "completion_time": "2022-02-05T07:03:00.784893988Z", - "initial_balance": "999900000", - "shares_dst": "999900000.000000000000000000" - }, - "balance": "999900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y6se2vhvfvnmayhd3gq805ys5grz0lw3wh6qwl", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1620012, - "completion_time": "2022-01-27T10:24:40.151606781Z", - "initial_balance": "11000000", - "shares_dst": "11001100.107999844610974486" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ymz3r7u3ajds7sfxvf8f9vfefzx5s8ncgucnrn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726844, - "completion_time": "2022-02-03T22:37:18.57778498Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ymlqndwc8dydy5dnluga4d066mwmyqec78kjgj", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1594819, - "completion_time": "2022-01-25T15:53:25.49685488Z", - "initial_balance": "1900000", - "shares_dst": "1900000.000000000000000000" - }, - "balance": "1900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ymlqndwc8dydy5dnluga4d066mwmyqec78kjgj", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1594791, - "completion_time": "2022-01-25T15:50:37.475648604Z", - "initial_balance": "1900000", - "shares_dst": "1900000.000000000000000000" - }, - "balance": "1900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yaqy4qr6ftl9d44nc78k0mhjwvy8728spvz4ae", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1744763, - "completion_time": "2022-02-05T05:57:05.653794865Z", - "initial_balance": "11500000", - "shares_dst": "11500000.000000000000000000" - }, - "balance": "11500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1yanr7ex8mfye0ynv9jg32u3ga89rmfw4wtz8k6", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708427, - "completion_time": "2022-02-02T15:31:56.014656766Z", - "initial_balance": "1122000000", - "shares_dst": "1122000000.000000000000000000" - }, - "balance": "1122000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y7ql5p58rcrdfzyrk85lgrtlqp3s528xyv6dcq", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837559, - "completion_time": "2022-02-11T18:17:42.209189155Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y708l6smw5xjqgxxsc223d5a855t7m83k3a6ck", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1595401, - "completion_time": "2022-01-25T16:52:57.255462709Z", - "initial_balance": "56623182", - "shares_dst": "56623182.000000000000000000" - }, - "balance": "56623182" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y708l6smw5xjqgxxsc223d5a855t7m83k3a6ck", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1595424, - "completion_time": "2022-01-25T16:55:17.421509301Z", - "initial_balance": "1063377062", - "shares_dst": "1063377062.000000000000000000" - }, - "balance": "1063377062" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1y7s6xcqs5dul55rhfygrlq029jea0pfsh5lrep", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1764904, - "completion_time": "2022-02-06T15:58:59.422749884Z", - "initial_balance": "4570999999", - "shares_dst": "4570999999.000000000000000000" - }, - "balance": "4570999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19qym93q8heldjcwt38rth9nspzg5vay4gfe7c5", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811979, - "completion_time": "2022-02-09T23:24:11.811261408Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19qym93q8heldjcwt38rth9nspzg5vay4gfe7c5", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811947, - "completion_time": "2022-02-09T23:20:59.373725795Z", - "initial_balance": "20000000", - "shares_dst": "20002000.133975306000512896" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19qym93q8heldjcwt38rth9nspzg5vay4gfe7c5", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811989, - "completion_time": "2022-02-09T23:25:12.449483003Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19q4wrpe80uy6dj0qlu3hxwps00zpwypspqcj4x", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687044, - "completion_time": "2022-02-01T03:31:21.607998038Z", - "initial_balance": "7966724073", - "shares_dst": "7966724073.000000000000000000" - }, - "balance": "7966724073" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19pxlxjeqyl7lpnfge8x8r3z7valdkq07gh0yvn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628483, - "completion_time": "2022-01-28T00:40:48.796913022Z", - "initial_balance": "59000000", - "shares_dst": "59000000.000000000000000000" - }, - "balance": "59000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845532, - "completion_time": "2022-02-12T08:36:50.124431976Z", - "initial_balance": "1000220000", - "shares_dst": "1000220000.000000000000000000" - }, - "balance": "1000220000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845542, - "completion_time": "2022-02-12T08:37:51.150076626Z", - "initial_balance": "1000668799", - "shares_dst": "1000768875.706145465541945804" - }, - "balance": "1000668799" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1yfkkr7krkaudr3tm8tp3jhmu7xn4ncf9tthhsp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845580, - "completion_time": "2022-02-12T08:43:27.244071069Z", - "initial_balance": "713000000", - "shares_dst": "713000000.000000000000000000" - }, - "balance": "713000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845567, - "completion_time": "2022-02-12T08:42:03.167950203Z", - "initial_balance": "360000000", - "shares_dst": "360000000.000000000000000000" - }, - "balance": "360000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845744, - "completion_time": "2022-02-12T09:03:35.023921765Z", - "initial_balance": "502000000", - "shares_dst": "502000000.000000000000000000" - }, - "balance": "502000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19p3uzdflshsag86g3z7fqamm5e4hz67z9k7f3z", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845739, - "completion_time": "2022-02-12T09:03:05.04572789Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19zsdljcwpc83m5kl6dkt5khv2g3dh4jkvj599q", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725085, - "completion_time": "2022-02-03T19:38:24.229171808Z", - "initial_balance": "110000000", - "shares_dst": "110000000.000000000000000000" - }, - "balance": "110000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19rp59a6cugfkteq6ye88t7nqp5cwu8qzcvmh5j", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599415, - "completion_time": "2022-01-25T23:41:57.658951003Z", - "initial_balance": "22347405", - "shares_dst": "22347405.000000000000000000" - }, - "balance": "22347405" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19rp59a6cugfkteq6ye88t7nqp5cwu8qzcvmh5j", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599345, - "completion_time": "2022-01-25T23:34:55.597745486Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19rp59a6cugfkteq6ye88t7nqp5cwu8qzcvmh5j", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599374, - "completion_time": "2022-01-25T23:37:50.465044647Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19rp59a6cugfkteq6ye88t7nqp5cwu8qzcvmh5j", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599367, - "completion_time": "2022-01-25T23:37:08.73860269Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19r87cyqugcwzwsrdueqn0ce2qta207jxw4p2cp", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1629451, - "completion_time": "2022-01-28T02:18:15.908450835Z", - "initial_balance": "1500000", - "shares_dst": "1500000.000000000000000000" - }, - "balance": "1500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19r87cyqugcwzwsrdueqn0ce2qta207jxw4p2cp", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1629446, - "completion_time": "2022-01-28T02:17:46.001786248Z", - "initial_balance": "300000", - "shares_dst": "300000.000000000000000000" - }, - "balance": "300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret199r3z7x03jtnjywj7w4ycsfyhe36r3ee22hsp2", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732757, - "completion_time": "2022-02-04T08:44:28.561708326Z", - "initial_balance": "502000000", - "shares_dst": "502000000.000000000000000000" - }, - "balance": "502000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19xuq9p6mda7mn77xns9c3q9cmyme5s2wqnwrwk", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726031, - "completion_time": "2022-02-03T21:14:09.608025086Z", - "initial_balance": "3250539913", - "shares_dst": "3250539913.000000000000000000" - }, - "balance": "3250539913" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19xuq9p6mda7mn77xns9c3q9cmyme5s2wqnwrwk", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726037, - "completion_time": "2022-02-03T21:14:46.069961929Z", - "initial_balance": "4535000000", - "shares_dst": "4535000000.000000000000000000" - }, - "balance": "4535000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19xuq9p6mda7mn77xns9c3q9cmyme5s2wqnwrwk", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726023, - "completion_time": "2022-02-03T21:13:20.978531403Z", - "initial_balance": "2098530442", - "shares_dst": "2098530442.000000000000000000" - }, - "balance": "2098530442" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19xuq9p6mda7mn77xns9c3q9cmyme5s2wqnwrwk", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726027, - "completion_time": "2022-02-03T21:13:45.601493949Z", - "initial_balance": "556888603", - "shares_dst": "556888603.000000000000000000" - }, - "balance": "556888603" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19fzqvlg77040ueajzmrcm2f6zsf3nxkqclzq36", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584936, - "completion_time": "2022-01-24T23:07:46.877345251Z", - "initial_balance": "400000", - "shares_dst": "400000.000000000000000000" - }, - "balance": "400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19fzqvlg77040ueajzmrcm2f6zsf3nxkqclzq36", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584930, - "completion_time": "2022-01-24T23:07:10.397112808Z", - "initial_balance": "15139398100", - "shares_dst": "15139398100.000000000000000000" - }, - "balance": "15139398100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19fzqvlg77040ueajzmrcm2f6zsf3nxkqclzq36", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584877, - "completion_time": "2022-01-24T23:01:43.64756277Z", - "initial_balance": "25320606489", - "shares_dst": "25320606489.000000000000000000" - }, - "balance": "25320606489" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19fzqvlg77040ueajzmrcm2f6zsf3nxkqclzq36", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585069, - "completion_time": "2022-01-24T23:21:33.090404668Z", - "initial_balance": "30000000000", - "shares_dst": "30000000000.000000000000000000" - }, - "balance": "30000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19fzqvlg77040ueajzmrcm2f6zsf3nxkqclzq36", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584923, - "completion_time": "2022-01-24T23:06:28.20729617Z", - "initial_balance": "3499650003", - "shares_dst": "3499650003.000000000000000000" - }, - "balance": "3499650003" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19f3aqn6zxcxgulff6fxg5cfv5n9zdkxkzfpyzq", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847785, - "completion_time": "2022-02-12T13:05:15.823584336Z", - "initial_balance": "61623882", - "shares_dst": "61623882.000000000000000000" - }, - "balance": "61623882" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret192dhk9qjdphakj66fkx4s7m5hr7hrwc2vl8t24", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731606, - "completion_time": "2022-02-04T06:47:57.026183888Z", - "initial_balance": "100499998", - "shares_dst": "100499998.000000000000000000" - }, - "balance": "100499998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret192663qdcs2d385vw7mhxn8y5mhdq0lzg44eax6", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685829, - "completion_time": "2022-02-01T01:27:09.505583405Z", - "initial_balance": "12459000000", - "shares_dst": "12463984825.064878699866969779" - }, - "balance": "12459000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19dxzw8amt4v9dlc7trl3uepl2muxq58cr8nyl7", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1717369, - "completion_time": "2022-02-03T06:39:08.860703766Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19wgvmskllcm49v33wnd3k9fp3khtdgq2fnspjg", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1716918, - "completion_time": "2022-02-03T05:53:50.856600191Z", - "initial_balance": "130238492", - "shares_dst": "130264543.506622118024632680" - }, - "balance": "130238492" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19w2aqhfs73nk8vl35hlnvaqjrm9jwcea97rmct", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1608787, - "completion_time": "2022-01-26T15:26:23.477087479Z", - "initial_balance": "5499999", - "shares_dst": "5499999.000000000000000000" - }, - "balance": "5499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19w2aqhfs73nk8vl35hlnvaqjrm9jwcea97rmct", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1608781, - "completion_time": "2022-01-26T15:25:47.133122904Z", - "initial_balance": "21000000", - "shares_dst": "21000000.000000000000000000" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19w2aqhfs73nk8vl35hlnvaqjrm9jwcea97rmct", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850312, - "completion_time": "2022-02-12T18:09:18.320860164Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19w2aqhfs73nk8vl35hlnvaqjrm9jwcea97rmct", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850302, - "completion_time": "2022-02-12T18:08:18.057129966Z", - "initial_balance": "128000000", - "shares_dst": "128000000.000000000000000000" - }, - "balance": "128000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19wwnqmkuwwqr60kg3p9rnl3jrjmyy38nw7qmz3", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862234, - "completion_time": "2022-02-13T17:35:04.685785513Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19szz7th4jqjhqu708wtrsfjhmjtkqhmvpdtj2n", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811788, - "completion_time": "2022-02-09T23:05:00.203573215Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19sl2zc57yguaehpjx65lcwxfjjdxmrdsp57zgn", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737324, - "completion_time": "2022-02-04T16:29:01.500383031Z", - "initial_balance": "2343000000", - "shares_dst": "2343000000.000000000000000000" - }, - "balance": "2343000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193x0wxuaschjd2swhg40sg3j746s8s0q2v309y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750844, - "completion_time": "2022-02-05T16:20:42.686021224Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193x0wxuaschjd2swhg40sg3j746s8s0q2v309y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750804, - "completion_time": "2022-02-05T16:16:38.171906387Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193x0wxuaschjd2swhg40sg3j746s8s0q2v309y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750827, - "completion_time": "2022-02-05T16:18:58.855026395Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193srq7493rmwhagfdlpmxp5x0vqnx4mz000ymk", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729291, - "completion_time": "2022-02-04T02:50:41.240438434Z", - "initial_balance": "35000000", - "shares_dst": "35000000.000000000000000000" - }, - "balance": "35000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193nlx9trraaqz8f0jvj4a4jkaydz7au93lskyz", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680900, - "completion_time": "2022-01-31T17:01:00.418448879Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193nlx9trraaqz8f0jvj4a4jkaydz7au93lskyz", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680895, - "completion_time": "2022-01-31T17:00:30.446979026Z", - "initial_balance": "450000000", - "shares_dst": "450000000.000000000000000000" - }, - "balance": "450000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193m8lqx54faqjqvf669w7gyfjxnrxgkz9pnpn7", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822432, - "completion_time": "2022-02-10T16:56:20.638443389Z", - "initial_balance": "9212215050", - "shares_dst": "9212215050.000000000000000000" - }, - "balance": "9212215050" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781344, - "completion_time": "2022-02-07T19:41:24.206842398Z", - "initial_balance": "1659889999", - "shares_dst": "1659889999.000000000000000000" - }, - "balance": "1659889999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781352, - "completion_time": "2022-02-07T19:42:13.071490808Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738851, - "completion_time": "2022-02-04T19:19:40.457261396Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738859, - "completion_time": "2022-02-04T19:20:33.341237873Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781358, - "completion_time": "2022-02-07T19:42:48.980013611Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret193mu28ucfkq3y7qxw5ekysdapqe3kzx2zyx9j3", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738839, - "completion_time": "2022-02-04T19:18:28.513481232Z", - "initial_balance": "33709477", - "shares_dst": "33709477.000000000000000000" - }, - "balance": "33709477" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19jfykj9dw8v5jac88rr8nnwfsg404xfkjrtcwd", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680891, - "completion_time": "2022-01-31T17:00:06.216972113Z", - "initial_balance": "124000000", - "shares_dst": "124000000.000000000000000000" - }, - "balance": "124000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19j6rzzjlyc4y0y7r6lusnfj7l7h65zdfn2p4d8", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1828697, - "completion_time": "2022-02-11T03:27:06.699087492Z", - "initial_balance": "74000000", - "shares_dst": "74000000.000000000000000000" - }, - "balance": "74000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19nrgjq2ma5fsw0xdkr0gmfn8k9jlhnsqssrgcu", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1604420, - "completion_time": "2022-01-26T08:05:55.983512609Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19ntqy4wagtxjkcx8e3pl9canmwgweanp4skysm", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587988, - "completion_time": "2022-01-25T04:20:14.12271641Z", - "initial_balance": "12743460", - "shares_dst": "12743460.000000000000000000" - }, - "balance": "12743460" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19nd0z9mu7tgjq44cfsc8ae7pf2m0qwqpjjry0k", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696950, - "completion_time": "2022-02-01T20:12:08.906848352Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19n6vn6y78t63ljtgdsn5jj6xx300u5l20elqq5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707079, - "completion_time": "2022-02-02T13:14:57.611397512Z", - "initial_balance": "495900000", - "shares_dst": "495900000.000000000000000000" - }, - "balance": "495900000" - }, - { - "redelegation_entry": { - "creation_height": 1707720, - "completion_time": "2022-02-02T14:20:22.563031475Z", - "initial_balance": "1500000", - "shares_dst": "1500000.000000000000000000" - }, - "balance": "1500000" - }, - { - "redelegation_entry": { - "creation_height": 1745804, - "completion_time": "2022-02-05T07:45:10.484649513Z", - "initial_balance": "900000", - "shares_dst": "900000.000000000000000000" - }, - "balance": "900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645720, - "completion_time": "2022-01-29T05:44:25.145201068Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645671, - "completion_time": "2022-01-29T05:39:26.972317305Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645663, - "completion_time": "2022-01-29T05:38:38.923636524Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645711, - "completion_time": "2022-01-29T05:43:31.169090785Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645691, - "completion_time": "2022-01-29T05:41:26.01879932Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645659, - "completion_time": "2022-01-29T05:38:15.119976749Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - }, - { - "redelegation_entry": { - "creation_height": 1645682, - "completion_time": "2022-01-29T05:40:32.4059549Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645701, - "completion_time": "2022-01-29T05:42:26.485429469Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645667, - "completion_time": "2022-01-29T05:39:02.738533447Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645724, - "completion_time": "2022-01-29T05:44:49.317570828Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645696, - "completion_time": "2022-01-29T05:41:56.501333223Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645704, - "completion_time": "2022-01-29T05:42:44.17145249Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret194h3scuhkc26wpqcv88m5n0afrscuv3mu090aj", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645708, - "completion_time": "2022-01-29T05:43:08.320218469Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19kga7zlqnf2n8090tjtm0pwq2p6u45quvzxfv2", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1634966, - "completion_time": "2022-01-28T11:35:25.999309842Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19kga7zlqnf2n8090tjtm0pwq2p6u45quvzxfv2", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635027, - "completion_time": "2022-01-28T11:41:36.670401586Z", - "initial_balance": "5000000", - "shares_dst": "5052525.756931069033716510" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19kga7zlqnf2n8090tjtm0pwq2p6u45quvzxfv2", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1634959, - "completion_time": "2022-01-28T11:34:42.857642067Z", - "initial_balance": "5000000", - "shares_dst": "5002500.748922160005503247" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19kga7zlqnf2n8090tjtm0pwq2p6u45quvzxfv2", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1634985, - "completion_time": "2022-01-28T11:37:19.956594197Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19k2khxk8mzvgdmwtw89kxntdu8096sy7uw79ed", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1672450, - "completion_time": "2022-01-31T02:43:35.610617224Z", - "initial_balance": "4000000", - "shares_dst": "4000800.119209488865203916" - }, - "balance": "4000000" - }, - { - "redelegation_entry": { - "creation_height": 1681377, - "completion_time": "2022-01-31T17:50:30.561339012Z", - "initial_balance": "18381", - "shares_dst": "18384.676747787401067260" - }, - "balance": "18381" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19kmmmn75e6p4nznvlheyn7w6fjku82x9ly6q5x", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823768, - "completion_time": "2022-02-10T19:10:25.008781736Z", - "initial_balance": "18599999", - "shares_dst": "18603719.553440518190256222" - }, - "balance": "18599999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19h5a87v5vpzs3d487ngumvt6ttxhr3vmfw24j9", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673892, - "completion_time": "2022-01-31T05:08:30.805295264Z", - "initial_balance": "24999999", - "shares_dst": "24999999.000000000000000000" - }, - "balance": "24999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19h5a87v5vpzs3d487ngumvt6ttxhr3vmfw24j9", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673885, - "completion_time": "2022-01-31T05:07:49.606528628Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19e9lkxujmph8a3j7xtqld43lm8fte0juuluhsx", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731876, - "completion_time": "2022-02-04T07:15:18.104594574Z", - "initial_balance": "12200000", - "shares_dst": "12200000.000000000000000000" - }, - "balance": "12200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19e9lkxujmph8a3j7xtqld43lm8fte0juuluhsx", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731902, - "completion_time": "2022-02-04T07:17:55.450146338Z", - "initial_balance": "11500000", - "shares_dst": "11500000.000000000000000000" - }, - "balance": "11500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret196tp3wmx7qcw9jg6v4a8kk5hd6uwgc6qdw07yj", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713540, - "completion_time": "2022-02-03T00:11:23.927938361Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret196tp3wmx7qcw9jg6v4a8kk5hd6uwgc6qdw07yj", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713548, - "completion_time": "2022-02-03T00:12:11.785086967Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret196tp3wmx7qcw9jg6v4a8kk5hd6uwgc6qdw07yj", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713532, - "completion_time": "2022-02-03T00:10:33.369144504Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret196s9tscm4nhkgt6qrh290yty6ckt438r86xmlt", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749484, - "completion_time": "2022-02-05T14:02:24.805005736Z", - "initial_balance": "135000000", - "shares_dst": "135000000.000000000000000000" - }, - "balance": "135000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19uq7zazh0sjlqa4d35jt8fvw9ywxyxw4jksfv3", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832397, - "completion_time": "2022-02-11T09:39:11.888093669Z", - "initial_balance": "8500000", - "shares_dst": "8500000.000000000000000000" - }, - "balance": "8500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19udp2hax0hqgwvedftcssjasfy47eqep45gr2f", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1663827, - "completion_time": "2022-01-30T12:12:35.972577388Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19udp2hax0hqgwvedftcssjasfy47eqep45gr2f", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1663831, - "completion_time": "2022-01-30T12:13:00.636476528Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret197pkl37s44aazz53y3x6e7r3h93xrdejrpusuh", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819348, - "completion_time": "2022-02-10T11:44:43.832219869Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret197xzckrn2vx9m7860rrlx7j8q7qtml73zpxzrt", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689567, - "completion_time": "2022-02-01T07:46:16.961439384Z", - "initial_balance": "19325641", - "shares_dst": "19325641.000000000000000000" - }, - "balance": "19325641" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret197xzckrn2vx9m7860rrlx7j8q7qtml73zpxzrt", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689562, - "completion_time": "2022-02-01T07:45:47.13399349Z", - "initial_balance": "39000000", - "shares_dst": "39000000.000000000000000000" - }, - "balance": "39000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1978syt74agfw6g5s4j2d8gk3g9qvq4kzewdxca", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772439, - "completion_time": "2022-02-07T04:39:20.199230563Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19lqqhmy5s3ktrn2uw6ae5ay62wg8agsh809fky", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774972, - "completion_time": "2022-02-07T08:54:54.95791841Z", - "initial_balance": "2285716000", - "shares_dst": "2285716000.000000000000000000" - }, - "balance": "2285716000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19lff8augfe002fly6kxl0wtv6dsr2mh6ac7cdw", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671573, - "completion_time": "2022-01-31T01:15:05.953721861Z", - "initial_balance": "21000000", - "shares_dst": "21000000.000000000000000000" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret19lff8augfe002fly6kxl0wtv6dsr2mh6ac7cdw", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1671552, - "completion_time": "2022-01-31T01:12:58.085812733Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xpkrxn5yxt5hg9e3pcxt4njwudmpgufe4wxncw", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648061, - "completion_time": "2022-01-29T09:39:36.953525735Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xpkrxn5yxt5hg9e3pcxt4njwudmpgufe4wxncw", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693297, - "completion_time": "2022-02-01T14:02:31.584793931Z", - "initial_balance": "1001000000", - "shares_dst": "1001000000.000000000000000000" - }, - "balance": "1001000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xpcjeeql5324kj2krflzfp72pynytmwur7syhx", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709462, - "completion_time": "2022-02-02T17:16:51.966382966Z", - "initial_balance": "814281016", - "shares_dst": "814281016.000000000000000000" - }, - "balance": "814281016" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xr053w7s43jf2z0c425xdm3f5782uv7wlhfr75", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742622, - "completion_time": "2022-02-05T02:04:49.936069254Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xr7wwmxn9c4vlv6h7nghr2txl496ele4zm7tpa", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1629950, - "completion_time": "2022-01-28T03:08:37.641081385Z", - "initial_balance": "287330504", - "shares_dst": "287330504.000000000000000000" - }, - "balance": "287330504" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xyzt2qr4fy6l9vpt8k6xzjd09d0m58dzffjn7q", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687854, - "completion_time": "2022-02-01T04:53:56.099351087Z", - "initial_balance": "4999500", - "shares_dst": "4999500.000000000000000000" - }, - "balance": "4999500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xxlf8w73c0rrw7vr4rqservmempasrnt4t6zdu", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731342, - "completion_time": "2022-02-04T06:21:07.206872876Z", - "initial_balance": "11000000000", - "shares_dst": "11000000000.000000000000000000" - }, - "balance": "11000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x8uljtp70pr07h9ear3hv0qtvsw5e2ylppk2q7", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1775351, - "completion_time": "2022-02-07T09:33:10.561102925Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x8a3at40g3c7m29uxtpe77d7522pyl9fk3wlpr", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727666, - "completion_time": "2022-02-04T00:02:49.369886963Z", - "initial_balance": "684000000", - "shares_dst": "684000000.000000000000000000" - }, - "balance": "684000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x8a3at40g3c7m29uxtpe77d7522pyl9fk3wlpr", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727659, - "completion_time": "2022-02-04T00:02:07.422979546Z", - "initial_balance": "687000000", - "shares_dst": "687000000.000000000000000000" - }, - "balance": "687000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x8ltl45nq6rmtntcmpww458hsl4ujfmqw8zrrv", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837171, - "completion_time": "2022-02-11T17:38:51.252233438Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593779, - "completion_time": "2022-01-25T14:07:25.735340032Z", - "initial_balance": "7835760000", - "shares_dst": "7835760000.000000000000000000" - }, - "balance": "7835760000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593789, - "completion_time": "2022-01-25T14:08:28.656733801Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xf0s8xq4kld7fuxt37xsla7chq8rcd09pfaans", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593785, - "completion_time": "2022-01-25T14:08:01.858330397Z", - "initial_balance": "4189720900", - "shares_dst": "4189720900.000000000000000000" - }, - "balance": "4189720900" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xf4n5alscmyuhuyv5elnpns38lf64u8yj8qvn4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712490, - "completion_time": "2022-02-02T22:24:14.108756186Z", - "initial_balance": "48000000", - "shares_dst": "48000000.000000000000000000" - }, - "balance": "48000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xfczp4manrmzmuz5uzqp98fe2v9azggwhvayny", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1627416, - "completion_time": "2022-01-27T22:53:19.393231832Z", - "initial_balance": "802500", - "shares_dst": "802580.257941703210453204" - }, - "balance": "802500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xfczp4manrmzmuz5uzqp98fe2v9azggwhvayny", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600197, - "completion_time": "2022-01-26T01:00:48.925461762Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - }, - { - "redelegation_entry": { - "creation_height": 1658487, - "completion_time": "2022-01-30T03:13:08.94881547Z", - "initial_balance": "930000", - "shares_dst": "930000.000000000000000000" - }, - "balance": "930000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xfczp4manrmzmuz5uzqp98fe2v9azggwhvayny", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1672459, - "completion_time": "2022-01-31T02:44:29.946941475Z", - "initial_balance": "2852499", - "shares_dst": "2852499.000000000000000000" - }, - "balance": "2852499" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xflmsjaxtljahaf6wlgkr565p9jwsseflydn9d", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1620879, - "completion_time": "2022-01-27T11:51:36.927604371Z", - "initial_balance": "23600000", - "shares_dst": "23600000.000000000000000000" - }, - "balance": "23600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xvt95ct6awrg5z47mv30m22lwclwfc0up3qs60", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687510, - "completion_time": "2022-02-01T04:18:47.197986232Z", - "initial_balance": "102000000", - "shares_dst": "102000000.000000000000000000" - }, - "balance": "102000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xv0rcq0kqtlxq9r7h97yvf7zqcfh3uke2kudjd", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707882, - "completion_time": "2022-02-02T14:36:43.847754291Z", - "initial_balance": "2600000000", - "shares_dst": "2600000000.000000000000000000" - }, - "balance": "2600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xver9u0elpz0p8rdphxw2m0fxkmztn50vyrrp0", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724423, - "completion_time": "2022-02-03T18:30:53.540902797Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xv79x64tqnezspmz8kuwjejpq28wgkyhkt4quk", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675922, - "completion_time": "2022-01-31T08:33:38.788317797Z", - "initial_balance": "370894390", - "shares_dst": "370894390.000000000000000000" - }, - "balance": "370894390" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xvl8legvf2ct7wh5ja6ld32tmx2j2lkx9rm6jk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1606418, - "completion_time": "2022-01-26T11:27:15.887285419Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xvl8legvf2ct7wh5ja6ld32tmx2j2lkx9rm6jk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper13uqgrre239d30wxxtsmvvym4w3klvqna0fe3qs", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1606408, - "completion_time": "2022-01-26T11:26:15.201911269Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xdnl0m5y8t55n9rl3cw0s35m822rk32amqaw4l", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750859, - "completion_time": "2022-02-05T16:22:12.076413052Z", - "initial_balance": "48000000", - "shares_dst": "48000000.000000000000000000" - }, - "balance": "48000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xdnl0m5y8t55n9rl3cw0s35m822rk32amqaw4l", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750864, - "completion_time": "2022-02-05T16:22:42.113572992Z", - "initial_balance": "56000000", - "shares_dst": "56000000.000000000000000000" - }, - "balance": "56000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xdnl0m5y8t55n9rl3cw0s35m822rk32amqaw4l", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750854, - "completion_time": "2022-02-05T16:21:42.343762141Z", - "initial_balance": "56000000", - "shares_dst": "56000000.000000000000000000" - }, - "balance": "56000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xwrrz42u6x4epmmkq80ff5kht54jrsj8pqwm97", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662557, - "completion_time": "2022-01-30T10:04:23.654632501Z", - "initial_balance": "21499999", - "shares_dst": "21499999.000000000000000000" - }, - "balance": "21499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xwseskrmnxrvesmad0xtyfvl3lx7xzkkfy8gtu", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735533, - "completion_time": "2022-02-04T13:24:41.615608231Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xwseskrmnxrvesmad0xtyfvl3lx7xzkkfy8gtu", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735545, - "completion_time": "2022-02-04T13:25:53.485245545Z", - "initial_balance": "164527640", - "shares_dst": "164544094.209766035319548984" - }, - "balance": "164527640" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xwseskrmnxrvesmad0xtyfvl3lx7xzkkfy8gtu", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680910, - "completion_time": "2022-01-31T17:02:01.124736813Z", - "initial_balance": "57214991", - "shares_dst": "57214991.000000000000000000" - }, - "balance": "57214991" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xwjv78lprs5y7lx78v7v0u08gqw3h0mg3dywj6", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637037, - "completion_time": "2022-01-28T15:06:37.007527919Z", - "initial_balance": "76020256", - "shares_dst": "76020256.000000000000000000" - }, - "balance": "76020256" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xw5dz84huv4q50tqt9vv8xeekd88ywefpqlxd8", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812377, - "completion_time": "2022-02-10T00:04:21.463154024Z", - "initial_balance": "8720000", - "shares_dst": "8721744.259584534916017777" - }, - "balance": "8720000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726124, - "completion_time": "2022-02-03T21:23:31.001346416Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697875, - "completion_time": "2022-02-01T21:45:07.119582671Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726120, - "completion_time": "2022-02-03T21:23:06.949663298Z", - "initial_balance": "50499999", - "shares_dst": "50499999.000000000000000000" - }, - "balance": "50499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726130, - "completion_time": "2022-02-03T21:24:07.162118178Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683240, - "completion_time": "2022-01-31T21:02:17.868308123Z", - "initial_balance": "100500000", - "shares_dst": "100500000.000000000000000000" - }, - "balance": "100500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697848, - "completion_time": "2022-02-01T21:42:24.013925128Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697863, - "completion_time": "2022-02-01T21:43:55.464028475Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697888, - "completion_time": "2022-02-01T21:46:25.727671844Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697858, - "completion_time": "2022-02-01T21:43:25.266126217Z", - "initial_balance": "102000000", - "shares_dst": "102000000.000000000000000000" - }, - "balance": "102000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683192, - "completion_time": "2022-01-31T20:57:18.305444144Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697880, - "completion_time": "2022-02-01T21:45:37.881515234Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x0dpfqyg2l79f2w7k6ekqne83llve4vk5w7ec5", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697893, - "completion_time": "2022-02-01T21:46:55.753717411Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xjr5t64mndv4vthpy0fwp7hqyw82c9ut3havmz", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1764362, - "completion_time": "2022-02-06T15:04:27.469342649Z", - "initial_balance": "533000000", - "shares_dst": "533106615.873145381142864495" - }, - "balance": "533000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xjl722yllx7d0jx4nftxhlk5tu376tnnxfwway", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772038, - "completion_time": "2022-02-07T03:58:59.567744521Z", - "initial_balance": "4999999", - "shares_dst": "4999999.000000000000000000" - }, - "balance": "4999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xn2gudr8s2fekxcf3l0wew56pjtms2sgh4c3mu", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725732, - "completion_time": "2022-02-03T20:44:02.007943335Z", - "initial_balance": "30000000000", - "shares_dst": "30000000000.000000000000000000" - }, - "balance": "30000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xnsdlz32qrdr3ve7y4543js2qc52dkmylcy9w5", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1691890, - "completion_time": "2022-02-01T11:40:52.439529743Z", - "initial_balance": "2519605", - "shares_dst": "2520613.089744307366117446" - }, - "balance": "2519605" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xne9cgqfsz2tfdx33pj48e23nyxeqpe7czf8p4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1613359, - "completion_time": "2022-01-26T23:12:21.273443918Z", - "initial_balance": "116000000", - "shares_dst": "116000000.000000000000000000" - }, - "balance": "116000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x594xv5x0x4ekkqcyn2s2sqx00d7a4640rllfe", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681331, - "completion_time": "2022-01-31T17:45:49.26674576Z", - "initial_balance": "535000000", - "shares_dst": "535000000.000000000000000000" - }, - "balance": "535000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x4wf8hycvqecqlwjawnzzn85fcvf9cz00jwj6c", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648165, - "completion_time": "2022-01-29T09:50:03.572137034Z", - "initial_balance": "2916000000", - "shares_dst": "2916000000.000000000000000000" - }, - "balance": "2916000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x4hj9jdekf5ekn73xlms2u65cykgsdejn8xnw3", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692220, - "completion_time": "2022-02-01T12:13:59.679392659Z", - "initial_balance": "6409344", - "shares_dst": "6409344.000000000000000000" - }, - "balance": "6409344" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x4u8585sgglux5c9jfjygv38ll4yglgm734kmf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821453, - "completion_time": "2022-02-10T15:17:23.618153991Z", - "initial_balance": "285890000", - "shares_dst": "285890000.000000000000000000" - }, - "balance": "285890000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xklywzty0sfffjtzhya68ptkrzl2glwxftppv3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1861503, - "completion_time": "2022-02-13T16:17:33.279153205Z", - "initial_balance": "137000000", - "shares_dst": "137000000.000000000000000000" - }, - "balance": "137000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xh9vdu6j4ss4q6e6cs0gc36x7glrcpxr7zs90n", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709092, - "completion_time": "2022-02-02T16:39:25.381401603Z", - "initial_balance": "8309148936", - "shares_dst": "8309148936.000000000000000000" - }, - "balance": "8309148936" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xh3nyhx9qrew9xjgc34h5lhnfl8fgu6v8c8e3y", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862049, - "completion_time": "2022-02-13T17:15:38.591148464Z", - "initial_balance": "50100000", - "shares_dst": "50100000.000000000000000000" - }, - "balance": "50100000" - }, - { - "redelegation_entry": { - "creation_height": 1862169, - "completion_time": "2022-02-13T17:27:31.952208701Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xh6a0v9pq6xl86yzmaxe6cug7d3de8d3mwzh82", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734091, - "completion_time": "2022-02-04T10:58:58.118727764Z", - "initial_balance": "70300000", - "shares_dst": "70300000.000000000000000000" - }, - "balance": "70300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xchvwfr0gg9s038hzv6rh4cs7qm0sm4t37puxj", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801083, - "completion_time": "2022-02-09T04:56:56.225910218Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xchvwfr0gg9s038hzv6rh4cs7qm0sm4t37puxj", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830606, - "completion_time": "2022-02-11T06:39:52.864684998Z", - "initial_balance": "1179999", - "shares_dst": "1179999.000000000000000000" - }, - "balance": "1179999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xekrr3jr2edrq6x39szl4n9t0lfdtylaj33n4c", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1761370, - "completion_time": "2022-02-06T10:02:35.696892277Z", - "initial_balance": "29700000", - "shares_dst": "29700000.000000000000000000" - }, - "balance": "29700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xuqtsrjx22xzcq6ffk9cnxa6l0l5uk760xqxyw", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684661, - "completion_time": "2022-01-31T23:28:23.935054992Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xuzmxef68lskq6h9ppg7q0a755gnzqlak6x5xp", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730208, - "completion_time": "2022-02-04T04:25:30.378562377Z", - "initial_balance": "50000000", - "shares_dst": "50010001.494437364595944686" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xuzmxef68lskq6h9ppg7q0a755gnzqlak6x5xp", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730190, - "completion_time": "2022-02-04T04:23:31.679859673Z", - "initial_balance": "4000000", - "shares_dst": "4000800.119554989167675574" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xuzmxef68lskq6h9ppg7q0a755gnzqlak6x5xp", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730202, - "completion_time": "2022-02-04T04:24:53.137912933Z", - "initial_balance": "163499999", - "shares_dst": "163532703.886610152339991834" - }, - "balance": "163499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xug46uep68c3g6nx5dt8m3jvxvfdenrk5hxed2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725435, - "completion_time": "2022-02-03T20:13:59.252865497Z", - "initial_balance": "19068108", - "shares_dst": "19068108.000000000000000000" - }, - "balance": "19068108" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xug46uep68c3g6nx5dt8m3jvxvfdenrk5hxed2", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725408, - "completion_time": "2022-02-03T20:11:15.783234859Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xug46uep68c3g6nx5dt8m3jvxvfdenrk5hxed2", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709817, - "completion_time": "2022-02-02T17:53:01.061731055Z", - "initial_balance": "10690000", - "shares_dst": "10690000.000000000000000000" - }, - "balance": "10690000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xug46uep68c3g6nx5dt8m3jvxvfdenrk5hxed2", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725422, - "completion_time": "2022-02-03T20:12:40.519407297Z", - "initial_balance": "5307053", - "shares_dst": "5307053.000000000000000000" - }, - "balance": "5307053" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xuwl7x8htyl26t7pe3l0x6auj3j9jwd2qne5se", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766219, - "completion_time": "2022-02-06T18:11:33.738508079Z", - "initial_balance": "10750000", - "shares_dst": "10750000.000000000000000000" - }, - "balance": "10750000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xu4g5jmxde87zll95yjt0w80jm3c3aar3q7paj", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1808177, - "completion_time": "2022-02-09T16:57:32.984135081Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xu4g5jmxde87zll95yjt0w80jm3c3aar3q7paj", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1808166, - "completion_time": "2022-02-09T16:56:23.303856368Z", - "initial_balance": "454569", - "shares_dst": "454569.000000000000000000" - }, - "balance": "454569" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xazfh5elt8knglkl4jflzx64q3fc9zze9fjwge", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738571, - "completion_time": "2022-02-04T18:51:21.82226779Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xa3pk2jjla8e9a0lg0apep5z3zaq68tq90fml8", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690323, - "completion_time": "2022-02-01T09:02:11.635627771Z", - "initial_balance": "720000000", - "shares_dst": "720000000.000000000000000000" - }, - "balance": "720000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xa3pk2jjla8e9a0lg0apep5z3zaq68tq90fml8", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690339, - "completion_time": "2022-02-01T09:03:47.572228597Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xa6tgfarwz40a67ul95x5m9y4ah33vcjn7508p", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796825, - "completion_time": "2022-02-08T21:46:13.424892764Z", - "initial_balance": "237066233", - "shares_dst": "237066233.000000000000000000" - }, - "balance": "237066233" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xa6tgfarwz40a67ul95x5m9y4ah33vcjn7508p", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796795, - "completion_time": "2022-02-08T21:43:12.817675772Z", - "initial_balance": "729873002", - "shares_dst": "729873002.000000000000000000" - }, - "balance": "729873002" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xa6tgfarwz40a67ul95x5m9y4ah33vcjn7508p", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796814, - "completion_time": "2022-02-08T21:45:07.52585351Z", - "initial_balance": "619102500", - "shares_dst": "619102500.000000000000000000" - }, - "balance": "619102500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x709w7er6mzc5m7z8fda3a292k2wm9rlscj3gp", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644164, - "completion_time": "2022-01-29T03:08:18.953758162Z", - "initial_balance": "3461500000", - "shares_dst": "3461500000.000000000000000000" - }, - "balance": "3461500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1x709w7er6mzc5m7z8fda3a292k2wm9rlscj3gp", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644185, - "completion_time": "2022-01-29T03:10:25.084768463Z", - "initial_balance": "537000000", - "shares_dst": "537214852.805443432888705315" - }, - "balance": "537000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xl4gtlfghw7hl7r2vl94hlkfs0thq0lsu8ce3r", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860244, - "completion_time": "2022-02-13T13:50:20.418575123Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xl4gtlfghw7hl7r2vl94hlkfs0thq0lsu8ce3r", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860228, - "completion_time": "2022-02-13T13:48:43.7884415Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1xl4gtlfghw7hl7r2vl94hlkfs0thq0lsu8ce3r", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860219, - "completion_time": "2022-02-13T13:46:48.215292445Z", - "initial_balance": "1500000000", - "shares_dst": "1500600147.451630691698197908" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18p4fjj20672656h83lgqzc494ufxult3yekvt0", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602390, - "completion_time": "2022-01-26T04:41:24.190212728Z", - "initial_balance": "42328000000", - "shares_dst": "42328000000.000000000000000000" - }, - "balance": "42328000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18zsx6nfkl2l98ndk6d9km76qgaxjsweh2dvven", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635246, - "completion_time": "2022-01-28T12:03:50.554579417Z", - "initial_balance": "125400000", - "shares_dst": "125400000.000000000000000000" - }, - "balance": "125400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18zsx6nfkl2l98ndk6d9km76qgaxjsweh2dvven", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635179, - "completion_time": "2022-01-28T11:57:05.579182896Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18zej893l36cdxau0d8qh3ed6ewy6ktp77zwkf6", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1792300, - "completion_time": "2022-02-08T14:08:24.60052726Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18zaajk8yypwf8kzpe9nhga9g9kef8caq8lgq84", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813182, - "completion_time": "2022-02-10T01:25:04.554771213Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18rwcktr3y43qyhcqv3mnle5wag86s638ea8w5c", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1604372, - "completion_time": "2022-01-26T08:01:05.895032648Z", - "initial_balance": "117000000", - "shares_dst": "117000000.000000000000000000" - }, - "balance": "117000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18yr6q5a5uzfwj4p24lajgyrlnv2duj265aks7f", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713116, - "completion_time": "2022-02-02T23:27:55.2542851Z", - "initial_balance": "2168000000", - "shares_dst": "2168000000.000000000000000000" - }, - "balance": "2168000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret189psxs56n9xjlxrfn2cjv70dx0x64rgv04jvt4", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741861, - "completion_time": "2022-02-05T00:42:32.17367416Z", - "initial_balance": "7500000", - "shares_dst": "7500000.000000000000000000" - }, - "balance": "7500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18xqyjjvtcywkjr03lxngtfl3w7apj4nyrnp0y6", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681635, - "completion_time": "2022-01-31T18:16:52.64076317Z", - "initial_balance": "346492243", - "shares_dst": "346492243.000000000000000000" - }, - "balance": "346492243" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18xy5akl6kmvfdykmfu5f6s7sjvdfqfqr42ffu3", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842506, - "completion_time": "2022-02-12T02:50:30.958028173Z", - "initial_balance": "17000000", - "shares_dst": "17000000.000000000000000000" - }, - "balance": "17000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18x2ua4y6ex9xhqprxf9lysv6d3wr50krty8x9a", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636741, - "completion_time": "2022-01-28T14:36:11.519309767Z", - "initial_balance": "35000000", - "shares_dst": "35000000.000000000000000000" - }, - "balance": "35000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18x0ufjfc9lthh65qrkndgfeude5cc2hqfq2yjn", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1yfkkr7krkaudr3tm8tp3jhmu7xn4ncf9tthhsp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816258, - "completion_time": "2022-02-10T06:35:03.843347448Z", - "initial_balance": "51000000", - "shares_dst": "51000000.000000000000000000" - }, - "balance": "51000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18x0ufjfc9lthh65qrkndgfeude5cc2hqfq2yjn", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816399, - "completion_time": "2022-02-10T06:49:12.824942077Z", - "initial_balance": "25999999", - "shares_dst": "25999999.000000000000000000" - }, - "balance": "25999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18x4qyh6zu2v9m2ww7r6st50lmys3h7cmjp70wk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700460, - "completion_time": "2022-02-02T02:06:13.923333462Z", - "initial_balance": "23999999", - "shares_dst": "23999999.000000000000000000" - }, - "balance": "23999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret188gu6x2uz993l4t88xwsw030kdvaa7d522w3mk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599016, - "completion_time": "2022-01-25T23:01:55.088036258Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret188tlxr579mya08gnc7jdz969sxemtdgettu8kn", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707655, - "completion_time": "2022-02-02T14:13:44.293492607Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18g4j894x8tnzhg62thzac5zyea9vdvztqxxc9w", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681416, - "completion_time": "2022-01-31T17:54:27.433968386Z", - "initial_balance": "59590000", - "shares_dst": "59590000.000000000000000000" - }, - "balance": "59590000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18gutv6ewgqcywhztwqxgam3thq4zkdduuw7s7x", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731544, - "completion_time": "2022-02-04T06:41:41.500414059Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18f2erwkllsvy2t053pk3jk4adwzfsxpgf0a69y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1614996, - "completion_time": "2022-01-27T01:58:50.155704153Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18drgt2925ckcud8wtrxcgscl8udmnr6w4gk3k0", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1756555, - "completion_time": "2022-02-06T01:56:24.188532471Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18drgt2925ckcud8wtrxcgscl8udmnr6w4gk3k0", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1756561, - "completion_time": "2022-02-06T01:57:00.198862191Z", - "initial_balance": "23000000", - "shares_dst": "23000000.000000000000000000" - }, - "balance": "23000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18dhx3cglpakp8shzp2qnay4alnwv9d935wxwad", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836080, - "completion_time": "2022-02-11T15:49:07.282103301Z", - "initial_balance": "1075000000", - "shares_dst": "1075000000.000000000000000000" - }, - "balance": "1075000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18w29kmmv0jfa8wsh2mn9x3t9rwngrs2wa50jm0", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765766, - "completion_time": "2022-02-06T17:25:44.917707425Z", - "initial_balance": "6631535", - "shares_dst": "6631535.000000000000000000" - }, - "balance": "6631535" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret180pd67vvtwxx48fjqg3kxv2ge6u02lhc7qxu02", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831125, - "completion_time": "2022-02-11T07:32:04.071676405Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret180947zlv3l4q6xfc6enwy7274sljjgxzhp5eny", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1592902, - "completion_time": "2022-01-25T12:38:50.442492664Z", - "initial_balance": "41600000", - "shares_dst": "41600000.000000000000000000" - }, - "balance": "41600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret180mx3ckex6ha30hed5s36p8j65l3kk282f280s", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831010, - "completion_time": "2022-02-11T07:20:29.368568161Z", - "initial_balance": "5000000", - "shares_dst": "5000500.049101462742073419" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18suqq8y8gkg70j472vxmpkcl8twh6w97rrldxe", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654639, - "completion_time": "2022-01-29T20:45:25.910931353Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18suqq8y8gkg70j472vxmpkcl8twh6w97rrldxe", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649672, - "completion_time": "2022-01-29T12:21:51.666312769Z", - "initial_balance": "319936002", - "shares_dst": "319936002.000000000000000000" - }, - "balance": "319936002" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18sljkjmzqqmcxa4tjl635elrkvxv4yvglq7luq", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842315, - "completion_time": "2022-02-12T02:26:46.94226338Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18sljkjmzqqmcxa4tjl635elrkvxv4yvglq7luq", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842321, - "completion_time": "2022-02-12T02:28:55.849751341Z", - "initial_balance": "9932624", - "shares_dst": "9932624.000000000000000000" - }, - "balance": "9932624" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret183srtw4jhmzm7xalhxwp9lnpk94ha8jy33mf3g", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737411, - "completion_time": "2022-02-04T16:37:58.289387586Z", - "initial_balance": "1009932667", - "shares_dst": "1009932667.000000000000000000" - }, - "balance": "1009932667" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18jkhumwchtzdw3kuzanwytdadj6ure427f3zh6", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781972, - "completion_time": "2022-02-07T20:45:48.884992061Z", - "initial_balance": "1171075671", - "shares_dst": "1171309921.134774737231774626" - }, - "balance": "1171075671" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18nvusxyyake9lm2aktk87h8wrncun7cu3v2nee", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726638, - "completion_time": "2022-02-03T22:16:12.644645856Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18n7jl0l803zzx03vspdknjcez6zkunnakyr88f", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1868959, - "completion_time": "2022-02-14T04:47:23.811031152Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret185yd6en9k2zh06gtgwpdmcr8ddqk8tg4vacklv", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623790, - "completion_time": "2022-01-27T16:45:22.154642639Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret185gq4ur4hvmnvr2h9f6pxcu6vl0chsvscv2sg5", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1638054, - "completion_time": "2022-01-28T16:49:51.434216507Z", - "initial_balance": "537000000", - "shares_dst": "537000000.000000000000000000" - }, - "balance": "537000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret185n6kmhuwgrmvtrtzq976k9gy45p0wxzwf8kn7", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736125, - "completion_time": "2022-02-04T14:25:00.296576062Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18kqrm7velvmanns5xcm70e0ar50gv6gsvxs48x", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837258, - "completion_time": "2022-02-11T17:47:30.161574192Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18kq0uz0mnpc0dkdzqfchy3jaxq96lcl8kehzh9", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1857391, - "completion_time": "2022-02-13T08:04:45.268877365Z", - "initial_balance": "10000000", - "shares_dst": "10001000.098184491576170421" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18hvffus95xcgtqnsqlhq3vm2vvpfmc62jnzppy", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622536, - "completion_time": "2022-01-27T14:38:34.748017208Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ct84ud7q8xqhxvt3q2ddceqg9kq2aknh5v0qz", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1qjk5uduu3zg356chmstcp2eqgdn35jp3ztxh4x", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813479, - "completion_time": "2022-02-10T01:54:53.901286615Z", - "initial_balance": "250000000", - "shares_dst": "126262613.681977644019761547" - }, - "balance": "249999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ct84ud7q8xqhxvt3q2ddceqg9kq2aknh5v0qz", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813559, - "completion_time": "2022-02-10T02:02:53.582910837Z", - "initial_balance": "350000000", - "shares_dst": "350035003.423493875032535098" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ct84ud7q8xqhxvt3q2ddceqg9kq2aknh5v0qz", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813467, - "completion_time": "2022-02-10T01:53:42.224725028Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ct84ud7q8xqhxvt3q2ddceqg9kq2aknh5v0qz", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813505, - "completion_time": "2022-02-10T01:57:29.747487055Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ct84ud7q8xqhxvt3q2ddceqg9kq2aknh5v0qz", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813456, - "completion_time": "2022-02-10T01:52:35.362083141Z", - "initial_balance": "179999999", - "shares_dst": "180036004.290120751194871889" - }, - "balance": "179999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730902, - "completion_time": "2022-02-04T05:36:06.326500601Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730829, - "completion_time": "2022-02-04T05:28:45.031005282Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730867, - "completion_time": "2022-02-04T05:32:33.498911743Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730897, - "completion_time": "2022-02-04T05:35:35.540059169Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730836, - "completion_time": "2022-02-04T05:29:27.274146313Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730893, - "completion_time": "2022-02-04T05:35:11.487280247Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730851, - "completion_time": "2022-02-04T05:30:57.636130532Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730878, - "completion_time": "2022-02-04T05:33:40.047370034Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730856, - "completion_time": "2022-02-04T05:31:27.559951752Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730889, - "completion_time": "2022-02-04T05:34:47.374442786Z", - "initial_balance": "29997000", - "shares_dst": "29997000.000000000000000000" - }, - "balance": "29997000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730883, - "completion_time": "2022-02-04T05:34:11.377343168Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18cm582ngkmkgwyyuks5ntwe97z2698u6uawt4x", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730899, - "completion_time": "2022-02-04T05:35:48.150219739Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18e73ahwkz3d86g0w4yp4mhqswtx9q3kf69tn8h", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730476, - "completion_time": "2022-02-04T04:52:46.519581919Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18e73ahwkz3d86g0w4yp4mhqswtx9q3kf69tn8h", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730464, - "completion_time": "2022-02-04T04:51:33.51708688Z", - "initial_balance": "76999999", - "shares_dst": "76999999.000000000000000000" - }, - "balance": "76999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18e73ahwkz3d86g0w4yp4mhqswtx9q3kf69tn8h", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654575, - "completion_time": "2022-01-29T20:38:59.757472223Z", - "initial_balance": "149999999", - "shares_dst": "149999999.000000000000000000" - }, - "balance": "149999999" - }, - { - "redelegation_entry": { - "creation_height": 1730452, - "completion_time": "2022-02-04T04:50:21.503739861Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18mvrglsqucn9d0z7cgls2fslj7ndwttcr9l4nm", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771340, - "completion_time": "2022-02-07T02:48:35.996925048Z", - "initial_balance": "7000000", - "shares_dst": "7000000.000000000000000000" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18mvrglsqucn9d0z7cgls2fslj7ndwttcr9l4nm", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771347, - "completion_time": "2022-02-07T02:49:17.984808843Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ma4lh6uhtqu4wcsqlyx8vqwr2yk69wsqqjrzt", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709808, - "completion_time": "2022-02-02T17:52:06.062433585Z", - "initial_balance": "29999999", - "shares_dst": "29999999.000000000000000000" - }, - "balance": "29999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ujzl6nldvfj27mwk8tvmh0y7sj3vplevwtrma", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837760, - "completion_time": "2022-02-11T18:37:50.789589189Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ujzl6nldvfj27mwk8tvmh0y7sj3vplevwtrma", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837755, - "completion_time": "2022-02-11T18:37:21.074904186Z", - "initial_balance": "57632100", - "shares_dst": "57632100.000000000000000000" - }, - "balance": "57632100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18aqzy4w778fdz8fhkkly7kgf85jz36n02ng5pr", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1873867, - "completion_time": "2022-02-14T15:20:27.322164517Z", - "initial_balance": "415650000", - "shares_dst": "415650000.000000000000000000" - }, - "balance": "415650000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18aqzy4w778fdz8fhkkly7kgf85jz36n02ng5pr", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683706, - "completion_time": "2022-01-31T21:50:07.160096155Z", - "initial_balance": "8600000", - "shares_dst": "8600000.000000000000000000" - }, - "balance": "8600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18af80nw7nwkgdsv0prmachmfylm25rfwlg6vjv", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780010, - "completion_time": "2022-02-07T17:24:33.14994785Z", - "initial_balance": "3500000", - "shares_dst": "3500700.104808753182724178" - }, - "balance": "3500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret187s56jcxcethpc6awz2sq3lg0v9kchnp3t6udn", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832877, - "completion_time": "2022-02-11T10:27:13.482055213Z", - "initial_balance": "221314", - "shares_dst": "221336.133573368225059847" - }, - "balance": "221314" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret187km2yg2xd65ma266dp3uc3nfpw6f5826f6ycj", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1705008, - "completion_time": "2022-02-02T09:45:51.470590565Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret187km2yg2xd65ma266dp3uc3nfpw6f5826f6ycj", - "validator_src_address": "secretvaloper1404h4aet3jn8uw7660670nqej2plsgqul74mjp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733004, - "completion_time": "2022-02-04T09:09:14.619639172Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1876l4y23yfqu6ccc9lwr0wms7kt2l06a529ldc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697207, - "completion_time": "2022-02-01T20:37:58.666467614Z", - "initial_balance": "601550000", - "shares_dst": "601550000.000000000000000000" - }, - "balance": "601550000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1876l4y23yfqu6ccc9lwr0wms7kt2l06a529ldc", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697200, - "completion_time": "2022-02-01T20:37:16.527936599Z", - "initial_balance": "21000000", - "shares_dst": "21000000.000000000000000000" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18l9z0ty9ktyyquahl9c8gxqjwpayxk43ax9hy2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709184, - "completion_time": "2022-02-02T16:48:40.389149632Z", - "initial_balance": "160000000", - "shares_dst": "160000000.000000000000000000" - }, - "balance": "160000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret18ldnta2wv22f9ghufa7lmqp22ved8epkxahuzj", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837335, - "completion_time": "2022-02-11T17:55:11.567977131Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gq27pc50269pz2sngpmp0vmhpcujj823znk4p7", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762643, - "completion_time": "2022-02-06T12:11:11.674440679Z", - "initial_balance": "7999200000", - "shares_dst": "7999200000.000000000000000000" - }, - "balance": "7999200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gpzm3ewev4jrstan787rksqqn6fseg35wucqjt", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721533, - "completion_time": "2022-02-03T13:37:38.03698141Z", - "initial_balance": "4999499999", - "shares_dst": "4999499999.000000000000000000" - }, - "balance": "4999499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gprc2zx23r65jxxqkuue7ry0l2k3jnm90z90s5", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789542, - "completion_time": "2022-02-08T09:30:38.27708367Z", - "initial_balance": "999999999", - "shares_dst": "999999999.000000000000000000" - }, - "balance": "999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gprc2zx23r65jxxqkuue7ry0l2k3jnm90z90s5", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789569, - "completion_time": "2022-02-08T09:33:21.391013526Z", - "initial_balance": "996700000", - "shares_dst": "996799679.916310155746112983" - }, - "balance": "996700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gzgnxzuqs54mn7f44a6nu000g89x6u40cgfh60", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654608, - "completion_time": "2022-01-29T20:42:18.816856783Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gztcvygycjj9c30r45fm9ky98egv5vmx7qy5x3", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700612, - "completion_time": "2022-02-02T02:21:31.871057487Z", - "initial_balance": "126219469", - "shares_dst": "126219469.000000000000000000" - }, - "balance": "126219469" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gzlz4dqudpye5xqfrcccp9st0yxhqudzdgwhh7", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668370, - "completion_time": "2022-01-30T19:51:36.971820586Z", - "initial_balance": "1227235000", - "shares_dst": "1227235000.000000000000000000" - }, - "balance": "1227235000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gzln7fwa3md45al9e4cg75q77j8zy3gveyqd80", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822528, - "completion_time": "2022-02-10T17:06:00.799630468Z", - "initial_balance": "10000000", - "shares_dst": "10001000.098712836134204662" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gzln7fwa3md45al9e4cg75q77j8zy3gveyqd80", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822514, - "completion_time": "2022-02-10T17:04:35.795402648Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g98xanenqsl9jnqugfr64s7tzhzgkj9336jy3d", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584623, - "completion_time": "2022-01-24T22:34:51.723074742Z", - "initial_balance": "100059204", - "shares_dst": "100059204.000000000000000000" - }, - "balance": "100059204" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g9hfpqtk4q4rqjny86947kan2v7srkt9qjx27t", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694886, - "completion_time": "2022-02-01T16:43:10.314689475Z", - "initial_balance": "178355804", - "shares_dst": "178355804.000000000000000000" - }, - "balance": "178355804" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gxfpn0yca6frek04pl42a3uzx4zmqgeza8x3kw", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1639548, - "completion_time": "2022-01-28T19:21:40.253234815Z", - "initial_balance": "1350000000", - "shares_dst": "1350000000.000000000000000000" - }, - "balance": "1350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g8zak8fh47hdr3m57rwjf4zs9zn059hveu4hnt", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1688977, - "completion_time": "2022-02-01T06:47:10.677182499Z", - "initial_balance": "379999999", - "shares_dst": "379999999.000000000000000000" - }, - "balance": "379999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ggty6vcd5fzjpdc3n9rtlqxkfaw2l5xchcntt0", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686996, - "completion_time": "2022-02-01T03:26:25.514009741Z", - "initial_balance": "6000000000", - "shares_dst": "6000000000.000000000000000000" - }, - "balance": "6000000000" - }, - { - "redelegation_entry": { - "creation_height": 1732898, - "completion_time": "2022-02-04T08:58:34.536434093Z", - "initial_balance": "685000000", - "shares_dst": "685000000.000000000000000000" - }, - "balance": "685000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ggty6vcd5fzjpdc3n9rtlqxkfaw2l5xchcntt0", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687004, - "completion_time": "2022-02-01T03:27:14.194540441Z", - "initial_balance": "6000000000", - "shares_dst": "6000000000.000000000000000000" - }, - "balance": "6000000000" - }, - { - "redelegation_entry": { - "creation_height": 1732902, - "completion_time": "2022-02-04T08:58:58.264904801Z", - "initial_balance": "685000000", - "shares_dst": "685000000.000000000000000000" - }, - "balance": "685000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ggtxn0rlvm39ksczh5yalldhkl2x07r9mj4xcq", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849044, - "completion_time": "2022-02-12T15:35:31.125238509Z", - "initial_balance": "310000000", - "shares_dst": "310000000.000000000000000000" - }, - "balance": "310000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ggtxn0rlvm39ksczh5yalldhkl2x07r9mj4xcq", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849051, - "completion_time": "2022-02-12T15:36:13.967352855Z", - "initial_balance": "23000000", - "shares_dst": "23000000.000000000000000000" - }, - "balance": "23000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gg63rpf7dffurcrw4u75smgwuh08cvhwdvyrnh", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729984, - "completion_time": "2022-02-04T04:02:37.589870083Z", - "initial_balance": "1497500000", - "shares_dst": "1497500000.000000000000000000" - }, - "balance": "1497500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gfwqwjsw8ny8298d6lvx0g6um4x6q8qnxx9gur", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647939, - "completion_time": "2022-01-29T09:27:15.918417399Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gfwqwjsw8ny8298d6lvx0g6um4x6q8qnxx9gur", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647934, - "completion_time": "2022-01-29T09:26:45.202739642Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gfwqwjsw8ny8298d6lvx0g6um4x6q8qnxx9gur", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648013, - "completion_time": "2022-01-29T09:34:46.769002637Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gfwqwjsw8ny8298d6lvx0g6um4x6q8qnxx9gur", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648023, - "completion_time": "2022-01-29T09:35:48.557614777Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gtqq5uvau5my4w5umlsr573anrf5nyj60gz0da", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800477, - "completion_time": "2022-02-09T03:55:34.240529781Z", - "initial_balance": "28765501", - "shares_dst": "28765501.000000000000000000" - }, - "balance": "28765501" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gt8k590v9phyt7ucasf5djks5g2lwl47utakzz", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739610, - "completion_time": "2022-02-04T20:39:05.166086141Z", - "initial_balance": "6999999999", - "shares_dst": "6999999999.000000000000000000" - }, - "balance": "6999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gvw9rurd6g8j7hxyu42gwrkqrm4l5ery6lp35l", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801516, - "completion_time": "2022-02-09T05:40:25.957814383Z", - "initial_balance": "3295000000", - "shares_dst": "3295000000.000000000000000000" - }, - "balance": "3295000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gvw9rurd6g8j7hxyu42gwrkqrm4l5ery6lp35l", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801522, - "completion_time": "2022-02-09T05:41:01.756202018Z", - "initial_balance": "3310000000", - "shares_dst": "3310000000.000000000000000000" - }, - "balance": "3310000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gvw9rurd6g8j7hxyu42gwrkqrm4l5ery6lp35l", - "validator_src_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801528, - "completion_time": "2022-02-09T05:41:37.612377522Z", - "initial_balance": "3280000000", - "shares_dst": "3280000000.000000000000000000" - }, - "balance": "3280000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gvnk03ngwrjkjtkr0xeextt0alxfqvycr22ht0", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1871949, - "completion_time": "2022-02-14T09:45:39.640435097Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gve09wm4jkf3kzhe50frelkezp28uc5jtu3k9q", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643572, - "completion_time": "2022-01-29T02:08:38.851412696Z", - "initial_balance": "119059009", - "shares_dst": "119059009.000000000000000000" - }, - "balance": "119059009" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g0yx25t3sqr5gq94eq4zmyk8z2ylvwhtr2lfwj", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643243, - "completion_time": "2022-01-29T01:35:36.45035469Z", - "initial_balance": "16973520", - "shares_dst": "16973520.000000000000000000" - }, - "balance": "16973520" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g025txx4dnh78axr8ph98xexctsxr4eqaqcj40", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772680, - "completion_time": "2022-02-07T05:03:31.847663243Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g025txx4dnh78axr8ph98xexctsxr4eqaqcj40", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772677, - "completion_time": "2022-02-07T05:03:13.654698677Z", - "initial_balance": "1100000000", - "shares_dst": "1100000000.000000000000000000" - }, - "balance": "1100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g0wd4fxsvajyf8ghrkcsvcs6acvgu5x5py3m0n", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811278, - "completion_time": "2022-02-09T22:13:24.737064705Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g0jy0xac6muuman6xpdg2gedvq4cec5evjjdgu", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709541, - "completion_time": "2022-02-02T17:24:59.325806625Z", - "initial_balance": "1477950000", - "shares_dst": "1477950000.000000000000000000" - }, - "balance": "1477950000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g0jy0xac6muuman6xpdg2gedvq4cec5evjjdgu", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709529, - "completion_time": "2022-02-02T17:23:45.205009052Z", - "initial_balance": "1490000000", - "shares_dst": "1490000000.000000000000000000" - }, - "balance": "1490000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gj4yqlfdfa5sxcvzx9xn5u4wpygz7qzq5vvhsu", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1753237, - "completion_time": "2022-02-05T20:21:58.194411477Z", - "initial_balance": "2015449", - "shares_dst": "2015449.000000000000000000" - }, - "balance": "2015449" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gn5pcenzmnpchpcnn3qmwg46a5cm4xjf94jf2s", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738211, - "completion_time": "2022-02-04T18:06:40.289575144Z", - "initial_balance": "9999999999", - "shares_dst": "9999999999.000000000000000000" - }, - "balance": "9999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gn5pcenzmnpchpcnn3qmwg46a5cm4xjf94jf2s", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738196, - "completion_time": "2022-02-04T18:03:34.639315873Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gn5x5s47zf3wv56zwfy4pehw87ap5cy4cgtlxg", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680837, - "completion_time": "2022-01-31T16:54:35.669227644Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gn5x5s47zf3wv56zwfy4pehw87ap5cy4cgtlxg", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680537, - "completion_time": "2022-01-31T16:23:54.594130064Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g5435cjhlm4s2nlmwln6ess9x4lc4qgdtu4rzx", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1667535, - "completion_time": "2022-01-30T18:26:34.489183316Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g4wdtvdg7va7e8a4dfhtw2yc6fjw0trgcun628", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596101, - "completion_time": "2022-01-25T18:05:21.5145146Z", - "initial_balance": "312499999", - "shares_dst": "312499999.000000000000000000" - }, - "balance": "312499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g430zndvy8xnpmxcus58k5xjtejndjq338tkyv", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736194, - "completion_time": "2022-02-04T14:32:02.038022519Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g4jld69eyacvpjra32vu8x35p5g0hwylejm25x", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833017, - "completion_time": "2022-02-11T10:41:15.116658899Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g4jld69eyacvpjra32vu8x35p5g0hwylejm25x", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833029, - "completion_time": "2022-02-11T10:42:26.24978698Z", - "initial_balance": "199999", - "shares_dst": "199999.000000000000000000" - }, - "balance": "199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g4ejan3jcntct5d6qrpk6zme4kgv6llzzmg9n9", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837022, - "completion_time": "2022-02-11T17:23:59.719124575Z", - "initial_balance": "2500000", - "shares_dst": "2500000.000000000000000000" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gknudrrhrskpxf30aua3ghtygsjlchuygy79ng", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725735, - "completion_time": "2022-02-03T20:44:20.884771753Z", - "initial_balance": "7000000", - "shares_dst": "7000000.000000000000000000" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gknudrrhrskpxf30aua3ghtygsjlchuygy79ng", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1698341, - "completion_time": "2022-02-01T22:31:55.47691775Z", - "initial_balance": "13100000", - "shares_dst": "13100000.000000000000000000" - }, - "balance": "13100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gknudrrhrskpxf30aua3ghtygsjlchuygy79ng", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725730, - "completion_time": "2022-02-03T20:43:50.058108382Z", - "initial_balance": "11949897", - "shares_dst": "11949897.000000000000000000" - }, - "balance": "11949897" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gknudrrhrskpxf30aua3ghtygsjlchuygy79ng", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1698334, - "completion_time": "2022-02-01T22:31:13.6783518Z", - "initial_balance": "12000000", - "shares_dst": "12000000.000000000000000000" - }, - "balance": "12000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gkhzm8ae3r8uk39984qvnazrpmehea0je4l8ql", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628786, - "completion_time": "2022-01-28T01:11:07.363974785Z", - "initial_balance": "118988100", - "shares_dst": "118988100.000000000000000000" - }, - "balance": "118988100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ghqegwxq8hv34rqazzzf4wjhm0l2tka93uhjm2", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842918, - "completion_time": "2022-02-12T03:36:31.55653246Z", - "initial_balance": "155032699", - "shares_dst": "155032699.000000000000000000" - }, - "balance": "155032699" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1geyzpamjnyngpudz5u30hc3d9exvrg9r0765kk", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684892, - "completion_time": "2022-01-31T23:52:01.057471017Z", - "initial_balance": "975460000", - "shares_dst": "975460000.000000000000000000" - }, - "balance": "975460000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1geyzpamjnyngpudz5u30hc3d9exvrg9r0765kk", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684661, - "completion_time": "2022-01-31T23:28:23.935054992Z", - "initial_balance": "132000000", - "shares_dst": "132000000.000000000000000000" - }, - "balance": "132000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gewflucfcawgwe8qu9t9e9cm6pxfm3r9nynnzm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709187, - "completion_time": "2022-02-02T16:48:58.178403712Z", - "initial_balance": "350000000", - "shares_dst": "350000000.000000000000000000" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gm3tj5l4ajse0d2w5ajvx8wuu7wrq873h3h90z", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681004, - "completion_time": "2022-01-31T17:11:38.188799497Z", - "initial_balance": "180000000", - "shares_dst": "180000000.000000000000000000" - }, - "balance": "180000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gm3tj5l4ajse0d2w5ajvx8wuu7wrq873h3h90z", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680990, - "completion_time": "2022-01-31T17:10:12.165296297Z", - "initial_balance": "179999999", - "shares_dst": "179999999.000000000000000000" - }, - "balance": "179999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gm3tj5l4ajse0d2w5ajvx8wuu7wrq873h3h90z", - "validator_src_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680987, - "completion_time": "2022-01-31T17:09:53.862027016Z", - "initial_balance": "164976999", - "shares_dst": "164976999.000000000000000000" - }, - "balance": "164976999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gm4jceunfw78eee8a0n2wa5cq6q5sf8ps4ndg5", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1858100, - "completion_time": "2022-02-13T09:25:40.080062614Z", - "initial_balance": "1610000000", - "shares_dst": "1610000000.000000000000000000" - }, - "balance": "1610000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gmcjjhgsttfa4gpdg7p66rvywnh4hqa3g30dqu", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842618, - "completion_time": "2022-02-12T03:03:14.171706822Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gufr8aka6xa4na2mn023kdtdvwgtk2svucpu5e", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583708, - "completion_time": "2022-01-24T20:59:47.30068379Z", - "initial_balance": "17800000", - "shares_dst": "17800000.000000000000000000" - }, - "balance": "17800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1guvjarj8ugccwhgmp0n292fpv96yykh7hqjeem", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712928, - "completion_time": "2022-02-02T23:08:43.97184699Z", - "initial_balance": "509000000", - "shares_dst": "509000000.000000000000000000" - }, - "balance": "509000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612536, - "completion_time": "2022-01-26T21:48:14.303007425Z", - "initial_balance": "7000000", - "shares_dst": "7000000.000000000000000000" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797153, - "completion_time": "2022-02-08T22:19:50.728942791Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1815364, - "completion_time": "2022-02-10T05:04:32.829962189Z", - "initial_balance": "16000000", - "shares_dst": "16000000.000000000000000000" - }, - "balance": "16000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797159, - "completion_time": "2022-02-08T22:20:26.732653117Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1gakdqmxjy3a8edegf949zzr39nxx5j0h6wxzyn", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612522, - "completion_time": "2022-01-26T21:46:49.968420115Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g7slh4ruq0kkwc8mjst39j9f7rsudnjx2v5qfu", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710226, - "completion_time": "2022-02-02T18:34:27.265086205Z", - "initial_balance": "1308000000", - "shares_dst": "1308000000.000000000000000000" - }, - "balance": "1308000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g7slh4ruq0kkwc8mjst39j9f7rsudnjx2v5qfu", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680480, - "completion_time": "2022-01-31T16:17:54.662867746Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1g7mllv7ltyl0hwuzkf8swy8wp2q6tmsw5pdgla", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789553, - "completion_time": "2022-02-08T09:31:44.307843256Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqt79f5enr27wtlrzfr0ksn852qa2595mtmp88", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623037, - "completion_time": "2022-01-27T15:29:20.342169546Z", - "initial_balance": "695000000", - "shares_dst": "695000000.000000000000000000" - }, - "balance": "695000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqt79f5enr27wtlrzfr0ksn852qa2595mtmp88", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623043, - "completion_time": "2022-01-27T15:29:56.33927668Z", - "initial_balance": "690999999", - "shares_dst": "690999999.000000000000000000" - }, - "balance": "690999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqdd5nulw40ky3pdnxmktrfsjrwrsz6qnvkyfn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1711551, - "completion_time": "2022-02-02T20:48:56.236862546Z", - "initial_balance": "48976724", - "shares_dst": "48976724.000000000000000000" - }, - "balance": "48976724" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqdd5nulw40ky3pdnxmktrfsjrwrsz6qnvkyfn", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1711623, - "completion_time": "2022-02-02T20:56:13.50752981Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqdd5nulw40ky3pdnxmktrfsjrwrsz6qnvkyfn", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1711618, - "completion_time": "2022-02-02T20:55:43.165727316Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqksanzhzr6w3ag7jyls6zrrvfxh64gxau0sh3", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622177, - "completion_time": "2022-01-27T14:02:21.445781783Z", - "initial_balance": "124290000", - "shares_dst": "124290000.000000000000000000" - }, - "balance": "124290000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqhtkq8qayyfwzg0hlwpz5esk9nszyaj6d0fm7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734451, - "completion_time": "2022-02-04T11:35:22.610333545Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fqhtkq8qayyfwzg0hlwpz5esk9nszyaj6d0fm7", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734460, - "completion_time": "2022-02-04T11:36:16.864701592Z", - "initial_balance": "27134090", - "shares_dst": "27134090.000000000000000000" - }, - "balance": "27134090" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fpx4nj55ju3g7mju8k07dyprnelanhyjwyg78u", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596717, - "completion_time": "2022-01-25T19:08:21.709754482Z", - "initial_balance": "13000000", - "shares_dst": "13000000.000000000000000000" - }, - "balance": "13000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fp298ysr6fhpl6rs6fe95s8mc32qddvmuycas0", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773962, - "completion_time": "2022-02-07T07:12:51.017109999Z", - "initial_balance": "1100000", - "shares_dst": "1100000.000000000000000000" - }, - "balance": "1100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fzpws38h5ap9hhte8xgrstyggrczlxz6c4ychx", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750901, - "completion_time": "2022-02-05T16:26:27.112888237Z", - "initial_balance": "850084899", - "shares_dst": "850084899.000000000000000000" - }, - "balance": "850084899" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fzy22lw6eq7veza2gwr2ea8xpg448n70vsm22m", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682631, - "completion_time": "2022-01-31T19:59:38.900020545Z", - "initial_balance": "5000000000", - "shares_dst": "5000500033.849305775068313095" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fzy22lw6eq7veza2gwr2ea8xpg448n70vsm22m", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682598, - "completion_time": "2022-01-31T19:56:16.197008279Z", - "initial_balance": "3500000000", - "shares_dst": "3500000000.000000000000000000" - }, - "balance": "3500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fzy22lw6eq7veza2gwr2ea8xpg448n70vsm22m", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682586, - "completion_time": "2022-01-31T19:54:59.997539812Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fy3t24txuyy0ad8l4qrvknl9c8kmxfn0azy0ec", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1589003, - "completion_time": "2022-01-25T06:03:59.429860236Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f9r4xgc5xpwq654hrm9jf5q7uj589mltzywvvs", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724645, - "completion_time": "2022-02-03T18:53:18.166291736Z", - "initial_balance": "369153294", - "shares_dst": "369153294.000000000000000000" - }, - "balance": "369153294" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fxtg53uexmvh47wppasxjpee4u0erv2l9yzzku", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653438, - "completion_time": "2022-01-29T18:43:45.342985742Z", - "initial_balance": "3761893", - "shares_dst": "3761893.000000000000000000" - }, - "balance": "3761893" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fxdsdf9adqqvvua904nuatf8r30kt08dsw8ajv", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731701, - "completion_time": "2022-02-04T06:57:29.247215313Z", - "initial_balance": "37000000", - "shares_dst": "37000000.000000000000000000" - }, - "balance": "37000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fxw3azlpglvj7np276g09euu674m08cs2h37w4", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766104, - "completion_time": "2022-02-06T17:59:50.782159998Z", - "initial_balance": "352240000", - "shares_dst": "352240000.000000000000000000" - }, - "balance": "352240000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ffhe8dh8fawzgmsc5peldgtrhskazs47jre86n", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728385, - "completion_time": "2022-02-04T01:18:52.922148498Z", - "initial_balance": "170000", - "shares_dst": "170000.000000000000000000" - }, - "balance": "170000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762179, - "completion_time": "2022-02-06T11:24:38.940051246Z", - "initial_balance": "130000000", - "shares_dst": "130000000.000000000000000000" - }, - "balance": "130000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762162, - "completion_time": "2022-02-06T11:22:55.408893727Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762078, - "completion_time": "2022-02-06T11:14:26.862367251Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762153, - "completion_time": "2022-02-06T11:22:00.637708547Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762184, - "completion_time": "2022-02-06T11:25:08.676919061Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762157, - "completion_time": "2022-02-06T11:22:24.81988991Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762167, - "completion_time": "2022-02-06T11:23:25.462045802Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762171, - "completion_time": "2022-02-06T11:23:49.429919991Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762192, - "completion_time": "2022-02-06T11:25:56.897167546Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762189, - "completion_time": "2022-02-06T11:25:38.741046232Z", - "initial_balance": "29999999", - "shares_dst": "29999999.000000000000000000" - }, - "balance": "29999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762082, - "completion_time": "2022-02-06T11:14:50.408782046Z", - "initial_balance": "90000000", - "shares_dst": "90000000.000000000000000000" - }, - "balance": "90000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762175, - "completion_time": "2022-02-06T11:24:13.966660777Z", - "initial_balance": "120749999", - "shares_dst": "120749999.000000000000000000" - }, - "balance": "120749999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2tx4jy6xfsjqknzdghlgtj7w5hfg2dfkhk0vz", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762149, - "completion_time": "2022-02-06T11:21:36.216423567Z", - "initial_balance": "130000000", - "shares_dst": "130000000.000000000000000000" - }, - "balance": "130000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2snvw50z5698v22t5tnhnrwkld0wjjydruc6k", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727036, - "completion_time": "2022-02-03T22:57:10.627733788Z", - "initial_balance": "36565000000", - "shares_dst": "36565000000.000000000000000000" - }, - "balance": "36565000000" - }, - { - "redelegation_entry": { - "creation_height": 1727042, - "completion_time": "2022-02-03T22:57:47.359454315Z", - "initial_balance": "205000000", - "shares_dst": "205000000.000000000000000000" - }, - "balance": "205000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f2mmuhw8lkuz72uzrllhegatks2qgfnlqcassn", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789878, - "completion_time": "2022-02-08T10:04:28.301390365Z", - "initial_balance": "1211139071", - "shares_dst": "1211139071.000000000000000000" - }, - "balance": "1211139071" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ftnpjmfzsg2ypyy7nru25ltpxhjrj8slut7kyk", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1604993, - "completion_time": "2022-01-26T09:03:35.241526454Z", - "initial_balance": "178000000", - "shares_dst": "178000000.000000000000000000" - }, - "balance": "178000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fth5wmrg4u4hfftx7ag8s5qg6jstyvslrnke24", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731737, - "completion_time": "2022-02-04T07:01:09.602542215Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ftc9ylmhluf06vwtx2rlxf2z0ftk5f7m9t6d3w", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725853, - "completion_time": "2022-02-03T20:56:14.119955976Z", - "initial_balance": "179000000", - "shares_dst": "179000000.000000000000000000" - }, - "balance": "179000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fdx08d78kjmuntlx9cxd7yfhu4s2mfs9xmngm4", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737914, - "completion_time": "2022-02-04T17:30:22.747130458Z", - "initial_balance": "14999999", - "shares_dst": "14999999.000000000000000000" - }, - "balance": "14999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fdx08d78kjmuntlx9cxd7yfhu4s2mfs9xmngm4", - "validator_src_address": "secretvaloper1larnhgur2ts7hlhphmtk65c3qz6dt52y79szst", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737907, - "completion_time": "2022-02-04T17:29:40.620774731Z", - "initial_balance": "104999999", - "shares_dst": "104999999.000000000000000000" - }, - "balance": "104999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fdfgh7unzar4zf4ceq05h5tskesp0p6e9xtc20", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684408, - "completion_time": "2022-01-31T23:02:21.564843503Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fddta3d23lh7za5n7zahekynfs3p90ykgz9kuk", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596750, - "completion_time": "2022-01-25T19:11:45.07699592Z", - "initial_balance": "9999999", - "shares_dst": "10003999.996242816424917681" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fddta3d23lh7za5n7zahekynfs3p90ykgz9kuk", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596753, - "completion_time": "2022-01-25T19:12:03.527053128Z", - "initial_balance": "9999999", - "shares_dst": "10003999.996242816424917681" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fddta3d23lh7za5n7zahekynfs3p90ykgz9kuk", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596747, - "completion_time": "2022-01-25T19:11:27.026805244Z", - "initial_balance": "10000000", - "shares_dst": "10004000.996642916089209289" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fw72rwrufh6c3qxjxlvtvxzezqfdc6gzqwkdqp", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830474, - "completion_time": "2022-02-11T06:26:37.464528796Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fw72rwrufh6c3qxjxlvtvxzezqfdc6gzqwkdqp", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800431, - "completion_time": "2022-02-09T03:50:53.740147402Z", - "initial_balance": "2500000", - "shares_dst": "2602811.168904789251474609" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fs8m7dz6jnzvyujrns4l0gd4u47lny999tlffc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693774, - "completion_time": "2022-02-01T14:51:01.728917529Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fsetp4lm903m4438tsa8drlkj9nhtxdpuu54kw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734311, - "completion_time": "2022-02-04T11:21:17.076626046Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fsetp4lm903m4438tsa8drlkj9nhtxdpuu54kw", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734307, - "completion_time": "2022-02-04T11:20:52.846081738Z", - "initial_balance": "95000000", - "shares_dst": "95000000.000000000000000000" - }, - "balance": "95000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f3th3r2fjw85p5786chw09kpz97dnjae6aspww", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593138, - "completion_time": "2022-01-25T13:02:31.383067403Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f33gh78etn2lh50ecaugrn73tem9lsqp5q2yas", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771965, - "completion_time": "2022-02-07T03:51:39.227501353Z", - "initial_balance": "944463395", - "shares_dst": "944463395.000000000000000000" - }, - "balance": "944463395" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fj6dlp790uhy2dkzv4zvdv2lhnslqs3s53jhrk", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819215, - "completion_time": "2022-02-10T11:31:26.447657447Z", - "initial_balance": "205336324", - "shares_dst": "205336324.000000000000000000" - }, - "balance": "205336324" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fnfa6xr7arttucs33uuexajg03tqe9ycgvevsq", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1627514, - "completion_time": "2022-01-27T23:03:09.950627874Z", - "initial_balance": "107000000", - "shares_dst": "107000000.000000000000000000" - }, - "balance": "107000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fnhjfw97x7er3ry2uwgxu8dzh4nx8cqxdc5r02", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738721, - "completion_time": "2022-02-04T19:06:34.245889941Z", - "initial_balance": "11000000", - "shares_dst": "11000000.000000000000000000" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f4hwt7vyxvakytg7ndzkn8mf44dxtzahx9e3df", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837182, - "completion_time": "2022-02-11T17:39:56.570727127Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fkte0xhvd39snjhzrepwdcppa42fxxjvc94fun", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583936, - "completion_time": "2022-01-24T21:23:21.27789897Z", - "initial_balance": "992632793", - "shares_dst": "992632793.000000000000000000" - }, - "balance": "992632793" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fhlkw3ty357t6uc6exweua4c7pyw9yataak2fm", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762284, - "completion_time": "2022-02-06T11:35:09.670585979Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - }, - { - "redelegation_entry": { - "creation_height": 1777974, - "completion_time": "2022-02-07T13:59:05.184641818Z", - "initial_balance": "12850740000", - "shares_dst": "12850740000.000000000000000000" - }, - "balance": "12850740000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fcmfm0e87735llpxmw47d35ckkgqvcc7kq6zk7", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636768, - "completion_time": "2022-01-28T14:38:55.355712137Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - }, - { - "redelegation_entry": { - "creation_height": 1636774, - "completion_time": "2022-01-28T14:39:31.722636559Z", - "initial_balance": "15000000000", - "shares_dst": "15000000000.000000000000000000" - }, - "balance": "15000000000" - }, - { - "redelegation_entry": { - "creation_height": 1636780, - "completion_time": "2022-01-28T14:40:07.888463992Z", - "initial_balance": "25000000000", - "shares_dst": "25000000000.000000000000000000" - }, - "balance": "25000000000" - }, - { - "redelegation_entry": { - "creation_height": 1636784, - "completion_time": "2022-01-28T14:40:39.834696582Z", - "initial_balance": "30000000000", - "shares_dst": "30000000000.000000000000000000" - }, - "balance": "30000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f6ywft0emr82te38meyyhrmck9prwj4805aqax", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777612, - "completion_time": "2022-02-07T13:22:32.21250981Z", - "initial_balance": "928950497", - "shares_dst": "928950497.000000000000000000" - }, - "balance": "928950497" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1furkkmjm656fk9jp4xcszm9jsgu78jfej7p2kt", - "validator_src_address": "secretvaloper19gaqfv4zc76mkklvuql4p7jjwuw5w0604sej43", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1852933, - "completion_time": "2022-02-12T23:02:49.495721679Z", - "initial_balance": "1400000", - "shares_dst": "1400000.000000000000000000" - }, - "balance": "1400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1furkkmjm656fk9jp4xcszm9jsgu78jfej7p2kt", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1853094, - "completion_time": "2022-02-12T23:18:59.581596265Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fugjn5uvg3hxpvedpkvd05872q3s9nq60zzny6", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1785924, - "completion_time": "2022-02-08T03:24:55.833152215Z", - "initial_balance": "1032498388", - "shares_dst": "1032911488.858989641931025146" - }, - "balance": "1032498388" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1favul6gxm4qrzv3wg0slnnu0d5ys0d8fu4gluv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762473, - "completion_time": "2022-02-06T11:54:09.677624949Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1favul6gxm4qrzv3wg0slnnu0d5ys0d8fu4gluv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762489, - "completion_time": "2022-02-06T11:55:45.88720595Z", - "initial_balance": "16000000", - "shares_dst": "16000000.000000000000000000" - }, - "balance": "16000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1favul6gxm4qrzv3wg0slnnu0d5ys0d8fu4gluv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762458, - "completion_time": "2022-02-06T11:52:39.794772636Z", - "initial_balance": "10000000", - "shares_dst": "10001000.098264357359045461" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1favul6gxm4qrzv3wg0slnnu0d5ys0d8fu4gluv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1762444, - "completion_time": "2022-02-06T11:51:15.593184976Z", - "initial_balance": "10000000", - "shares_dst": "10411244.675619157005898439" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1f7lljgq8294yyn6tstw3t6mg7agut4vavct99y", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712873, - "completion_time": "2022-02-02T23:03:00.519416022Z", - "initial_balance": "64000000", - "shares_dst": "64000000.000000000000000000" - }, - "balance": "64000000" - }, - { - "redelegation_entry": { - "creation_height": 1822601, - "completion_time": "2022-02-10T17:13:17.514347918Z", - "initial_balance": "66000000", - "shares_dst": "66000000.000000000000000000" - }, - "balance": "66000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1fl6u66fscr396dpf0f44wlq2y8ht9llwn6p64e", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647906, - "completion_time": "2022-01-29T09:23:56.516977097Z", - "initial_balance": "9002300", - "shares_dst": "9002300.000000000000000000" - }, - "balance": "9002300" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12zfqlhczfh7e0gq7txq0ah5y4w56m8nuwpll4l", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1679872, - "completion_time": "2022-01-31T15:15:31.8032308Z", - "initial_balance": "13798919", - "shares_dst": "13798919.000000000000000000" - }, - "balance": "13798919" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12zfqlhczfh7e0gq7txq0ah5y4w56m8nuwpll4l", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1679809, - "completion_time": "2022-01-31T15:09:08.05174284Z", - "initial_balance": "223775998", - "shares_dst": "223775998.000000000000000000" - }, - "balance": "223775998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ry0ugvfqjz8etxh3md7m5t2jv43r7jqwkqtlv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612284, - "completion_time": "2022-01-26T21:22:19.474678141Z", - "initial_balance": "36997199", - "shares_dst": "36997199.000000000000000000" - }, - "balance": "36997199" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ry0ugvfqjz8etxh3md7m5t2jv43r7jqwkqtlv", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612276, - "completion_time": "2022-01-26T21:21:30.93658881Z", - "initial_balance": "17600000", - "shares_dst": "17600000.000000000000000000" - }, - "balance": "17600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ry0ugvfqjz8etxh3md7m5t2jv43r7jqwkqtlv", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612280, - "completion_time": "2022-01-26T21:21:55.206079855Z", - "initial_balance": "41750000", - "shares_dst": "41750000.000000000000000000" - }, - "balance": "41750000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ywhk0vdnv34m6t6xt2tda06tpw2ezgcvd8jup", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767635, - "completion_time": "2022-02-06T20:34:55.553118524Z", - "initial_balance": "229203107", - "shares_dst": "229203107.000000000000000000" - }, - "balance": "229203107" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12yct3hlzp957wqe4z98ulk204ds57xt260lwwm", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837192, - "completion_time": "2022-02-11T17:40:56.337044709Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1295xcdqn92pppmx9nz32yfz2wnq847w7vpgkmq", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628063, - "completion_time": "2022-01-27T23:58:34.614303136Z", - "initial_balance": "56262600", - "shares_dst": "56262600.000000000000000000" - }, - "balance": "56262600" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1282x87wy3zfmc6unx5ju4qtljln0un2xsz9hqz", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683821, - "completion_time": "2022-01-31T22:01:55.583153621Z", - "initial_balance": "545000000", - "shares_dst": "545000000.000000000000000000" - }, - "balance": "545000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1282x87wy3zfmc6unx5ju4qtljln0un2xsz9hqz", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683786, - "completion_time": "2022-01-31T21:58:21.028209899Z", - "initial_balance": "945000000", - "shares_dst": "945000000.000000000000000000" - }, - "balance": "945000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1282x87wy3zfmc6unx5ju4qtljln0un2xsz9hqz", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683863, - "completion_time": "2022-01-31T22:06:16.332162064Z", - "initial_balance": "415000000", - "shares_dst": "415000000.000000000000000000" - }, - "balance": "415000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12gz3mrw42xn0qlpuz00w9g3p0stwn3zhjlydxs", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1723477, - "completion_time": "2022-02-03T16:54:57.162788614Z", - "initial_balance": "1438000000", - "shares_dst": "1438000000.000000000000000000" - }, - "balance": "1438000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ggg4nvw8t6uz3rz2907aj6zacqv3ktxcqzkzz", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662789, - "completion_time": "2022-01-30T10:27:41.837493091Z", - "initial_balance": "21999999", - "shares_dst": "21999999.000000000000000000" - }, - "balance": "21999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ggg4nvw8t6uz3rz2907aj6zacqv3ktxcqzkzz", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662772, - "completion_time": "2022-01-30T10:25:59.852050052Z", - "initial_balance": "24999999", - "shares_dst": "25002499.245865630052074192" - }, - "balance": "24999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12gkknnnqed9wvmqsu300w9haxpy89zc0y4gzsd", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1761785, - "completion_time": "2022-02-06T10:44:52.883956548Z", - "initial_balance": "300000", - "shares_dst": "300000.000000000000000000" - }, - "balance": "300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12f2zqnrj2gc2ys7c6p5cjtsc5qt2ef9z08re59", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655591, - "completion_time": "2022-01-29T22:21:38.725912686Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12f3kazv4xfgxr99h82mg0kazjpl27wf6uf64q9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729857, - "completion_time": "2022-02-04T03:49:35.364921309Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12f3kazv4xfgxr99h82mg0kazjpl27wf6uf64q9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850521, - "completion_time": "2022-02-12T18:32:40.902445252Z", - "initial_balance": "8564200000", - "shares_dst": "8564200000.000000000000000000" - }, - "balance": "8564200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12fn0kwnley4j9dcyxs798av26482emw4f4um3h", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1595292, - "completion_time": "2022-01-25T16:41:51.588514281Z", - "initial_balance": "173983100", - "shares_dst": "173983100.000000000000000000" - }, - "balance": "173983100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1229mkuaa5rl0849ua7uggv3ql602a0dpm8jgs5", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726815, - "completion_time": "2022-02-03T22:34:16.043964458Z", - "initial_balance": "1104000000", - "shares_dst": "1104000000.000000000000000000" - }, - "balance": "1104000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1223eqr6xqapuaa2yca5anqnlg68ea8pds98zxx", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736179, - "completion_time": "2022-02-04T14:30:25.75439151Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12244wvvsptd2q05e43gan9up5rg9j45n4xjpch", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696921, - "completion_time": "2022-02-01T20:09:13.16875932Z", - "initial_balance": "2600000000", - "shares_dst": "2600000000.000000000000000000" - }, - "balance": "2600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12t94jz3m0ww9qw5ryrpzrcrpw7nvq7wa7seqmq", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816882, - "completion_time": "2022-02-10T07:37:31.654821651Z", - "initial_balance": "51000000", - "shares_dst": "51000000.000000000000000000" - }, - "balance": "51000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12t3szfpfpp3rw3nr7fqmq4wkl5wp5msxrdyx34", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767082, - "completion_time": "2022-02-06T19:38:55.024527303Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12vdqjv7f5l7gswe5d8gul9g9e46u22qt9dxa0y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681076, - "completion_time": "2022-01-31T17:19:02.510353759Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12dhs9jxwx4xsdgryaegeuvxezza5xjqmcn7lxy", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653090, - "completion_time": "2022-01-29T18:08:28.835716326Z", - "initial_balance": "90000000", - "shares_dst": "90018002.695957727528926512" - }, - "balance": "90000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12dhs9jxwx4xsdgryaegeuvxezza5xjqmcn7lxy", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653096, - "completion_time": "2022-01-29T18:09:04.844206982Z", - "initial_balance": "100000000", - "shares_dst": "100050014.978374989498579303" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12dasdlhshfknk64m94z0nmv2tnnx7gjatrtpa4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739733, - "completion_time": "2022-02-04T20:51:47.477262121Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12w0yyympxuamxqqee2d0pdhsp72v7gfh44az4a", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1825341, - "completion_time": "2022-02-10T21:48:45.168088086Z", - "initial_balance": "506000000", - "shares_dst": "506000000.000000000000000000" - }, - "balance": "506000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret120yvgfqg5tzhs49g5trc46ke78fht53wcc8vmg", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1810338, - "completion_time": "2022-02-09T20:38:28.377601571Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12088f4cr8lxrlyqmgynt68mj57ejgg58jzkcks", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "47999999", - "shares_dst": "48009600.434301304637799013" - }, - "balance": "47999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12shvtzhs82sa06qn2hhmu5yeu4534l2rrk3e5t", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1856955, - "completion_time": "2022-02-13T07:17:53.367550696Z", - "initial_balance": "20000000", - "shares_dst": "20822489.351233097703906377" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret123rgmq4ktflzd325hv6qs74zf96mqwxd4pju4z", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694504, - "completion_time": "2022-02-01T16:04:33.678282766Z", - "initial_balance": "19891274", - "shares_dst": "19891274.000000000000000000" - }, - "balance": "19891274" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12j4ezzv84um0k0ux3q8v6smutdd89uvhz4aun5", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676535, - "completion_time": "2022-01-31T09:35:34.414324467Z", - "initial_balance": "350000000", - "shares_dst": "350000000.000000000000000000" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ny2mekl8ugs3c5tr9lvhak2ml6d4fqafpsv74", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1656609, - "completion_time": "2022-01-30T00:04:15.514241684Z", - "initial_balance": "7514000000", - "shares_dst": "7514000000.000000000000000000" - }, - "balance": "7514000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12nh0k9ltu7y08k77zk538cz0gty0nfw8a6rx7m", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1605485, - "completion_time": "2022-01-26T09:53:12.855097744Z", - "initial_balance": "53500000", - "shares_dst": "53500000.000000000000000000" - }, - "balance": "53500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret125cn7aw3kz9dctf95rwf5mp0pgnpm0u9cna3nc", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1753692, - "completion_time": "2022-02-05T21:08:04.0196823Z", - "initial_balance": "228917099", - "shares_dst": "228917099.000000000000000000" - }, - "balance": "228917099" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret124g8nmyjjzx8mwy7wu8sgtsd6zr8d20lh2zw7g", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836935, - "completion_time": "2022-02-11T17:15:16.734561647Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret124g8nmyjjzx8mwy7wu8sgtsd6zr8d20lh2zw7g", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801452, - "completion_time": "2022-02-09T05:34:01.818467656Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret124wlvlmhy003wdapdsw620phqmj7g8h72te9y7", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1824485, - "completion_time": "2022-02-10T20:22:33.401968562Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12h92f8jjzpdsn8axdecx46zmpny5ksd0gtm3tx", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809485, - "completion_time": "2022-02-09T19:12:00.075417767Z", - "initial_balance": "900000", - "shares_dst": "900000.000000000000000000" - }, - "balance": "900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12hfy0znfv7r24fv6haw7quvlzn5rmdp7cz2kzt", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797665, - "completion_time": "2022-02-08T23:12:00.25441166Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12hfy0znfv7r24fv6haw7quvlzn5rmdp7cz2kzt", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797654, - "completion_time": "2022-02-08T23:10:53.720796688Z", - "initial_balance": "4999999", - "shares_dst": "5000999.148652429694299705" - }, - "balance": "4999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12hfy0znfv7r24fv6haw7quvlzn5rmdp7cz2kzt", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797638, - "completion_time": "2022-02-08T23:09:17.989528641Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12hvnwmpgvslmj4hxw2a9ylhvnssjp9w4leeskc", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731641, - "completion_time": "2022-02-04T06:51:27.987140224Z", - "initial_balance": "100499999", - "shares_dst": "100499999.000000000000000000" - }, - "balance": "100499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12czseze3nq6r69mefh9td443fszqup3285zeux", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800505, - "completion_time": "2022-02-09T03:58:25.218533984Z", - "initial_balance": "2500000", - "shares_dst": "2602811.168904789251474609" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12czseze3nq6r69mefh9td443fszqup3285zeux", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830487, - "completion_time": "2022-02-11T06:27:55.56634242Z", - "initial_balance": "1179999", - "shares_dst": "1179999.000000000000000000" - }, - "balance": "1179999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12ctfuwvyzueu26twlkxjfj4wtcpq7ppnx98r66", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1803232, - "completion_time": "2022-02-09T08:33:32.29572176Z", - "initial_balance": "10705000", - "shares_dst": "10705000.000000000000000000" - }, - "balance": "10705000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret126x40fnxqwm7n07usf38ta2eaa763s7ncpufpj", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584027, - "completion_time": "2022-01-24T21:32:46.656132251Z", - "initial_balance": "16000000", - "shares_dst": "16000000.000000000000000000" - }, - "balance": "16000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret126ff86cyazqmcaauvqe830v4u73m2png4l8u90", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683296, - "completion_time": "2022-01-31T21:07:59.559093908Z", - "initial_balance": "1631899999", - "shares_dst": "1631899999.000000000000000000" - }, - "balance": "1631899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12654ndsj3zmwnkqayuzezqrlh02h4kaazx75hr", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816396, - "completion_time": "2022-02-10T06:48:54.966436997Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12mplf5pnzlj4v7034a28dwzlpfhwnnx9kfssem", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1605121, - "completion_time": "2022-01-26T09:16:31.963985375Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12mdekmt8f9vnrh4ldhmhspsrvlyus68qheywjt", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1592677, - "completion_time": "2022-01-25T12:16:11.643064603Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - }, - { - "redelegation_entry": { - "creation_height": 1753881, - "completion_time": "2022-02-05T21:27:07.417055642Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12mdekmt8f9vnrh4ldhmhspsrvlyus68qheywjt", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689677, - "completion_time": "2022-02-01T07:57:20.051568154Z", - "initial_balance": "153580000", - "shares_dst": "153580000.000000000000000000" - }, - "balance": "153580000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12mspvckajw9w8smfpyqxfue9kput3hwqp9ywp6", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670335, - "completion_time": "2022-01-30T23:10:09.764335328Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12uypse0tju4mlxpejr5rrflg46xezjn2x8r35p", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676703, - "completion_time": "2022-01-31T09:52:31.389453375Z", - "initial_balance": "10000000001", - "shares_dst": "10000000001.000000000000000000" - }, - "balance": "10000000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1279ua0jqevldjkncepe2scsfthelu5h5pva7rn", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684138, - "completion_time": "2022-01-31T22:34:42.825338586Z", - "initial_balance": "3632000000", - "shares_dst": "3632000000.000000000000000000" - }, - "balance": "3632000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1279ua0jqevldjkncepe2scsfthelu5h5pva7rn", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684135, - "completion_time": "2022-01-31T22:34:24.52286037Z", - "initial_balance": "3720000000", - "shares_dst": "3720000000.000000000000000000" - }, - "balance": "3720000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12lw4rde8g3rvm0kxe8tn7fu66ftv6nj000t0cs", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694897, - "completion_time": "2022-02-01T16:44:15.955884765Z", - "initial_balance": "299999999", - "shares_dst": "299999999.000000000000000000" - }, - "balance": "299999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12lspwmly30znncqxna7ytqsfkznzummt4727r6", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587405, - "completion_time": "2022-01-25T03:20:43.77822082Z", - "initial_balance": "33000000", - "shares_dst": "33000000.000000000000000000" - }, - "balance": "33000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret12lspwmly30znncqxna7ytqsfkznzummt4727r6", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587391, - "completion_time": "2022-01-25T03:19:13.872986411Z", - "initial_balance": "22000000", - "shares_dst": "22000000.000000000000000000" - }, - "balance": "22000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tpw0wxm0gur2d3g0xur08slrsva62ephkvm32r", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587643, - "completion_time": "2022-01-25T03:45:10.710321395Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tz78zev3l3z27rrgk7ugj2wee09hhvxejd4ez0", - "validator_src_address": "secretvaloper13uqgrre239d30wxxtsmvvym4w3klvqna0fe3qs", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676170, - "completion_time": "2022-01-31T08:58:41.098428195Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trq0etlx6rqh3z345mrrq8dl4g82an2u2jgr73", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1639934, - "completion_time": "2022-01-28T20:00:32.655388841Z", - "initial_balance": "20199999", - "shares_dst": "20199999.000000000000000000" - }, - "balance": "20199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1try2jcl6wzk6f9jkhmswhu2d2taj7nclhlaakr", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741220, - "completion_time": "2022-02-04T23:35:46.228060206Z", - "initial_balance": "238000000", - "shares_dst": "238000000.000000000000000000" - }, - "balance": "238000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trdjj8528dn26aj34k3qf2d86ddcsqhkzj8ply", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845659, - "completion_time": "2022-02-12T08:53:13.755872945Z", - "initial_balance": "1000888810", - "shares_dst": "1000888810.000000000000000000" - }, - "balance": "1000888810" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trdjj8528dn26aj34k3qf2d86ddcsqhkzj8ply", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845686, - "completion_time": "2022-02-12T08:55:56.876723272Z", - "initial_balance": "1008000000", - "shares_dst": "1008000000.000000000000000000" - }, - "balance": "1008000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trdjj8528dn26aj34k3qf2d86ddcsqhkzj8ply", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845651, - "completion_time": "2022-02-12T08:52:19.828845261Z", - "initial_balance": "2009999999", - "shares_dst": "2009999999.000000000000000000" - }, - "balance": "2009999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trdjj8528dn26aj34k3qf2d86ddcsqhkzj8ply", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845709, - "completion_time": "2022-02-12T08:58:16.183606263Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1trdjj8528dn26aj34k3qf2d86ddcsqhkzj8ply", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845718, - "completion_time": "2022-02-12T09:00:53.37575003Z", - "initial_balance": "1000000000", - "shares_dst": "1000100009.819678074665287734" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tyujxmtktzlpw2qd79p7qywk6smw5nuch3urcz", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687338, - "completion_time": "2022-02-01T04:01:14.725436854Z", - "initial_balance": "30001000", - "shares_dst": "30001000.000000000000000000" - }, - "balance": "30001000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tyujxmtktzlpw2qd79p7qywk6smw5nuch3urcz", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653629, - "completion_time": "2022-01-29T19:03:10.104103221Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tyujxmtktzlpw2qd79p7qywk6smw5nuch3urcz", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687345, - "completion_time": "2022-02-01T04:01:57.492176929Z", - "initial_balance": "139999999", - "shares_dst": "139999999.000000000000000000" - }, - "balance": "139999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tyujxmtktzlpw2qd79p7qywk6smw5nuch3urcz", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687333, - "completion_time": "2022-02-01T04:00:44.867847007Z", - "initial_balance": "30018445", - "shares_dst": "30018445.000000000000000000" - }, - "balance": "30018445" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t95s56wche3nyen9zzwl3j8mw0xzh0un3anur3", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725121, - "completion_time": "2022-02-03T19:42:02.958518211Z", - "initial_balance": "28507649", - "shares_dst": "28507649.000000000000000000" - }, - "balance": "28507649" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t944nttj6skvta8h7vnnd5r029cjf0l3s48ve9", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1691904, - "completion_time": "2022-02-01T11:42:16.365356671Z", - "initial_balance": "130000000", - "shares_dst": "130000000.000000000000000000" - }, - "balance": "130000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tx228s8uh8xlmg0sdhfnr2566ckw4ugh08nr3e", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668518, - "completion_time": "2022-01-30T20:06:47.892035594Z", - "initial_balance": "5909999", - "shares_dst": "5909999.000000000000000000" - }, - "balance": "5909999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t8yd0h5wg8y849l5jety082est9fhdv4dc4nj6", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "30999999", - "shares_dst": "30999999.000000000000000000" - }, - "balance": "30999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t8lrcfesgecskfyfdqt80rm7wkg4gxwdfqh0zf", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749165, - "completion_time": "2022-02-05T13:30:24.024036991Z", - "initial_balance": "384999999", - "shares_dst": "384999999.000000000000000000" - }, - "balance": "384999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tgpfy47s47dsmzqspg769cuxvptfmsqr9dvhen", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838800, - "completion_time": "2022-02-11T20:22:12.255957774Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tgpfy47s47dsmzqspg769cuxvptfmsqr9dvhen", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838807, - "completion_time": "2022-02-11T20:22:54.624068338Z", - "initial_balance": "500000000", - "shares_dst": "500200049.150543563899399302" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tvfhkdwset9s95xlyvy53zv2rw0rqzglmd5qcf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1590594, - "completion_time": "2022-01-25T08:46:13.875845828Z", - "initial_balance": "1430343000", - "shares_dst": "1430343000.000000000000000000" - }, - "balance": "1430343000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tv4qr468fqcfkxdxhz3vrv38zr72r5mmnqzx9w", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680629, - "completion_time": "2022-01-31T16:33:23.273288888Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1twvx3h88e5zvmya2557cz05ncqau9ventxagdt", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842138, - "completion_time": "2022-02-12T01:59:33.468669149Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1twvx3h88e5zvmya2557cz05ncqau9ventxagdt", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842145, - "completion_time": "2022-02-12T02:00:15.904424112Z", - "initial_balance": "341000000", - "shares_dst": "341000000.000000000000000000" - }, - "balance": "341000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1twvx3h88e5zvmya2557cz05ncqau9ventxagdt", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper14z2dd3dn2u6xtmdz3ekufkmelqdwu29v3yx9ud", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842150, - "completion_time": "2022-02-12T02:00:45.815964097Z", - "initial_balance": "149999999", - "shares_dst": "151590599.771354795649068168" - }, - "balance": "149999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t0rtx9yw2uzsh7vsaq8xz6mc7ksvzwwh2w3lh0", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739235, - "completion_time": "2022-02-04T19:58:43.865251119Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t0gy3sj3rfyrwkkkjm6579y9rsgun6afezzajp", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731077, - "completion_time": "2022-02-04T05:53:53.145421129Z", - "initial_balance": "1180000000", - "shares_dst": "1180000000.000000000000000000" - }, - "balance": "1180000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t0gy3sj3rfyrwkkkjm6579y9rsgun6afezzajp", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731082, - "completion_time": "2022-02-04T05:54:23.934821244Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t07uesqla8qxapekfgquluhvc79j2a8kp5kh7p", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780913, - "completion_time": "2022-02-07T18:57:47.106613222Z", - "initial_balance": "64000000", - "shares_dst": "64012801.905657961194335596" - }, - "balance": "64000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t07uesqla8qxapekfgquluhvc79j2a8kp5kh7p", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860242, - "completion_time": "2022-02-13T13:50:08.636658173Z", - "initial_balance": "354000000", - "shares_dst": "354000000.000000000000000000" - }, - "balance": "354000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t3ynwwzdtqukfe9cr940su3v6mjvv0t94lndku", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1592504, - "completion_time": "2022-01-25T11:58:47.594956158Z", - "initial_balance": "1300300000", - "shares_dst": "1300300000.000000000000000000" - }, - "balance": "1300300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t3hcmuv42krnuxf0ejwsh75dx6h2mpzyjnuw2c", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669247, - "completion_time": "2022-01-30T21:20:28.699783692Z", - "initial_balance": "122500", - "shares_dst": "122500.000000000000000000" - }, - "balance": "122500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tjdmnuh0wrsl9dl4j354rcjqma0yznc6rccyr5", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765655, - "completion_time": "2022-02-06T17:14:25.049829572Z", - "initial_balance": "49084630", - "shares_dst": "49084630.000000000000000000" - }, - "balance": "49084630" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tj3re35yzk4x2zp3xkdzkajx36wm30s5r0jjtn", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780949, - "completion_time": "2022-02-07T19:01:27.099810351Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tn9qgjpy9rr6vqs9y0a3ltt3pzev5cuvl9ppnn", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839535, - "completion_time": "2022-02-11T21:36:29.702179241Z", - "initial_balance": "53499999", - "shares_dst": "53499999.000000000000000000" - }, - "balance": "53499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tnxv902d05f97hdssnyd8jzx8hzvnuq4sdj2kv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731308, - "completion_time": "2022-02-04T06:17:40.844685047Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tnxhjprdv6jhz994ajxu3qw08kjd5sjrjm0fms", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1591597, - "completion_time": "2022-01-25T10:27:08.079883132Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tng8ax387wtqqr7kmuq2epfkhymfl38pfqsgkp", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823425, - "completion_time": "2022-02-10T18:36:01.91390278Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t4j4qz2482856rzpxfl4ewfyjmmym6z4gn6s52", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596095, - "completion_time": "2022-01-25T18:04:44.272031941Z", - "initial_balance": "26000000", - "shares_dst": "26000000.000000000000000000" - }, - "balance": "26000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t47fyg46afchqykm8stktfhayunp0axrksu825", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1790757, - "completion_time": "2022-02-08T11:32:59.285393135Z", - "initial_balance": "105000000", - "shares_dst": "105000000.000000000000000000" - }, - "balance": "105000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t4lthuqfl9dxklun7l8pk4nxeaazcmwqj0sn8a", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750814, - "completion_time": "2022-02-05T16:17:40.634466603Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t4lthuqfl9dxklun7l8pk4nxeaazcmwqj0sn8a", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750834, - "completion_time": "2022-02-05T16:19:40.296698474Z", - "initial_balance": "52799999", - "shares_dst": "52799999.000000000000000000" - }, - "balance": "52799999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1t4lthuqfl9dxklun7l8pk4nxeaazcmwqj0sn8a", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750805, - "completion_time": "2022-02-05T16:16:45.886061249Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tkm7uuv9qncrdvcxt4an4uag8c4hqp86j7kkfx", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695730, - "completion_time": "2022-02-01T18:08:31.019414856Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tkm7uuv9qncrdvcxt4an4uag8c4hqp86j7kkfx", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695690, - "completion_time": "2022-02-01T18:04:26.296357337Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tkm7uuv9qncrdvcxt4an4uag8c4hqp86j7kkfx", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695702, - "completion_time": "2022-02-01T18:05:39.972405583Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tehnp8x58n7tmu4pkqtcwyxjtpmtpelda8s5ll", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1701419, - "completion_time": "2022-02-02T03:42:53.782725183Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1teclkcuvheke0c6rgfe87fwhd63sjz9hc67xjn", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661925, - "completion_time": "2022-01-30T09:00:43.57979887Z", - "initial_balance": "81146995", - "shares_dst": "81146995.000000000000000000" - }, - "balance": "81146995" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tunpe6wdvcvs6c6dm722xcenuckwx2p95m24jw", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738203, - "completion_time": "2022-02-04T18:05:46.546035241Z", - "initial_balance": "270000000", - "shares_dst": "270000000.000000000000000000" - }, - "balance": "270000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tumyu2qntf54gf3zr4j44z65w89j75w4lxg8hk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752394, - "completion_time": "2022-02-05T18:57:06.635605258Z", - "initial_balance": "9087906", - "shares_dst": "9089723.851869280227361991" - }, - "balance": "9087906" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tapch0fm660wn3ukt0ztu0k8hm5wpscvg7nrjs", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692418, - "completion_time": "2022-02-01T12:34:02.941688352Z", - "initial_balance": "35000000", - "shares_dst": "35000000.000000000000000000" - }, - "balance": "35000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tapch0fm660wn3ukt0ztu0k8hm5wpscvg7nrjs", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692423, - "completion_time": "2022-02-01T12:34:32.75947114Z", - "initial_balance": "20500000", - "shares_dst": "20500000.000000000000000000" - }, - "balance": "20500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tat2qzrfzkmgsvk7gz2qtscf8v7elujr0lwmz3", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680644, - "completion_time": "2022-01-31T16:34:54.262026738Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tat2qzrfzkmgsvk7gz2qtscf8v7elujr0lwmz3", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680400, - "completion_time": "2022-01-31T16:09:48.158618707Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tat2qzrfzkmgsvk7gz2qtscf8v7elujr0lwmz3", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680458, - "completion_time": "2022-01-31T16:15:43.757102216Z", - "initial_balance": "5000000", - "shares_dst": "5052525.756925730484383793" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tad9t5delhhrqtwr9zt979tceuyzvp9nrq3kze", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737140, - "completion_time": "2022-02-04T16:10:14.988992332Z", - "initial_balance": "33250000", - "shares_dst": "33250000.000000000000000000" - }, - "balance": "33250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ta5yphlg6aklqt24zswvvft84fu68sg2awjgv7", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1626497, - "completion_time": "2022-01-27T21:20:39.872305688Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1takkjwe4adwfjzr5m8frlvkn6nhr7rh8rakhau", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681823, - "completion_time": "2022-01-31T18:36:27.604168225Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1tamyxquauhzynl3huhe5n3v489nflylql9lve5", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710075, - "completion_time": "2022-02-02T18:19:12.768537287Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vqj73jv3shjx4ns2fk3tvpmvuujz44xm9md4wf", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636450, - "completion_time": "2022-01-28T14:06:38.527510202Z", - "initial_balance": "387600559", - "shares_dst": "387600559.000000000000000000" - }, - "balance": "387600559" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vq6rr695swfm8jmu8pkvr46gwjjzawxw634z9a", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796343, - "completion_time": "2022-02-08T20:57:30.317961162Z", - "initial_balance": "544999999", - "shares_dst": "544999999.000000000000000000" - }, - "balance": "544999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vq6rr695swfm8jmu8pkvr46gwjjzawxw634z9a", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796299, - "completion_time": "2022-02-08T20:53:05.508016427Z", - "initial_balance": "497020193", - "shares_dst": "497020193.000000000000000000" - }, - "balance": "497020193" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851187, - "completion_time": "2022-02-12T19:56:16.228150471Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009819063551897896" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850995, - "completion_time": "2022-02-12T19:36:58.963057446Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009730400443416776" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801104, - "completion_time": "2022-02-09T04:59:01.791236648Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1853990, - "completion_time": "2022-02-13T01:34:15.495476529Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009730400443416776" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801098, - "completion_time": "2022-02-09T04:58:25.953364867Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - }, - { - "redelegation_entry": { - "creation_height": 1854058, - "completion_time": "2022-02-13T01:42:04.29174635Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851228, - "completion_time": "2022-02-12T20:06:10.637593816Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009730400443416776" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850969, - "completion_time": "2022-02-12T19:34:14.370062133Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009730400443416776" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1820131, - "completion_time": "2022-02-10T13:04:01.876271214Z", - "initial_balance": "4000000", - "shares_dst": "4000000.000000000000000000" - }, - "balance": "4000000" - }, - { - "redelegation_entry": { - "creation_height": 1854082, - "completion_time": "2022-02-13T01:44:29.678163898Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850986, - "completion_time": "2022-02-12T19:35:57.59971629Z", - "initial_balance": "1099999", - "shares_dst": "1100109.010603430757358010" - }, - "balance": "1099999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vzzxk5knha3s6wdeqr2vcac83sa028dw7y8dk7", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850960, - "completion_time": "2022-02-12T19:33:20.268190296Z", - "initial_balance": "1000000", - "shares_dst": "1000100.009730400443416776" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vr294smddrvwntu2f65emyt7q08naaesjqvwx3", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689674, - "completion_time": "2022-02-01T07:57:02.177222731Z", - "initial_balance": "2499999999", - "shares_dst": "2499999999.000000000000000000" - }, - "balance": "2499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vr294smddrvwntu2f65emyt7q08naaesjqvwx3", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1606224, - "completion_time": "2022-01-26T11:07:43.210383743Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vyq2la8v6h333hyhqknvdh2ld6m6gl36nkw886", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1855817, - "completion_time": "2022-02-13T05:08:12.530606921Z", - "initial_balance": "4000000", - "shares_dst": "4000400.038921601773667104" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9w49rtdpkwxeje8xnx9pnf9z9hyr2e0w6qh8v", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622364, - "completion_time": "2022-01-27T14:21:12.139930949Z", - "initial_balance": "500000", - "shares_dst": "500000.000000000000000000" - }, - "balance": "500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9w49rtdpkwxeje8xnx9pnf9z9hyr2e0w6qh8v", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622345, - "completion_time": "2022-01-27T14:19:17.337458201Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9w49rtdpkwxeje8xnx9pnf9z9hyr2e0w6qh8v", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622359, - "completion_time": "2022-01-27T14:20:42.358452838Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9w49rtdpkwxeje8xnx9pnf9z9hyr2e0w6qh8v", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622350, - "completion_time": "2022-01-27T14:19:47.630558661Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9w49rtdpkwxeje8xnx9pnf9z9hyr2e0w6qh8v", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622354, - "completion_time": "2022-01-27T14:20:11.733209253Z", - "initial_balance": "29999999", - "shares_dst": "29999999.000000000000000000" - }, - "balance": "29999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v9574tnvf20sxr2zm89kgja6kf9vxt5q0mwzxv", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681016, - "completion_time": "2022-01-31T17:12:51.786409094Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vgtaphc4eesppxp32sdd32ddw0aewazr0szdcq", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754540, - "completion_time": "2022-02-05T22:33:41.827765409Z", - "initial_balance": "392000000", - "shares_dst": "392000000.000000000000000000" - }, - "balance": "392000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vflgdd5z8acnvmhgh7x6j0sy7wupwctw6e2ej7", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777677, - "completion_time": "2022-02-07T13:29:05.628177599Z", - "initial_balance": "807430", - "shares_dst": "807430.000000000000000000" - }, - "balance": "807430" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vflgdd5z8acnvmhgh7x6j0sy7wupwctw6e2ej7", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777731, - "completion_time": "2022-02-07T13:34:32.967952455Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v2h4hckzasmw5l2a5zvljuxvnkcy90hz54gxhk", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811887, - "completion_time": "2022-02-09T23:15:00.106910511Z", - "initial_balance": "4500000", - "shares_dst": "4500000.000000000000000000" - }, - "balance": "4500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vt85hespdxt5e72rld6gjnkfk4a2r5skc9uxlk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734947, - "completion_time": "2022-02-04T12:25:21.746746274Z", - "initial_balance": "6100000", - "shares_dst": "6100000.000000000000000000" - }, - "balance": "6100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vvxj79x3p90d47m989ucdm2fyt7h74m84zssmw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837175, - "completion_time": "2022-02-11T17:39:15.130820393Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vvn2ul8ewc7wrz36sszwqn29gtd46uqkz548ht", - "validator_src_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642890, - "completion_time": "2022-01-29T01:00:08.135645757Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vvcu6u9q2c5v78num8a03gj8wsea2peat8v95e", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737277, - "completion_time": "2022-02-04T16:24:13.858621784Z", - "initial_balance": "57000000", - "shares_dst": "57000000.000000000000000000" - }, - "balance": "57000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vvcu6u9q2c5v78num8a03gj8wsea2peat8v95e", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737286, - "completion_time": "2022-02-04T16:25:08.44493868Z", - "initial_balance": "396377498", - "shares_dst": "396377498.000000000000000000" - }, - "balance": "396377498" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vdadfyhk3yum88t82sv9487gr33seur07wq90g", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1768549, - "completion_time": "2022-02-06T22:07:20.2849972Z", - "initial_balance": "135000000", - "shares_dst": "135000000.000000000000000000" - }, - "balance": "135000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v026uce5a6cupe8kxj76wth3p22pyg5ez36d7v", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736192, - "completion_time": "2022-02-04T14:31:49.851784463Z", - "initial_balance": "100000000", - "shares_dst": "100020002.978939228758066071" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v0ngwvkmmq7vsy7qjn6wwdw7clq0d4p7pmdw7k", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694055, - "completion_time": "2022-02-01T15:19:24.436855639Z", - "initial_balance": "6041234", - "shares_dst": "6041234.000000000000000000" - }, - "balance": "6041234" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v0uunmu5msckqxh0vc04lmuelksnkwzx7h9r43", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816823, - "completion_time": "2022-02-10T07:31:34.927652236Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v0uunmu5msckqxh0vc04lmuelksnkwzx7h9r43", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816808, - "completion_time": "2022-02-10T07:30:04.772742191Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v0uunmu5msckqxh0vc04lmuelksnkwzx7h9r43", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816796, - "completion_time": "2022-02-10T07:28:52.637727118Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v0uunmu5msckqxh0vc04lmuelksnkwzx7h9r43", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816817, - "completion_time": "2022-02-10T07:30:58.88010059Z", - "initial_balance": "1999999", - "shares_dst": "1999999.000000000000000000" - }, - "balance": "1999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vs83na328g76vytj49pasd0503vmaeqf55938h", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801223, - "completion_time": "2022-02-09T05:10:59.440599217Z", - "initial_balance": "195000000", - "shares_dst": "195000000.000000000000000000" - }, - "balance": "195000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vjgada9t78eh4v8whp9p8cg4evq4eruszyqn3m", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657352, - "completion_time": "2022-01-30T01:19:12.112192775Z", - "initial_balance": "248583304", - "shares_dst": "248583304.000000000000000000" - }, - "balance": "248583304" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vjgada9t78eh4v8whp9p8cg4evq4eruszyqn3m", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657335, - "completion_time": "2022-01-30T01:17:30.283234634Z", - "initial_balance": "218010950", - "shares_dst": "218010950.000000000000000000" - }, - "balance": "218010950" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vjgada9t78eh4v8whp9p8cg4evq4eruszyqn3m", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657346, - "completion_time": "2022-01-30T01:18:35.775213138Z", - "initial_balance": "256999999", - "shares_dst": "256999999.000000000000000000" - }, - "balance": "256999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vn76z36xmzfx0zhsa4g98h4r6cu485ysw4fy2t", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1646295, - "completion_time": "2022-01-29T06:42:06.676997145Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v5td8vmk86a2jq374mxdjmtr0h635zl9fq3u7m", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731215, - "completion_time": "2022-02-04T06:08:06.147416337Z", - "initial_balance": "99000000", - "shares_dst": "99000000.000000000000000000" - }, - "balance": "99000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v4vkth37sefqjsntfq7e3g4w2800tf5svescpk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596821, - "completion_time": "2022-01-25T19:18:55.298879036Z", - "initial_balance": "170933451", - "shares_dst": "170933451.000000000000000000" - }, - "balance": "170933451" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vky3wn8e20umc2xt82jpfkge5lrej9jmyua79w", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695622, - "completion_time": "2022-02-01T17:57:30.761661737Z", - "initial_balance": "47000000", - "shares_dst": "47000000.000000000000000000" - }, - "balance": "47000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vk8g0rlmspfztn2xzg8qhqvdk6umpz6yzyeddj", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601717, - "completion_time": "2022-01-26T03:33:46.659723141Z", - "initial_balance": "8000000000", - "shares_dst": "8000000000.000000000000000000" - }, - "balance": "8000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vk8g0rlmspfztn2xzg8qhqvdk6umpz6yzyeddj", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601723, - "completion_time": "2022-01-26T03:34:22.751892077Z", - "initial_balance": "9999999999", - "shares_dst": "9999999999.000000000000000000" - }, - "balance": "9999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vh4qr62pz0yf9eq0ett2k3gz5kptg9fuszyvx0", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1625272, - "completion_time": "2022-01-27T19:15:38.626946584Z", - "initial_balance": "1843000", - "shares_dst": "1843000.000000000000000000" - }, - "balance": "1843000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vcpl53a26azrz0vhsm70p5slyp3yjv3027sq6e", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682190, - "completion_time": "2022-01-31T19:14:16.901057523Z", - "initial_balance": "544800000", - "shares_dst": "544800000.000000000000000000" - }, - "balance": "544800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vcpl53a26azrz0vhsm70p5slyp3yjv3027sq6e", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682198, - "completion_time": "2022-01-31T19:15:05.4679376Z", - "initial_balance": "130800000", - "shares_dst": "130800000.000000000000000000" - }, - "balance": "130800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v6q02n7srvzkyxfms4a2mu5p8xsp0ncpqm08dp", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729855, - "completion_time": "2022-02-04T03:49:23.392503191Z", - "initial_balance": "13850000001", - "shares_dst": "13850000001.000000000000000000" - }, - "balance": "13850000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v6q02n7srvzkyxfms4a2mu5p8xsp0ncpqm08dp", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729781, - "completion_time": "2022-02-04T03:41:45.401665789Z", - "initial_balance": "52234927740", - "shares_dst": "52234927740.000000000000000000" - }, - "balance": "52234927740" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v6ww3w03x377fvg40fmulcvjm5d7a57em7mlrh", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637030, - "completion_time": "2022-01-28T15:05:54.587877936Z", - "initial_balance": "460623", - "shares_dst": "460623.000000000000000000" - }, - "balance": "460623" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v6sczsrwcexe36whvy4r6xxp0as0px4jvpsqkr", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822648, - "completion_time": "2022-02-10T17:18:00.227519732Z", - "initial_balance": "49995000", - "shares_dst": "49995000.000000000000000000" - }, - "balance": "49995000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v6sczsrwcexe36whvy4r6xxp0as0px4jvpsqkr", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822658, - "completion_time": "2022-02-10T17:18:59.624278928Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vux7qxk35yufghsea9hajmdnxmgm95duwf8ges", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777990, - "completion_time": "2022-02-07T14:00:41.642761835Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vuvylnny9ffrxzgznm5jrltqp9qnavsjyy87xy", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644499, - "completion_time": "2022-01-29T03:41:56.564058619Z", - "initial_balance": "4999499", - "shares_dst": "4999499.000000000000000000" - }, - "balance": "4999499" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vuvylnny9ffrxzgznm5jrltqp9qnavsjyy87xy", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742847, - "completion_time": "2022-02-05T02:27:50.546878284Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vuvylnny9ffrxzgznm5jrltqp9qnavsjyy87xy", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644506, - "completion_time": "2022-01-29T03:42:38.786859364Z", - "initial_balance": "108960000", - "shares_dst": "108960000.000000000000000000" - }, - "balance": "108960000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vu3dafjc9apyt6lunm8pag9pvpdlsqjqfhaw0v", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1719867, - "completion_time": "2022-02-03T10:50:02.408042081Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1vu3dafjc9apyt6lunm8pag9pvpdlsqjqfhaw0v", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1719871, - "completion_time": "2022-02-03T10:50:29.107854872Z", - "initial_balance": "2999999", - "shares_dst": "2999999.000000000000000000" - }, - "balance": "2999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1v799gv6mhljk0rfzvda4ngw0uq3qlrzv4cfqf7", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837236, - "completion_time": "2022-02-11T17:45:18.960885259Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dqd327ufd0yrtsslmtc8fgj8wy635u59k3aum7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735406, - "completion_time": "2022-02-04T13:11:50.598650173Z", - "initial_balance": "100500000", - "shares_dst": "100500000.000000000000000000" - }, - "balance": "100500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dp27hw8yfnz4rkwl3f454jm2gy69p0d25ktp2v", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593625, - "completion_time": "2022-01-25T13:51:45.23729297Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dpt60pwglf8xxj99u5xw5ejacz7dmdz0yqkwan", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657050, - "completion_time": "2022-01-30T00:48:35.879861497Z", - "initial_balance": "111500000", - "shares_dst": "111500000.000000000000000000" - }, - "balance": "111500000" - }, - { - "redelegation_entry": { - "creation_height": 1735080, - "completion_time": "2022-02-04T12:38:47.568139434Z", - "initial_balance": "7026500000", - "shares_dst": "7026500000.000000000000000000" - }, - "balance": "7026500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dp5evmfuf4fwx295w049s99nyfz29fvtk4smnf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1704394, - "completion_time": "2022-02-02T08:42:13.013936921Z", - "initial_balance": "52400000", - "shares_dst": "52400000.000000000000000000" - }, - "balance": "52400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dp5evmfuf4fwx295w049s99nyfz29fvtk4smnf", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1704404, - "completion_time": "2022-02-02T08:43:13.749223836Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dzz34pmk60fnpcyvzr307n7rcdwdp653ju8v0j", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849494, - "completion_time": "2022-02-12T16:25:09.619241716Z", - "initial_balance": "1000000", - "shares_dst": "1000100.006698765300025644" - }, - "balance": "999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dzz34pmk60fnpcyvzr307n7rcdwdp653ju8v0j", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849522, - "completion_time": "2022-02-12T16:27:59.77723987Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dzz34pmk60fnpcyvzr307n7rcdwdp653ju8v0j", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1m544yekmyxqc7w05cuxy7j4scfgre6c4um6tnz", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849527, - "completion_time": "2022-02-12T16:28:29.387452544Z", - "initial_balance": "1000000", - "shares_dst": "1000100.010001000100010001" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dzz34pmk60fnpcyvzr307n7rcdwdp653ju8v0j", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849488, - "completion_time": "2022-02-12T16:24:31.437913862Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dzg7709fy99tr0wfp8jqd3kk59dtjalqe9txt3", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649610, - "completion_time": "2022-01-29T12:15:38.877072238Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dz0sn32nwjzjrrs98qswkev2anmw2k0l2pj88z", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1864143, - "completion_time": "2022-02-13T20:47:26.144208513Z", - "initial_balance": "1340000000", - "shares_dst": "1340000000.000000000000000000" - }, - "balance": "1340000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dz52tcwj437gzhv72gjhsgqc5hhkuxl4pl9k7q", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748602, - "completion_time": "2022-02-05T12:32:55.390010082Z", - "initial_balance": "194537997", - "shares_dst": "194537997.000000000000000000" - }, - "balance": "194537997" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dr9ajjxy0dggmccxqg3f59kymep89nszsdl95p", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839469, - "completion_time": "2022-02-11T21:29:46.366543952Z", - "initial_balance": "68000000", - "shares_dst": "68013602.023804693303674792" - }, - "balance": "68000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dr2q8u85eekhwcgevyd4lyggx3sqs0qjh6twpn", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862292, - "completion_time": "2022-02-13T17:40:50.86788538Z", - "initial_balance": "2187164926", - "shares_dst": "2187164926.000000000000000000" - }, - "balance": "2187164926" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1drt995vgr9vz9gdvfpkmefdhkwpxekykq425xf", - "validator_src_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839856, - "completion_time": "2022-02-11T22:09:42.587481844Z", - "initial_balance": "10046246", - "shares_dst": "10046246.000000000000000000" - }, - "balance": "10046246" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dr78hfpn32k60tpcy4j6ghdv92cy07yq3j2l93", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766228, - "completion_time": "2022-02-06T18:12:27.453086882Z", - "initial_balance": "39000000", - "shares_dst": "39000000.000000000000000000" - }, - "balance": "39000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dr78hfpn32k60tpcy4j6ghdv92cy07yq3j2l93", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628569, - "completion_time": "2022-01-28T00:49:25.792428723Z", - "initial_balance": "200741554", - "shares_dst": "200741554.000000000000000000" - }, - "balance": "200741554" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dr78hfpn32k60tpcy4j6ghdv92cy07yq3j2l93", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1656567, - "completion_time": "2022-01-29T23:59:57.439197667Z", - "initial_balance": "10260000", - "shares_dst": "10260000.000000000000000000" - }, - "balance": "10260000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d9t78na3tf6ehnhzj44hkd7mshmjk09lya7urp", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637597, - "completion_time": "2022-01-28T16:03:25.261781047Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d9km2z8agw99nh3kxvv00khj6hss4vp0yrvvuy", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680835, - "completion_time": "2022-01-31T16:54:22.746229697Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d9km2z8agw99nh3kxvv00khj6hss4vp0yrvvuy", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680850, - "completion_time": "2022-01-31T16:55:54.06189979Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d9km2z8agw99nh3kxvv00khj6hss4vp0yrvvuy", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680830, - "completion_time": "2022-01-31T16:53:52.446978156Z", - "initial_balance": "600000000", - "shares_dst": "600000000.000000000000000000" - }, - "balance": "600000000" - }, - { - "redelegation_entry": { - "creation_height": 1680846, - "completion_time": "2022-01-31T16:55:29.875943629Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dxthlp5j0gjkkjy4vv7cjd3as93e9pna2e8aus", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper14kzeqvhgrw282glj7qdqujvlx586wxtul4mwqj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821641, - "completion_time": "2022-02-10T15:36:17.888451889Z", - "initial_balance": "91000000", - "shares_dst": "91000000.000000000000000000" - }, - "balance": "91000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dxthlp5j0gjkkjy4vv7cjd3as93e9pna2e8aus", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper14kzeqvhgrw282glj7qdqujvlx586wxtul4mwqj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821616, - "completion_time": "2022-02-10T15:33:47.813034274Z", - "initial_balance": "41920000020", - "shares_dst": "41920000020.000000000000000000" - }, - "balance": "41920000020" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dxthlp5j0gjkkjy4vv7cjd3as93e9pna2e8aus", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper14kzeqvhgrw282glj7qdqujvlx586wxtul4mwqj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821620, - "completion_time": "2022-02-10T15:34:11.931643051Z", - "initial_balance": "9999000", - "shares_dst": "9999000.000000000000000000" - }, - "balance": "9999000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d8yrsqvh7yxqzfpvn2j7d7vehrg5rg2lxck8ep", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800246, - "completion_time": "2022-02-09T03:32:13.720779001Z", - "initial_balance": "15000000", - "shares_dst": "15003000.446557378394374796" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d82xepefv0w8dc83sak7y6jnmdeyn7tf5qwwf5", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794574, - "completion_time": "2022-02-08T17:58:09.434461986Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dgyzzp8g60z763ltmafxn6p64z3hctyaf5j922", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738425, - "completion_time": "2022-02-04T18:36:26.200371767Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dfwm8kvaq330nzpml86hex6wy8qjm9cc0jwmcq", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640781, - "completion_time": "2022-01-28T21:26:17.453275968Z", - "initial_balance": "65000000", - "shares_dst": "65000000.000000000000000000" - }, - "balance": "65000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dfwm8kvaq330nzpml86hex6wy8qjm9cc0jwmcq", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640785, - "completion_time": "2022-01-28T21:26:41.156949585Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dfwm8kvaq330nzpml86hex6wy8qjm9cc0jwmcq", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640681, - "completion_time": "2022-01-28T21:16:12.914521557Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dfa7j8u269xg7267zdqn30ecazekmc9vj7lf7y", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752331, - "completion_time": "2022-02-05T18:50:45.4702483Z", - "initial_balance": "2191000000", - "shares_dst": "2191000000.000000000000000000" - }, - "balance": "2191000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d24ddxn9lqxvhk04xjlufa8hnzcmk6n8526r6c", - "validator_src_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754498, - "completion_time": "2022-02-05T22:29:28.786631415Z", - "initial_balance": "44999999", - "shares_dst": "44999999.000000000000000000" - }, - "balance": "44999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d24amqzxj47ppcrr8tjwf8xm8nz7ckfwpd55zn", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643433, - "completion_time": "2022-01-29T01:54:44.7243298Z", - "initial_balance": "277871956", - "shares_dst": "277871956.000000000000000000" - }, - "balance": "277871956" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dtyk0z4mmfqsh78q59p8h2aujnldxu9nvlardl", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735183, - "completion_time": "2022-02-04T12:49:13.407388881Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dtyk0z4mmfqsh78q59p8h2aujnldxu9nvlardl", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735193, - "completion_time": "2022-02-04T12:50:13.132778083Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dtyk0z4mmfqsh78q59p8h2aujnldxu9nvlardl", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735188, - "completion_time": "2022-02-04T12:49:43.245385518Z", - "initial_balance": "49000000", - "shares_dst": "49000000.000000000000000000" - }, - "balance": "49000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dtvsdwaxjeeu7x629y7d77dd38ufkn2zjj09dk", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860602, - "completion_time": "2022-02-13T14:33:16.078636475Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dvr8q627qjjynn2zntkh4rxs8rg35wa0z4gdtg", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726978, - "completion_time": "2022-02-03T22:51:19.505572668Z", - "initial_balance": "38900000", - "shares_dst": "38900000.000000000000000000" - }, - "balance": "38900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dvgxdx48rqzumlsrvvj8nwmtr5ms5pz82296t5", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697348, - "completion_time": "2022-02-01T20:52:05.387677348Z", - "initial_balance": "7037497000", - "shares_dst": "7037497000.000000000000000000" - }, - "balance": "7037497000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dvw9fn5vq2rd52m9203873tu0wnwuf7ane2uws", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1813212, - "completion_time": "2022-02-10T01:28:05.364439631Z", - "initial_balance": "18900000", - "shares_dst": "18900000.000000000000000000" - }, - "balance": "18900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dd03n2jfd4q0j4t7fr8qa5taam7w3ulxk62v9f", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737794, - "completion_time": "2022-02-04T17:17:45.137473844Z", - "initial_balance": "72700000", - "shares_dst": "72700000.000000000000000000" - }, - "balance": "72700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d0dlzu7rad5qalh3dprr8enm7wqg5kfj4mmzsj", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1638908, - "completion_time": "2022-01-28T18:16:33.995080457Z", - "initial_balance": "350820944", - "shares_dst": "350820944.000000000000000000" - }, - "balance": "350820944" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dsr8t50vtqhu40z0cf0cr3zfs7qn93wl6s7h0e", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694589, - "completion_time": "2022-02-01T16:13:07.192510525Z", - "initial_balance": "15900000", - "shares_dst": "15900000.000000000000000000" - }, - "balance": "15900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dsr8t50vtqhu40z0cf0cr3zfs7qn93wl6s7h0e", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694593, - "completion_time": "2022-02-01T16:13:31.324251604Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dskfzxu6939q2nd8fgahuecz6ut0vwm54fwvc6", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771697, - "completion_time": "2022-02-07T03:24:38.772634868Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d3rqscnh9q2xdpzq4mugk3wwx6luj8vn46ekq6", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649599, - "completion_time": "2022-01-29T12:14:32.374304682Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dnlwf2l7ddx4pxtusfwhkxde7y3rhr2fzpsd80", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734152, - "completion_time": "2022-02-04T11:05:06.219235064Z", - "initial_balance": "10000", - "shares_dst": "10000.000000000000000000" - }, - "balance": "10000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d5tkll8775r8fjy7h4sjz9yc8xmpmxkde99tu5", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836577, - "completion_time": "2022-02-11T16:39:13.810871576Z", - "initial_balance": "19995999", - "shares_dst": "19995999.000000000000000000" - }, - "balance": "19995999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d5hddquqe92z24jpca96efjdjcqh4ca3jrksng", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687821, - "completion_time": "2022-02-01T04:50:33.999225835Z", - "initial_balance": "10999999999", - "shares_dst": "10999999999.000000000000000000" - }, - "balance": "10999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d4hy8hph6sctn4fl2qkg3v9f4uk6zpjd9effr5", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632264, - "completion_time": "2022-01-28T07:01:56.544856672Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dkry063kx2weu2asctaucwc76ypuzr0hl2e9hg", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690127, - "completion_time": "2022-02-01T08:42:28.108411526Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dkd3wpdqjw5hrjc6ms0ej3ln7jtqc4y273j2w7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730059, - "completion_time": "2022-02-04T04:10:10.959497752Z", - "initial_balance": "984500000", - "shares_dst": "984500000.000000000000000000" - }, - "balance": "984500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dk7hgmx2nuce69sdrhqu4np6hjdqkhh6ehqpzn", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1744285, - "completion_time": "2022-02-05T05:03:54.369851086Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dhq6yqrwnym73fe8c7rxu6z9tyd5sn8vvfq6vh", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1631498, - "completion_time": "2022-01-28T05:44:53.956585989Z", - "initial_balance": "1999999", - "shares_dst": "1999999.000000000000000000" - }, - "balance": "1999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dckg37msnl658fcsgfmr4njxj6lftwf8hgny85", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1874005, - "completion_time": "2022-02-14T15:48:03.432599503Z", - "initial_balance": "1601000000", - "shares_dst": "1601160115.926268755223209806" - }, - "balance": "1601000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dckg37msnl658fcsgfmr4njxj6lftwf8hgny85", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1747381, - "completion_time": "2022-02-05T10:29:27.425447619Z", - "initial_balance": "749000000", - "shares_dst": "749000000.000000000000000000" - }, - "balance": "749000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1de28njgchfrxm75jdyfytlzlwfyp997vk3q7sv", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1585348, - "completion_time": "2022-01-24T23:50:23.684863408Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1demm5xkmgxv5untzt2gn75tex0xpxmlkrtpmrf", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653218, - "completion_time": "2022-01-29T18:21:25.867606045Z", - "initial_balance": "652500000", - "shares_dst": "652500000.000000000000000000" - }, - "balance": "652500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1demm5xkmgxv5untzt2gn75tex0xpxmlkrtpmrf", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653088, - "completion_time": "2022-01-29T18:08:16.692965515Z", - "initial_balance": "989197903", - "shares_dst": "989197903.000000000000000000" - }, - "balance": "989197903" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1demm5xkmgxv5untzt2gn75tex0xpxmlkrtpmrf", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653112, - "completion_time": "2022-01-29T18:10:40.68853634Z", - "initial_balance": "257258310", - "shares_dst": "257258310.000000000000000000" - }, - "balance": "257258310" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d692ezpdsxg05get80uznxxcasxtaczkhewqzc", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729078, - "completion_time": "2022-02-04T02:29:05.511849545Z", - "initial_balance": "32800000000", - "shares_dst": "32800000000.000000000000000000" - }, - "balance": "32800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d623ve43tqeqealtu4nadarayn5k0l6vsfhf9e", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709614, - "completion_time": "2022-02-02T17:32:26.143881638Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d64z2ahe9307gzjl5u77rtt9sg3td0cxsxyxdq", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750277, - "completion_time": "2022-02-05T15:23:02.502711343Z", - "initial_balance": "11700000", - "shares_dst": "11701170.079207375513659852" - }, - "balance": "11700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1dmsrq7485p7qza4x4pyncc0vhhqh2942x0yla3", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1855291, - "completion_time": "2022-02-13T04:03:48.878470143Z", - "initial_balance": "2254921762", - "shares_dst": "2254921762.000000000000000000" - }, - "balance": "2254921762" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1duqtwkjh8tm8ugczwqns32jeh7matnyfyzeawu", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697431, - "completion_time": "2022-02-01T21:00:23.493182041Z", - "initial_balance": "445000999", - "shares_dst": "445000999.000000000000000000" - }, - "balance": "445000999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1da9pk9043jktcdg82ul3w60wnnxdn32eef4gew", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854303, - "completion_time": "2022-02-13T02:11:42.312928166Z", - "initial_balance": "1120000000", - "shares_dst": "1120000000.000000000000000000" - }, - "balance": "1120000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1d72ljnfh85spwrx94pc0fcmyr6f8hk87e842nl", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1663044, - "completion_time": "2022-01-30T10:53:39.691108852Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wpaqy3le02gkl2q646lr3mcvsdyq4ea65gru2e", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1761866, - "completion_time": "2022-02-06T10:53:03.824825828Z", - "initial_balance": "13090000", - "shares_dst": "13090000.000000000000000000" - }, - "balance": "13090000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wz69rcq9qdnksdryma0caxsktt272hlgzatswl", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837801, - "completion_time": "2022-02-11T18:41:59.392712556Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w9zhnuu5lnec3k26aq9txqz66wazwkxzvnpzt0", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1631097, - "completion_time": "2022-01-28T05:04:34.454697875Z", - "initial_balance": "59807524", - "shares_dst": "59813505.341113108947078425" - }, - "balance": "59807524" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wxh0gch34az6lrku2xakyzlsa5tztxn6zn8jku", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697218, - "completion_time": "2022-02-01T20:39:05.938471096Z", - "initial_balance": "1725000000", - "shares_dst": "1725000000.000000000000000000" - }, - "balance": "1725000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w8felvjhayat3sljdd7ustqzvt8xramf50ydpk", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748506, - "completion_time": "2022-02-05T12:23:02.874200837Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w8d9tdlcn59yf5jlu9ayexw6sq6f9uzy4edcyk", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1872802, - "completion_time": "2022-02-14T11:48:29.387469007Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - }, - { - "redelegation_entry": { - "creation_height": 1872863, - "completion_time": "2022-02-14T11:58:29.621313269Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w8452dc5smfl33q43mycuk46fwrxe3p46elhgx", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1808970, - "completion_time": "2022-02-09T18:19:32.186675253Z", - "initial_balance": "820330875", - "shares_dst": "820330875.000000000000000000" - }, - "balance": "820330875" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w84arxq7e9l75l6zrq8s3c29qq2aa6h4mhwr3y", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1641853, - "completion_time": "2022-01-28T23:15:28.368494539Z", - "initial_balance": "355099999", - "shares_dst": "355099999.000000000000000000" - }, - "balance": "355099999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wvdvhwqhq9f05y4kcq8qg4j3eskk44pe9wxu59", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801179, - "completion_time": "2022-02-09T05:06:32.539918457Z", - "initial_balance": "66280000", - "shares_dst": "66280000.000000000000000000" - }, - "balance": "66280000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wvskyy0gwhmm6y86jrc2mu84n00k7rxxva5ac2", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739428, - "completion_time": "2022-02-04T20:20:17.70089098Z", - "initial_balance": "88000000", - "shares_dst": "88000000.000000000000000000" - }, - "balance": "88000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wwr8kr4ezv4saa7g477yr7dehqdssjlvlac0ng", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736343, - "completion_time": "2022-02-04T14:47:43.25607724Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wwr8kr4ezv4saa7g477yr7dehqdssjlvlac0ng", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736301, - "completion_time": "2022-02-04T14:43:03.8098061Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w0pat0d4sngklrnjk2srwtaf5jzertn5grjz7m", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712416, - "completion_time": "2022-02-02T22:16:42.372126108Z", - "initial_balance": "764722170", - "shares_dst": "764722170.000000000000000000" - }, - "balance": "764722170" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w0n9kqgxqcqxv7yv49tkp3e8ujrzrlmgkplv8q", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587753, - "completion_time": "2022-01-25T03:56:19.496025766Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w049hfdtua8pdpxnaekrrp2kr9sf8t7cw6tqw2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673774, - "completion_time": "2022-01-31T04:56:35.696070503Z", - "initial_balance": "7000000", - "shares_dst": "7000000.000000000000000000" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w0c2h438yl2xsgcuw6m7xu353hvezn4yjltss7", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726538, - "completion_time": "2022-02-03T22:05:45.693699134Z", - "initial_balance": "22000000002", - "shares_dst": "22000000002.000000000000000000" - }, - "balance": "22000000002" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ws94r29rqx9ut2gatm934ysyrfyjd0guju9zg5", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709624, - "completion_time": "2022-02-02T17:33:26.802325444Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wsgpqaha7uecyhshjs5zsndv4sfgk8de56dt2x", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1634721, - "completion_time": "2022-01-28T11:10:32.452248483Z", - "initial_balance": "101094915", - "shares_dst": "101094915.000000000000000000" - }, - "balance": "101094915" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wsuvf5rt4ftr40axdq4m8dkwdtnefqfp09vdzl", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709817, - "completion_time": "2022-02-02T17:53:01.061731055Z", - "initial_balance": "29999999", - "shares_dst": "29999999.000000000000000000" - }, - "balance": "29999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wj29j2huzvtxpus38j45r7mr4dn9s7zra8gkzr", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781935, - "completion_time": "2022-02-07T20:42:03.548522236Z", - "initial_balance": "11111000", - "shares_dst": "11111000.000000000000000000" - }, - "balance": "11111000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wj46hdtwmq2k3hta4p9lepgll854vslu9fe92q", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700799, - "completion_time": "2022-02-02T02:40:19.39184231Z", - "initial_balance": "2750000443", - "shares_dst": "2750000443.000000000000000000" - }, - "balance": "2750000443" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wj6rn86xpvtm9u2eh9u245yxv3zwp9qpwektyl", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636989, - "completion_time": "2022-01-28T15:01:45.606138626Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wj6rn86xpvtm9u2eh9u245yxv3zwp9qpwektyl", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636996, - "completion_time": "2022-01-28T15:02:27.550620028Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wjadn5pw5p95r2xqn6sef0g4gdxxfkuq5tvvkc", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742372, - "completion_time": "2022-02-05T01:37:53.484672363Z", - "initial_balance": "39999999", - "shares_dst": "39999999.000000000000000000" - }, - "balance": "39999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w5lep3d53p5dtkg37gerq6qxdlagykyrpptwrw", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1616109, - "completion_time": "2022-01-27T03:51:36.10120537Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w49scqsxlv2hdtq52jdpkvxmnxw9tzwg6njee9", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769912, - "completion_time": "2022-02-07T00:24:45.34963962Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w4t2f7mky2wnvj4zgy2shkr76ed77q7ep6ts3y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1760684, - "completion_time": "2022-02-06T08:53:09.349910666Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w4def36cem3yz7d9quj80gkfh3ex9z59mm25k8", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731616, - "completion_time": "2022-02-04T06:48:57.089860288Z", - "initial_balance": "100500000", - "shares_dst": "100500000.000000000000000000" - }, - "balance": "100500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wktdza37hmrv8ymxwv2nsqs5d4ux8rn8r0f4s7", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837597, - "completion_time": "2022-02-11T18:21:30.180774815Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wk5rpsx387arn6qzzjphaqjud7wm6yzyqrxmnf", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1799153, - "completion_time": "2022-02-09T01:41:51.893188068Z", - "initial_balance": "708788034", - "shares_dst": "708788034.000000000000000000" - }, - "balance": "708788034" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wk5rpsx387arn6qzzjphaqjud7wm6yzyqrxmnf", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787325, - "completion_time": "2022-02-08T05:45:54.998285727Z", - "initial_balance": "346000000", - "shares_dst": "346000000.000000000000000000" - }, - "balance": "346000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wk5rpsx387arn6qzzjphaqjud7wm6yzyqrxmnf", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787054, - "completion_time": "2022-02-08T05:18:43.131592758Z", - "initial_balance": "1035340894", - "shares_dst": "1035340894.000000000000000000" - }, - "balance": "1035340894" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1whtzeknm5r6yl7l9mnx5wfy24mmt4pw9x080y4", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726742, - "completion_time": "2022-02-03T22:26:48.972386441Z", - "initial_balance": "30999999999", - "shares_dst": "30999999999.000000000000000000" - }, - "balance": "30999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1whs5xy7vquwwc82lzaz6h8v4yjmcq23vah24xx", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750413, - "completion_time": "2022-02-05T15:36:49.885832808Z", - "initial_balance": "151000000", - "shares_dst": "151000000.000000000000000000" - }, - "balance": "151000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1whacrzval5yslys8jph2m22rd4gzxvajvq9mkz", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724194, - "completion_time": "2022-02-03T18:07:41.689650317Z", - "initial_balance": "157000000", - "shares_dst": "157000000.000000000000000000" - }, - "balance": "157000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wcvds63dwqunv398mzqrtlkqz0nq9u9c5ja2dl", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1652957, - "completion_time": "2022-01-29T17:54:26.451992637Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - }, - { - "redelegation_entry": { - "creation_height": 1652988, - "completion_time": "2022-01-29T17:57:36.638256985Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - }, - { - "redelegation_entry": { - "creation_height": 1725007, - "completion_time": "2022-02-03T19:30:27.520811463Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1we7r8gya5fg4c0c349e3969x306c25u9r44vjf", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1646388, - "completion_time": "2022-01-29T06:51:29.062753901Z", - "initial_balance": "327000000", - "shares_dst": "327000000.000000000000000000" - }, - "balance": "327000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1we7r8gya5fg4c0c349e3969x306c25u9r44vjf", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1646375, - "completion_time": "2022-01-29T06:50:10.437757366Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - }, - { - "redelegation_entry": { - "creation_height": 1803766, - "completion_time": "2022-02-09T09:27:47.669989907Z", - "initial_balance": "249000000", - "shares_dst": "249000000.000000000000000000" - }, - "balance": "249000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wel7gx3yn73xljmsfmwu4jt34d6j87h87vr5ac", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700100, - "completion_time": "2022-02-02T01:30:03.069793495Z", - "initial_balance": "270000000", - "shares_dst": "270000000.000000000000000000" - }, - "balance": "270000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wmxjz0alhv09kujjqczl5evangh9lswhkaswkm", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1607067, - "completion_time": "2022-01-26T12:32:41.335016955Z", - "initial_balance": "24200000000", - "shares_dst": "24200000000.000000000000000000" - }, - "balance": "24200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wmxjz0alhv09kujjqczl5evangh9lswhkaswkm", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1607097, - "completion_time": "2022-01-26T12:35:43.023146216Z", - "initial_balance": "11000000000", - "shares_dst": "11000000000.000000000000000000" - }, - "balance": "11000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wmhgue5qlpl05utnuvl2l3h9npwth9mpxrjkjy", - "validator_src_address": "secretvaloper19gaqfv4zc76mkklvuql4p7jjwuw5w0604sej43", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1743532, - "completion_time": "2022-02-05T03:41:16.886664059Z", - "initial_balance": "16073962", - "shares_dst": "16073962.000000000000000000" - }, - "balance": "16073962" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wug238h9qfu5ptyzl77y3fa6an8dy2qlnjt3dm", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800082, - "completion_time": "2022-02-09T03:15:36.205749788Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wa0ynz4qa56g9w0y264825gaajd0ae6anr4g9e", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1587707, - "completion_time": "2022-01-25T03:51:40.930814957Z", - "initial_balance": "599999999", - "shares_dst": "599999999.000000000000000000" - }, - "balance": "599999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w7fn2jqrj8hfc05wq42lh82mm0sy5cwttfdje5", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830541, - "completion_time": "2022-02-11T06:33:23.84156927Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1w7fn2jqrj8hfc05wq42lh82mm0sy5cwttfdje5", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800679, - "completion_time": "2022-02-09T04:15:56.975702453Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wl3fwmlave2vpqyt33l5r7ffwg72cgms4fde2c", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659718, - "completion_time": "2022-01-30T05:18:33.703572278Z", - "initial_balance": "999899999", - "shares_dst": "999899999.000000000000000000" - }, - "balance": "999899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1wl3fwmlave2vpqyt33l5r7ffwg72cgms4fde2c", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659731, - "completion_time": "2022-01-30T05:19:52.36546543Z", - "initial_balance": "999999999", - "shares_dst": "999999999.000000000000000000" - }, - "balance": "999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10pqva925yxelgwvqc3pljy3j2pzej2tg9736kz", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811063, - "completion_time": "2022-02-09T21:51:31.57407258Z", - "initial_balance": "11949999", - "shares_dst": "11949999.000000000000000000" - }, - "balance": "11949999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10pmzmq2r86kp9rwf688nryzcxfrdtukqpldc3c", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736140, - "completion_time": "2022-02-04T14:26:30.883704754Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10zjazqr288ju26mjpf0wl02jn4l9stycwffgdv", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830501, - "completion_time": "2022-02-11T06:29:18.67726859Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10zjazqr288ju26mjpf0wl02jn4l9stycwffgdv", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800592, - "completion_time": "2022-02-09T04:07:15.655557037Z", - "initial_balance": "2500000", - "shares_dst": "2602811.168904789251474609" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10zhjwdmn0c6v0kn80t5l0v2dnxak6m5juf64dd", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1788890, - "completion_time": "2022-02-08T08:24:08.996584416Z", - "initial_balance": "646400000", - "shares_dst": "646529299.245395246922369853" - }, - "balance": "646400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10y0k8rr3u5699u3kagy54f2k8s0ff8yzse4f2f", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635128, - "completion_time": "2022-01-28T11:51:44.992035867Z", - "initial_balance": "128999999", - "shares_dst": "128999999.000000000000000000" - }, - "balance": "128999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10y5cmuu262g8w4ngaqe6jkra8zxjgcqv8jsjm4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710400, - "completion_time": "2022-02-02T18:52:05.554531088Z", - "initial_balance": "33000000", - "shares_dst": "33000000.000000000000000000" - }, - "balance": "33000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret109xq5v7sw4enwp4pkj8qahqa0uc8xel7s7fy7e", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1874697, - "completion_time": "2022-02-14T17:24:46.743447832Z", - "initial_balance": "35000000", - "shares_dst": "35000000.000000000000000000" - }, - "balance": "35000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret109wut8m4wh2we5t3yz55asge8yh5qqdnwfv7pj", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736170, - "completion_time": "2022-02-04T14:29:31.616413362Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret108wzxzdnsunw3cgxyyv7hg342jw7zlhvf3zfyd", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684884, - "completion_time": "2022-01-31T23:51:08.188323259Z", - "initial_balance": "1900000000", - "shares_dst": "1978136488.368135517822796533" - }, - "balance": "1900000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret108hc5vp9f4yuwkteyvzhaqt8feka43pz90lyum", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681171, - "completion_time": "2022-01-31T17:28:48.019009261Z", - "initial_balance": "574000000", - "shares_dst": "574000000.000000000000000000" - }, - "balance": "574000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret108hc5vp9f4yuwkteyvzhaqt8feka43pz90lyum", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681178, - "completion_time": "2022-01-31T17:29:30.297403346Z", - "initial_balance": "1809457053", - "shares_dst": "1809457053.000000000000000000" - }, - "balance": "1809457053" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret108aqxhy8n4v9kyljrrv5zg8jcppzk56hs6d35e", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737458, - "completion_time": "2022-02-04T16:42:48.80144182Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1029c985mdmk078uahj02axxd6lkt62fdeq4l5n", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1746167, - "completion_time": "2022-02-05T08:26:53.294735256Z", - "initial_balance": "117000000", - "shares_dst": "117000000.000000000000000000" - }, - "balance": "117000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10tgegahhm8xcf5zm927364nrukxznc9qh9mkm5", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647275, - "completion_time": "2022-01-29T08:20:38.466063816Z", - "initial_balance": "65206645817", - "shares_dst": "65219689089.795679073834264164" - }, - "balance": "65206645820" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10tgegahhm8xcf5zm927364nrukxznc9qh9mkm5", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647281, - "completion_time": "2022-01-29T08:21:14.356572777Z", - "initial_balance": "24987502506", - "shares_dst": "24992500751.310503340031130355" - }, - "balance": "24987502507" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10t7jpjq4zdnxk3d3fxe84fw3kdzke8fl5gqadt", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741721, - "completion_time": "2022-02-05T00:28:14.4346429Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10v5kgr5hwjtgakazhu0hy0hdxzhlztpf49hjzv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1674023, - "completion_time": "2022-01-31T05:21:34.919976896Z", - "initial_balance": "27999999", - "shares_dst": "28002799.189456105570521398" - }, - "balance": "27999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10v5kgr5hwjtgakazhu0hy0hdxzhlztpf49hjzv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1674041, - "completion_time": "2022-01-31T05:23:23.945381076Z", - "initial_balance": "3000000", - "shares_dst": "3000600.089407116648902937" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10v5kgr5hwjtgakazhu0hy0hdxzhlztpf49hjzv", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673941, - "completion_time": "2022-01-31T05:13:23.957382432Z", - "initial_balance": "21000000", - "shares_dst": "21004200.625849816542320559" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10dxtp24ean06qugdxua832kpt68tjgr3fd8kcr", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771807, - "completion_time": "2022-02-07T03:35:47.480060509Z", - "initial_balance": "86447701", - "shares_dst": "86447701.000000000000000000" - }, - "balance": "86447701" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10w4e89d2eaq40qcvxhy3gkg4svpdwexm97924x", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600380, - "completion_time": "2022-01-26T01:19:17.926543875Z", - "initial_balance": "25794238", - "shares_dst": "25794238.000000000000000000" - }, - "balance": "25794238" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10w4e89d2eaq40qcvxhy3gkg4svpdwexm97924x", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600423, - "completion_time": "2022-01-26T01:23:36.475032476Z", - "initial_balance": "67686375", - "shares_dst": "67686375.000000000000000000" - }, - "balance": "67686375" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10whqda956n8aw0frsn9lhtjqkgucpakkcyjgg7", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687112, - "completion_time": "2022-02-01T03:38:11.857606836Z", - "initial_balance": "5500000000", - "shares_dst": "5500000000.000000000000000000" - }, - "balance": "5500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1009gfz72p5mum9644w63l8fq2c5lt22yp2yhyr", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1744313, - "completion_time": "2022-02-05T05:06:43.444866919Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret100egnwan5pq2lhcjz7ktwgw58zhpqulaq4cc9k", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722358, - "completion_time": "2022-02-03T15:01:37.182062863Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10sdcamu90yj46h7366nh4hcevphcef0jm8mwy5", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659366, - "completion_time": "2022-01-30T04:43:03.569838957Z", - "initial_balance": "842635260", - "shares_dst": "842635260.000000000000000000" - }, - "balance": "842635260" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10s72hpja4c6gza20fuexjpahe79030hycmfc7k", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635585, - "completion_time": "2022-01-28T12:38:01.066064535Z", - "initial_balance": "25000000", - "shares_dst": "25010002.458407581319335026" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret103n2fyjdal748esfkxft6aepecdmzp0rmvndgf", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637979, - "completion_time": "2022-01-28T16:42:15.685521332Z", - "initial_balance": "26050000", - "shares_dst": "26050000.000000000000000000" - }, - "balance": "26050000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret103n2fyjdal748esfkxft6aepecdmzp0rmvndgf", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637971, - "completion_time": "2022-01-28T16:41:27.7627595Z", - "initial_balance": "26050000", - "shares_dst": "26050000.000000000000000000" - }, - "balance": "26050000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10nga06fak2e49a99uqhp0vahkhj93xh4mepdcl", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750768, - "completion_time": "2022-02-05T16:12:58.983171007Z", - "initial_balance": "940000000", - "shares_dst": "940000000.000000000000000000" - }, - "balance": "940000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret105llx592cmxm2phujwtl5my5q83sqjk4kr8lvv", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837197, - "completion_time": "2022-02-11T17:41:26.094627589Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret104nrm3cvvmj5j85cxx8sa56mwc427vzeyekf2p", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712731, - "completion_time": "2022-02-02T22:48:35.154970065Z", - "initial_balance": "1199999999", - "shares_dst": "1199999999.000000000000000000" - }, - "balance": "1199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10hrp6md76fnghv7v82x37zayz0wxy7vfj3rw3f", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673253, - "completion_time": "2022-01-31T04:04:17.655809951Z", - "initial_balance": "267122058", - "shares_dst": "267122058.000000000000000000" - }, - "balance": "267122058" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10m3vru2z2ddc3l7jfn3xqs3kqmlt6vnx07r5p6", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1820297, - "completion_time": "2022-02-10T13:20:42.138837665Z", - "initial_balance": "39818774", - "shares_dst": "39818774.000000000000000000" - }, - "balance": "39818774" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10mllyez634ss42l07g9as4wprypfcwd0h4z4er", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740524, - "completion_time": "2022-02-04T22:17:29.156829502Z", - "initial_balance": "31232262137", - "shares_dst": "31232262137.000000000000000000" - }, - "balance": "31232262137" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret107gg2q489cf4lf64725x6zcwkgtkkatjlz8kw7", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736977, - "completion_time": "2022-02-04T15:53:34.330239767Z", - "initial_balance": "999999999", - "shares_dst": "999999999.000000000000000000" - }, - "balance": "999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret107vjqq2g0ksant3ga08s6am7j9pk7vwqavg4gp", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624419, - "completion_time": "2022-01-27T17:48:57.062075993Z", - "initial_balance": "463200000", - "shares_dst": "463200000.000000000000000000" - }, - "balance": "463200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret107a8pzgwxmqwhwpwxcedwutfx43wvjv5dc64na", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1656389, - "completion_time": "2022-01-29T23:42:02.396251442Z", - "initial_balance": "969064156", - "shares_dst": "969257997.797516064700749829" - }, - "balance": "969064156" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10lzs9uzuhtc0ysceftmtw8zalptq9swj2u03mt", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1617791, - "completion_time": "2022-01-27T06:41:13.99130197Z", - "initial_balance": "12528269", - "shares_dst": "12528269.000000000000000000" - }, - "balance": "12528269" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10lz4yrsk6s6sjxw8c0jkm3gflppd829vx72jvd", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795117, - "completion_time": "2022-02-08T18:52:55.223883627Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10lz4yrsk6s6sjxw8c0jkm3gflppd829vx72jvd", - "validator_src_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795126, - "completion_time": "2022-02-08T18:53:51.129078557Z", - "initial_balance": "104979001", - "shares_dst": "104979001.000000000000000000" - }, - "balance": "104979001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10l4kgqkwxclt88arrq4vzg5ngkunuet3eyc2qw", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832024, - "completion_time": "2022-02-11T09:01:57.626615288Z", - "initial_balance": "20874357", - "shares_dst": "20874357.000000000000000000" - }, - "balance": "20874357" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret10le30ms6h4zrremzn3dwycf7esx83s3h92dplc", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1806179, - "completion_time": "2022-02-09T13:30:06.6161418Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sqfejntp2fdke390kugsp7zgp5wk9vx5q0p6cm", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731569, - "completion_time": "2022-02-04T06:44:14.111698827Z", - "initial_balance": "100300000", - "shares_dst": "100300000.000000000000000000" - }, - "balance": "100300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1spqnp5w5wd2xz7v2kj3z8kw6mr4s0mxhgn8vju", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708048, - "completion_time": "2022-02-02T14:53:30.987729079Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1spqnp5w5wd2xz7v2kj3z8kw6mr4s0mxhgn8vju", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708040, - "completion_time": "2022-02-02T14:52:43.146336496Z", - "initial_balance": "14999999", - "shares_dst": "14999999.000000000000000000" - }, - "balance": "14999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1spz6v6zvd23da0jmqaq64ckt7e0xvdkqyk92vl", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722475, - "completion_time": "2022-02-03T15:13:31.215507323Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sp2gce9ztp224ktxac042qptp6vdckk0x8d8va", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1790092, - "completion_time": "2022-02-08T10:25:57.189337552Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sz2nswhhpzv4wu28rf4nxr4dw0y32quc6mtfjz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1746969, - "completion_time": "2022-02-05T09:47:55.945156986Z", - "initial_balance": "53880000", - "shares_dst": "53880000.000000000000000000" - }, - "balance": "53880000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1szn66f3r2tvzjwz5ajkg68jdy8w6jhh6npsf2y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726139, - "completion_time": "2022-02-03T21:25:01.055753716Z", - "initial_balance": "5009000000", - "shares_dst": "5009000000.000000000000000000" - }, - "balance": "5009000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1srpjeg872353288vxa854xgml46vgr2ajf47d0", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680856, - "completion_time": "2022-01-31T16:56:29.659963222Z", - "initial_balance": "9001653162", - "shares_dst": "9001653162.000000000000000000" - }, - "balance": "9001653162" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1syfv4gzecl6jaj67ezhyxw3e9xgcyylnav6y3w", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801388, - "completion_time": "2022-02-09T05:27:35.659374718Z", - "initial_balance": "21000000", - "shares_dst": "21000000.000000000000000000" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sywqmssxxgvw5544effpqw6mn9xzdn3c25yvdq", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736030, - "completion_time": "2022-02-04T14:15:19.93194456Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s9cttkww9kfxa8spu5utkxusc90wnzadvucqkq", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733786, - "completion_time": "2022-02-04T10:28:16.984468472Z", - "initial_balance": "13999999", - "shares_dst": "13999999.000000000000000000" - }, - "balance": "13999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sxqm4pz55xl832duuj8ynqnz4rulwl40e37805", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749488, - "completion_time": "2022-02-05T14:02:48.428084937Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sg63mv4xg90rpckm85xn7rsgq7lunzacydwvky", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1613201, - "completion_time": "2022-01-26T22:56:14.56188952Z", - "initial_balance": "1499999999", - "shares_dst": "1499999999.000000000000000000" - }, - "balance": "1499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sfa6z4x3eaeuadhszhj6nykd6udseqmsf5pk9h", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1777343, - "completion_time": "2022-02-07T12:55:31.955764805Z", - "initial_balance": "982600000", - "shares_dst": "982600000.000000000000000000" - }, - "balance": "982600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s26fugc8vnen5qejgftdadtczavy4s7rpnefs7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690897, - "completion_time": "2022-02-01T09:59:59.172751225Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s26fugc8vnen5qejgftdadtczavy4s7rpnefs7", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690901, - "completion_time": "2022-02-01T10:00:23.277563585Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s2uex6xndntrpamn5dlcfvxgz8pjf5gfucdrj7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643107, - "completion_time": "2022-01-29T01:21:55.703629579Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s2uex6xndntrpamn5dlcfvxgz8pjf5gfucdrj7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632399, - "completion_time": "2022-01-28T07:15:31.849117296Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s2uex6xndntrpamn5dlcfvxgz8pjf5gfucdrj7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643084, - "completion_time": "2022-01-29T01:19:37.597928442Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s2uex6xndntrpamn5dlcfvxgz8pjf5gfucdrj7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643097, - "completion_time": "2022-01-29T01:20:55.250361863Z", - "initial_balance": "5000000", - "shares_dst": "5001500.299275653440022617" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1st3sel4cf3sm5l8xejlxy60fyvcz5c5wfmawdv", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637281, - "completion_time": "2022-01-28T15:31:14.815939943Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1st7yh82s3muup0nfljj3cucsxcxlr87wcz4txy", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830492, - "completion_time": "2022-02-11T06:28:25.28701868Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1st7yh82s3muup0nfljj3cucsxcxlr87wcz4txy", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800554, - "completion_time": "2022-02-09T04:03:28.729992584Z", - "initial_balance": "2500000", - "shares_dst": "2602811.168904789251474609" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sv968sn4790ngddzzdjf75cfrrk5gf749ea56q", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694372, - "completion_time": "2022-02-01T15:51:15.613964934Z", - "initial_balance": "1570000000", - "shares_dst": "1570000000.000000000000000000" - }, - "balance": "1570000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sv2ymu68zq2jrrrtcvxph6hwv68cxd3mk4t299", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1582472, - "completion_time": "2022-01-24T18:51:06.434108471Z", - "initial_balance": "52024471", - "shares_dst": "52024471.000000000000000000" - }, - "balance": "52024471" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1swqcn946mvgvfpup84msgjs96kx6yejfjewxd6", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1790766, - "completion_time": "2022-02-08T11:33:54.860495286Z", - "initial_balance": "2100000", - "shares_dst": "2100000.000000000000000000" - }, - "balance": "2100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sw239ufet6hczxygckp4eqyr2d552708cgvpy8", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738824, - "completion_time": "2022-02-04T19:16:57.721222121Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sw239ufet6hczxygckp4eqyr2d552708cgvpy8", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738833, - "completion_time": "2022-02-04T19:17:52.301574796Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1swemg9v7r4xnu86fu6qw8s0v3stw3dup5j44lf", - "validator_src_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1782041, - "completion_time": "2022-02-07T20:52:45.759486455Z", - "initial_balance": "22000000", - "shares_dst": "22000000.000000000000000000" - }, - "balance": "22000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s0t8mx0edfmwa8vkgxzwdyqc9lqs7lj9dfzdy8", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1799510, - "completion_time": "2022-02-09T02:17:45.482774092Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s0d9jvugwshucezw5r7uutw62dvj654y480zu4", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862208, - "completion_time": "2022-02-13T17:32:28.702809032Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s0d9jvugwshucezw5r7uutw62dvj654y480zu4", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862173, - "completion_time": "2022-02-13T17:27:55.746969682Z", - "initial_balance": "1244000000", - "shares_dst": "1244000000.000000000000000000" - }, - "balance": "1244000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s3r3t2smkq9k3f2vfekwg58k8jjs7c0p387juj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741783, - "completion_time": "2022-02-05T00:34:30.422036146Z", - "initial_balance": "69000000", - "shares_dst": "69000000.000000000000000000" - }, - "balance": "69000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s30s2pwa0j05vaerf4gxletzu56chy26y0jcda", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1615018, - "completion_time": "2022-01-27T02:01:07.928417588Z", - "initial_balance": "924500000", - "shares_dst": "927233521.821835880849466079" - }, - "balance": "924500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s3upr0ha4z3h3mscmz66w7ctc9hp08z397smcp", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678910, - "completion_time": "2022-01-31T13:36:44.553062159Z", - "initial_balance": "1215852353", - "shares_dst": "1216338813.495784183057786835" - }, - "balance": "1215852353" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sn8glxk9dsuj344e60slgpw4pz8zzcz4wsqg2n", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1723234, - "completion_time": "2022-02-03T16:30:26.004756614Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sndnhs0vwar47cxpqrn2nps052hzmdywz52xz7", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726271, - "completion_time": "2022-02-03T21:38:34.307058295Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sndnhs0vwar47cxpqrn2nps052hzmdywz52xz7", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642703, - "completion_time": "2022-01-29T00:41:22.224681729Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sndnhs0vwar47cxpqrn2nps052hzmdywz52xz7", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642677, - "completion_time": "2022-01-29T00:38:46.27461775Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s46f0gmyehdthqhree26wr303xdw5edzna4l35", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823327, - "completion_time": "2022-02-10T18:26:12.273153822Z", - "initial_balance": "103000000", - "shares_dst": "103000000.000000000000000000" - }, - "balance": "103000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sk99yt2m8hrmy4h4qu0yaraf0pz57cwmdqtc6q", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1873386, - "completion_time": "2022-02-14T13:52:59.5062729Z", - "initial_balance": "7283720000", - "shares_dst": "7283720000.000000000000000000" - }, - "balance": "7283720000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sk3rxdzxauzstz6rj06p8vy57vjlayf9zshslg", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735239, - "completion_time": "2022-02-04T12:54:52.297011612Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ska0lfe2ua6p66wt06rkehp5df2eyy3lvkfplu", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732617, - "completion_time": "2022-02-04T08:30:22.112386371Z", - "initial_balance": "10683000000", - "shares_dst": "10683000000.000000000000000000" - }, - "balance": "10683000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sh4zftc4u2wsrnq7sp6gfxfhtgaavphds7qen7", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774134, - "completion_time": "2022-02-07T07:30:12.108812488Z", - "initial_balance": "999999", - "shares_dst": "999999.000000000000000000" - }, - "balance": "999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1shkrc8l460v9542rvufqshafzywzsaaq42ejxn", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1674838, - "completion_time": "2022-01-31T06:44:29.370449452Z", - "initial_balance": "30001939", - "shares_dst": "30001939.000000000000000000" - }, - "balance": "30001939" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1seg3w2tmdaj46dcvcjkt4dhq7ezgmpjl9sarfa", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781459, - "completion_time": "2022-02-07T19:52:59.23484353Z", - "initial_balance": "35000", - "shares_dst": "35000.000000000000000000" - }, - "balance": "35000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sma9c8er38np45ncuzjhz4n42ldjztjm3c0uu2", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736148, - "completion_time": "2022-02-04T14:27:18.697495841Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1suuw48lznw5gte9rxk9qz44mcd7m3xv9danpmm", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1861926, - "completion_time": "2022-02-13T17:03:24.155237312Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1sawykk5ds6pprdlf25qhqhp679lzr55yesxpv5", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708712, - "completion_time": "2022-02-02T16:00:40.549855124Z", - "initial_balance": "57000000", - "shares_dst": "57000000.000000000000000000" - }, - "balance": "57000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s7gu3a88cvluc82jgk6p9h4cfc9l6yfec5p330", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796532, - "completion_time": "2022-02-08T21:16:28.894900082Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s7skxzgaytwmv6rk5pfql4wcfdzzua0swvcyuc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599930, - "completion_time": "2022-01-26T00:33:48.144832768Z", - "initial_balance": "1103000000", - "shares_dst": "1103000000.000000000000000000" - }, - "balance": "1103000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s7eyyauzsej8nng5mn6vg058qkfq9j8d6zxcql", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624681, - "completion_time": "2022-01-27T18:15:35.354493241Z", - "initial_balance": "750000000", - "shares_dst": "750000000.000000000000000000" - }, - "balance": "750000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1s7mhwf7z0h3x9s7hu0mw92x2uwuc6dcjqcr0rz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1806045, - "completion_time": "2022-02-09T13:16:36.750255383Z", - "initial_balance": "29790000", - "shares_dst": "29790000.000000000000000000" - }, - "balance": "29790000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13qguhhmfkp2jmsdxsgl24l0hdedyyfym325sge", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1714404, - "completion_time": "2022-02-03T01:39:59.585947015Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - }, - { - "redelegation_entry": { - "creation_height": 1797937, - "completion_time": "2022-02-08T23:39:16.892534105Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13qguhhmfkp2jmsdxsgl24l0hdedyyfym325sge", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1714393, - "completion_time": "2022-02-03T01:38:47.467369747Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - }, - { - "redelegation_entry": { - "creation_height": 1797929, - "completion_time": "2022-02-08T23:38:29.507066749Z", - "initial_balance": "2200000000", - "shares_dst": "2200000000.000000000000000000" - }, - "balance": "2200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13qsc9m5zxynuuyy38d9tsvgvj54a6m0rrele0f", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1751294, - "completion_time": "2022-02-05T17:06:07.719548075Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13pn8pcmnx460retwhpq3mx225ahptvvhvkjunw", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13pn8pcmnx460retwhpq3mx225ahptvvhvkjunw", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "12500000", - "shares_dst": "12500000.000000000000000000" - }, - "balance": "12500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13pn8pcmnx460retwhpq3mx225ahptvvhvkjunw", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "4999999", - "shares_dst": "4999999.000000000000000000" - }, - "balance": "4999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13z8gxv2nzyj88ce5gmne2m2pk35uruh7l6d385", - "validator_src_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1609462, - "completion_time": "2022-01-26T16:34:47.068155239Z", - "initial_balance": "24999999", - "shares_dst": "24999999.000000000000000000" - }, - "balance": "24999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13z0ze79479qhqz6n4qd0jsvlnymzxa39zu5saq", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837307, - "completion_time": "2022-02-11T17:52:24.885067003Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13yfwh0lv3f7c703etpwm6pjdp2jyuwfk527g7j", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1588995, - "completion_time": "2022-01-25T06:03:11.966626226Z", - "initial_balance": "6150000000", - "shares_dst": "6150000000.000000000000000000" - }, - "balance": "6150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13y29xrrzhcnwsup7jeeulq5sgf78xrguwgtpxw", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1782889, - "completion_time": "2022-02-07T22:18:46.782234023Z", - "initial_balance": "12211435", - "shares_dst": "12213877.651969791406714225" - }, - "balance": "12211435" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13y67z62dyndy2mql3dg778jxqta3fpugeuf8zn", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682595, - "completion_time": "2022-01-31T19:55:58.215484698Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret139gpn6nj5s28a7qk05r92y2pu6p78ksqq03955", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731668, - "completion_time": "2022-02-04T06:54:11.474908607Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13959x7zm49jaeyrfeltjkwz8adu8p0r0dwprps", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1652975, - "completion_time": "2022-01-29T17:56:14.865809136Z", - "initial_balance": "13199999", - "shares_dst": "13199999.000000000000000000" - }, - "balance": "13199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret139ha4086n42tre7tq720tdqka8yanacnec6hhs", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766457, - "completion_time": "2022-02-06T18:35:32.677494532Z", - "initial_balance": "41157420", - "shares_dst": "41157420.000000000000000000" - }, - "balance": "41157420" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13xh4jvvtn3k542e396gaxfp9t8xcn69qkndlds", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655171, - "completion_time": "2022-01-29T21:39:16.582932669Z", - "initial_balance": "1200003098", - "shares_dst": "1200003098.000000000000000000" - }, - "balance": "1200003098" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret138zh8u388yc5cxk2me4cqp5ewtu9n2hejrca9d", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654165, - "completion_time": "2022-01-29T19:57:22.524645092Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1382hgf3madcavv6u4gyu84ge5llkezzg45907e", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1747527, - "completion_time": "2022-02-05T10:44:05.208086979Z", - "initial_balance": "131000000", - "shares_dst": "131000000.000000000000000000" - }, - "balance": "131000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret138sjrjw94dgrwyq88qp342fsxm393t6atq077s", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749833, - "completion_time": "2022-02-05T14:37:57.06862156Z", - "initial_balance": "467600000", - "shares_dst": "467600000.000000000000000000" - }, - "balance": "467600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret138469fjp3jkddrgcqcd2ulhu62u3d9ycv2m7za", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670385, - "completion_time": "2022-01-30T23:15:10.951210318Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13g5u4293qa364get73f38lqwtllgx6h80h9jfr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583775, - "completion_time": "2022-01-24T21:06:42.552080803Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13fq7e69punt6ju05f5wwr39udcmlvrlqu77sju", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724646, - "completion_time": "2022-02-03T18:53:24.188099572Z", - "initial_balance": "400219081", - "shares_dst": "400219081.000000000000000000" - }, - "balance": "400219081" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13fgx74pa60h05528k5y6jwcd8vps2pkaygtfhj", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819027, - "completion_time": "2022-02-10T11:12:34.981942103Z", - "initial_balance": "20537000099", - "shares_dst": "20537000099.000000000000000000" - }, - "balance": "20537000099" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13fsu83mr5pqhhcf3ww3l544mq6myu56mvwxmpa", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1756078, - "completion_time": "2022-02-06T01:08:21.36376035Z", - "initial_balance": "3248744", - "shares_dst": "3248744.000000000000000000" - }, - "balance": "3248744" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13fsu83mr5pqhhcf3ww3l544mq6myu56mvwxmpa", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1756068, - "completion_time": "2022-02-06T01:07:20.936819599Z", - "initial_balance": "5499999", - "shares_dst": "5499999.000000000000000000" - }, - "balance": "5499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret132xxlj085ys248wqtcsecnh06zqp4kqn937v6s", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851823, - "completion_time": "2022-02-12T21:05:55.494099929Z", - "initial_balance": "53000000", - "shares_dst": "53000000.000000000000000000" - }, - "balance": "53000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret132mn86gx25v0us3llx955flt0qpql6g6fae83p", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722728, - "completion_time": "2022-02-03T15:39:02.973308384Z", - "initial_balance": "750000000", - "shares_dst": "750000000.000000000000000000" - }, - "balance": "750000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13tygmefgw98ewlcvdegwhw83tenmfp5jatdkra", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697910, - "completion_time": "2022-02-01T21:48:38.155158161Z", - "initial_balance": "40500000", - "shares_dst": "40500000.000000000000000000" - }, - "balance": "40500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13tygmefgw98ewlcvdegwhw83tenmfp5jatdkra", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697906, - "completion_time": "2022-02-01T21:48:14.177637719Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13ts0pttljm3a80e3cld576g43zcwajdtx0t7hx", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1701998, - "completion_time": "2022-02-02T04:41:21.737911606Z", - "initial_balance": "3000000", - "shares_dst": "3000600.089390799802340748" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13t7h3kal39s3mvczw3rg4fzjthfs55pkys9ucs", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731866, - "completion_time": "2022-02-04T07:14:18.041936623Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13v2wks3g87xalucd38ugeuqqk2xq8ftqywhyl9", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678582, - "completion_time": "2022-01-31T13:03:22.540758916Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13v2wks3g87xalucd38ugeuqqk2xq8ftqywhyl9", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678570, - "completion_time": "2022-01-31T13:02:05.959610384Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13v2wks3g87xalucd38ugeuqqk2xq8ftqywhyl9", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678557, - "completion_time": "2022-01-31T13:00:46.823324344Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13vvj5g79nvv9wvmn4e6k5vzrqsqn0ll0h5kj92", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712102, - "completion_time": "2022-02-02T21:45:03.701494422Z", - "initial_balance": "10818815", - "shares_dst": "10818815.000000000000000000" - }, - "balance": "10818815" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13ve4n5ak0xydf0943lhlw6f4t4n8ueshz97rlp", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623895, - "completion_time": "2022-01-27T16:55:59.422434467Z", - "initial_balance": "49000000", - "shares_dst": "49000000.000000000000000000" - }, - "balance": "49000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret130fgyg6rft7pxyjjhh72xzw9a88crj0myxqdej", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper19gaqfv4zc76mkklvuql4p7jjwuw5w0604sej43", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851605, - "completion_time": "2022-02-12T20:44:08.972283874Z", - "initial_balance": "52000000", - "shares_dst": "52000000.000000000000000000" - }, - "balance": "52000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret130fgyg6rft7pxyjjhh72xzw9a88crj0myxqdej", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851610, - "completion_time": "2022-02-12T20:44:39.015985308Z", - "initial_balance": "889998", - "shares_dst": "889998.000000000000000000" - }, - "balance": "889998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13sytn7etjnqgzvluz2h0jfxf2fz9c2npchme5f", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1784344, - "completion_time": "2022-02-08T00:45:54.871826436Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13sgye23e7rft5rh46ac5y2yuk39d7mat3y4gd5", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739796, - "completion_time": "2022-02-04T20:58:10.292294163Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13sgye23e7rft5rh46ac5y2yuk39d7mat3y4gd5", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739782, - "completion_time": "2022-02-04T20:56:44.951076397Z", - "initial_balance": "49999999", - "shares_dst": "50010000.489134840737596149" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13sjpadtqksrmv8hcqw8nprc0vm6etnj4cpzf03", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800062, - "completion_time": "2022-02-09T03:13:30.447998556Z", - "initial_balance": "197000000", - "shares_dst": "197000000.000000000000000000" - }, - "balance": "197000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13sjpadtqksrmv8hcqw8nprc0vm6etnj4cpzf03", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800068, - "completion_time": "2022-02-09T03:14:05.71836889Z", - "initial_balance": "16622763", - "shares_dst": "16622763.000000000000000000" - }, - "balance": "16622763" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13j9k2hcc4nppcmc5ertjxhngatxdu3r42vp3yy", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823021, - "completion_time": "2022-02-10T17:55:27.491866037Z", - "initial_balance": "400000000", - "shares_dst": "400080011.906681245203464327" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13j30n7vw0c0e222sdqu4w7mddl55s5gvyp73sq", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725022, - "completion_time": "2022-02-03T19:31:58.556846428Z", - "initial_balance": "105000000", - "shares_dst": "105000000.000000000000000000" - }, - "balance": "105000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13j6jpetjsvq7x4z98dsljnss2lzecl58jrpkel", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1611197, - "completion_time": "2022-01-26T19:30:53.92039049Z", - "initial_balance": "3800000", - "shares_dst": "3800000.000000000000000000" - }, - "balance": "3800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13nddx75w3fggn8x6awf2u4wv30hha27lhamx53", - "validator_src_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726849, - "completion_time": "2022-02-03T22:37:50.25415022Z", - "initial_balance": "30050000000", - "shares_dst": "30050000000.000000000000000000" - }, - "balance": "30050000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret135pvrx5zfzmlzvdculepqz09x0f8ammcmp8j7u", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1603157, - "completion_time": "2022-01-26T05:58:57.115812307Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13580wycc3uph7zl86mqh75ax4j5gwr2yjvpm6r", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771340, - "completion_time": "2022-02-07T02:48:35.996925048Z", - "initial_balance": "228334948", - "shares_dst": "228357783.738518692783106278" - }, - "balance": "228334948" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret135fcq3yd5m3tukz3lmfuya3sf65uukf65ufd32", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1775255, - "completion_time": "2022-02-07T09:23:23.223175459Z", - "initial_balance": "2500000", - "shares_dst": "2500000.000000000000000000" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret135nef4cvu4ddquzq56xxxtavqe89czd9yktmg9", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654676, - "completion_time": "2022-01-29T20:49:08.626190698Z", - "initial_balance": "170000000", - "shares_dst": "170000000.000000000000000000" - }, - "balance": "170000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret134cxd0wgcrm3fjenjgnm3ghr2383hf7wl7y69c", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752150, - "completion_time": "2022-02-05T18:32:28.060223202Z", - "initial_balance": "9983699", - "shares_dst": "9983699.000000000000000000" - }, - "balance": "9983699" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret134csmjtzepxpfrd45c5zltz77vahdh8wxwrakt", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781711, - "completion_time": "2022-02-07T20:19:16.303724145Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret134ultcrapjnu8nxttt5rlc05tgeex2jakycpza", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823216, - "completion_time": "2022-02-10T18:15:06.429820973Z", - "initial_balance": "7999999", - "shares_dst": "8001599.239335368859942861" - }, - "balance": "7999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13kyykqveptemykpw57gkzt6jrjq23xdzur93fk", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732999, - "completion_time": "2022-02-04T09:08:44.59341467Z", - "initial_balance": "370000000", - "shares_dst": "370000000.000000000000000000" - }, - "balance": "370000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13kyykqveptemykpw57gkzt6jrjq23xdzur93fk", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732977, - "completion_time": "2022-02-04T09:06:32.072321246Z", - "initial_balance": "5500000000", - "shares_dst": "5500000000.000000000000000000" - }, - "balance": "5500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13kyykqveptemykpw57gkzt6jrjq23xdzur93fk", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732983, - "completion_time": "2022-02-04T09:07:08.239777337Z", - "initial_balance": "16018756666", - "shares_dst": "16018756666.000000000000000000" - }, - "balance": "16018756666" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13kyykqveptemykpw57gkzt6jrjq23xdzur93fk", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732992, - "completion_time": "2022-02-04T09:08:02.825813634Z", - "initial_balance": "338000000", - "shares_dst": "338000000.000000000000000000" - }, - "balance": "338000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13klqkprunxjz2zt748vlug3q3yeaq4r4ky3trs", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640740, - "completion_time": "2022-01-28T21:22:10.726785795Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13klqkprunxjz2zt748vlug3q3yeaq4r4ky3trs", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640774, - "completion_time": "2022-01-28T21:25:34.704712469Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13h2z6re2dul0mnxggr70lyynp0rf2gk3qtunkv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730020, - "completion_time": "2022-02-04T04:06:15.587251654Z", - "initial_balance": "1052300000", - "shares_dst": "1052300000.000000000000000000" - }, - "balance": "1052300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13h5ymcgk54s3cdhglpdl8de0lwz9sqk8j0r0ll", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1606033, - "completion_time": "2022-01-26T10:48:27.933919123Z", - "initial_balance": "621500000", - "shares_dst": "621500000.000000000000000000" - }, - "balance": "621500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13hhf2lr5l8uhart4xnrgqnwk86exhxaa9yzy6m", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1701867, - "completion_time": "2022-02-02T04:28:10.294582122Z", - "initial_balance": "309000000", - "shares_dst": "309061809.207252379641097098" - }, - "balance": "309000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13huevd4aclgt0hkqecqv8239wh8243hk2n7ypx", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624290, - "completion_time": "2022-01-27T17:35:47.537748108Z", - "initial_balance": "108988000", - "shares_dst": "108988000.000000000000000000" - }, - "balance": "108988000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13czjlx2v8eq65jcv49w6fqk9zt78r6vx6l0s6w", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643019, - "completion_time": "2022-01-29T01:13:04.646692098Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13czjlx2v8eq65jcv49w6fqk9zt78r6vx6l0s6w", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643026, - "completion_time": "2022-01-29T01:13:47.232298843Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13czjlx2v8eq65jcv49w6fqk9zt78r6vx6l0s6w", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642983, - "completion_time": "2022-01-29T01:09:28.521394406Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13czjlx2v8eq65jcv49w6fqk9zt78r6vx6l0s6w", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643004, - "completion_time": "2022-01-29T01:11:34.629166506Z", - "initial_balance": "27500000", - "shares_dst": "27500000.000000000000000000" - }, - "balance": "27500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13czjlx2v8eq65jcv49w6fqk9zt78r6vx6l0s6w", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643035, - "completion_time": "2022-01-29T01:14:40.961170537Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13c3nyttv2mmd99nyxrtsy5fa7dcc7av8hxyvv3", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642661, - "completion_time": "2022-01-29T00:37:10.049402254Z", - "initial_balance": "7041240", - "shares_dst": "7041240.000000000000000000" - }, - "balance": "7041240" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13cmuwuw9my7cjxv4wd7g6rxnhl9z9wzmc4ql5n", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811536, - "completion_time": "2022-02-09T22:39:39.948891758Z", - "initial_balance": "84364000000", - "shares_dst": "84364000000.000000000000000000" - }, - "balance": "84364000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13caak7qrcwz29cntmw56p20mrmpf4pwvhvz8je", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1807015, - "completion_time": "2022-02-09T14:54:09.807999189Z", - "initial_balance": "6600000", - "shares_dst": "6600000.000000000000000000" - }, - "balance": "6600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13caak7qrcwz29cntmw56p20mrmpf4pwvhvz8je", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1807026, - "completion_time": "2022-02-09T14:55:15.671794108Z", - "initial_balance": "7099999", - "shares_dst": "7099999.000000000000000000" - }, - "balance": "7099999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13exaw6sus67vkdpvssdg92uygvmnj7lmh8mzmq", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774547, - "completion_time": "2022-02-07T08:11:50.285344924Z", - "initial_balance": "21200000", - "shares_dst": "21200000.000000000000000000" - }, - "balance": "21200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13ehzgru6en30s25aw35cdrkzx2xm7xdspvh6gx", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1827783, - "completion_time": "2022-02-11T01:55:10.663229444Z", - "initial_balance": "100000000", - "shares_dst": "100020002.976453855961649915" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13eujjpd38gacyzrr0lxpy8cq0d2gltht9khx0w", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837513, - "completion_time": "2022-02-11T18:13:05.761512018Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13eas8ldr4qu8xzs4m86npzshkrq0pxekrgc96d", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749340, - "completion_time": "2022-02-05T13:47:58.553944824Z", - "initial_balance": "111499999", - "shares_dst": "111499999.000000000000000000" - }, - "balance": "111499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret136gm0ysvmhlzgtzglcmzhzps75cep7szac5khg", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1793997, - "completion_time": "2022-02-08T17:00:11.849665289Z", - "initial_balance": "90000000", - "shares_dst": "90000000.000000000000000000" - }, - "balance": "90000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13mq5xjnmlslp3k96k9dyrw0tea07gdt46rdtxt", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707485, - "completion_time": "2022-02-02T13:56:33.75130762Z", - "initial_balance": "5005000000", - "shares_dst": "5005000000.000000000000000000" - }, - "balance": "5005000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13mwzuexvw3hyqrhdvz8xykx3xfljmxd8gl3wgu", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687393, - "completion_time": "2022-02-01T04:06:49.76929521Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13mce6zakpj740ytv89q0qcqrtdzj5wvtlwle4r", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636848, - "completion_time": "2022-01-28T14:47:09.929985019Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - }, - { - "redelegation_entry": { - "creation_height": 1636933, - "completion_time": "2022-01-28T14:55:49.553791308Z", - "initial_balance": "6749020515", - "shares_dst": "6749020515.000000000000000000" - }, - "balance": "6749020515" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13up27su2jz6vcyvjn7aulpx7phmzjeys8jvp2a", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1619798, - "completion_time": "2022-01-27T10:03:07.768861204Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13urdne58afp32w40zpmc6ejtm4s3pentnyq25p", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822383, - "completion_time": "2022-02-10T16:51:19.943642064Z", - "initial_balance": "632150000", - "shares_dst": "632150000.000000000000000000" - }, - "balance": "632150000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13unyz8qkv9elr0ngu6pr20yd8z5ukeje8rwfqz", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1782489, - "completion_time": "2022-02-07T21:38:01.220735608Z", - "initial_balance": "315990000", - "shares_dst": "322076641.978211840715699242" - }, - "balance": "315990000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13uup3md785lsd74aws4hx2et052mferwddaak9", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1717326, - "completion_time": "2022-02-03T06:34:49.544122345Z", - "initial_balance": "1726300000", - "shares_dst": "1726300000.000000000000000000" - }, - "balance": "1726300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13a4dxelvzhvq9tf72tfc7psll82g94g7seggn8", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724613, - "completion_time": "2022-02-03T18:50:04.944968242Z", - "initial_balance": "20000000000", - "shares_dst": "20000000000.000000000000000000" - }, - "balance": "20000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret137r8360sgcjt2y664fjf53v6hv46v6c90sgkxj", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657516, - "completion_time": "2022-01-30T01:35:38.655789061Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1379szh6huqrgz224hznlz3aluk8x9pvyzrz5yz", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721541, - "completion_time": "2022-02-03T13:38:25.801140729Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13789p9yr6798t3g8tee7l654javzwex43lddj8", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830583, - "completion_time": "2022-02-11T06:37:35.170302108Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13789p9yr6798t3g8tee7l654javzwex43lddj8", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800723, - "completion_time": "2022-02-09T04:20:23.684686672Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lpn8k3mve9lk8y4nvdwfv3dqk2wk9w940tycg", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1859537, - "completion_time": "2022-02-13T12:25:27.697232251Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lpn8k3mve9lk8y4nvdwfv3dqk2wk9w940tycg", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1859566, - "completion_time": "2022-02-13T12:28:20.000367034Z", - "initial_balance": "82937146", - "shares_dst": "82937146.000000000000000000" - }, - "balance": "82937146" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lrgkn7qskjftw24sll594djesja2m57ywarak", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655532, - "completion_time": "2022-01-29T22:15:39.79388148Z", - "initial_balance": "1222000000", - "shares_dst": "1222000000.000000000000000000" - }, - "balance": "1222000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lxvqt9ajc6svjyf64nrp8m2r7j3tt8q86dm4h", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602735, - "completion_time": "2022-01-26T05:16:00.406381284Z", - "initial_balance": "112600000", - "shares_dst": "112600000.000000000000000000" - }, - "balance": "112600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lxvqt9ajc6svjyf64nrp8m2r7j3tt8q86dm4h", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787386, - "completion_time": "2022-02-08T05:52:03.931328287Z", - "initial_balance": "32600000", - "shares_dst": "32600000.000000000000000000" - }, - "balance": "32600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lxvqt9ajc6svjyf64nrp8m2r7j3tt8q86dm4h", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787390, - "completion_time": "2022-02-08T05:52:27.517975583Z", - "initial_balance": "22180000", - "shares_dst": "22180000.000000000000000000" - }, - "balance": "22180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lxvqt9ajc6svjyf64nrp8m2r7j3tt8q86dm4h", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662444, - "completion_time": "2022-01-30T09:52:56.002695048Z", - "initial_balance": "65000000", - "shares_dst": "65000000.000000000000000000" - }, - "balance": "65000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lxvqt9ajc6svjyf64nrp8m2r7j3tt8q86dm4h", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602742, - "completion_time": "2022-01-26T05:16:42.530027943Z", - "initial_balance": "19500000", - "shares_dst": "19500000.000000000000000000" - }, - "balance": "19500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret13lnyull25465thvj2jjat3hwzvl3ytulhc3k8p", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774570, - "completion_time": "2022-02-07T08:14:09.13756693Z", - "initial_balance": "6900000", - "shares_dst": "6900000.000000000000000000" - }, - "balance": "6900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jqvsxfaw78un93qgefq246a4wznds3aqf0hvsh", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740391, - "completion_time": "2022-02-04T22:03:51.088572086Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jqd36n42muk37nn6jzk8km87rfe7etnt8dn0yt", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730052, - "completion_time": "2022-02-04T04:09:28.677618928Z", - "initial_balance": "1002500000", - "shares_dst": "1002500000.000000000000000000" - }, - "balance": "1002500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jqh4tcmlsljmupqycjh003t7qka8tmxry9ay94", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643412, - "completion_time": "2022-01-29T01:52:38.136699396Z", - "initial_balance": "29000000", - "shares_dst": "29000000.000000000000000000" - }, - "balance": "29000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jq6rpkf233jq9h98tlarzk8w3pl3lx87jf9zhm", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837598, - "completion_time": "2022-02-11T18:21:36.027126318Z", - "initial_balance": "6394765", - "shares_dst": "6394765.000000000000000000" - }, - "balance": "6394765" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jrv0gyrawdshdgc7q9qe8cdzme2jhaj6mhvzqj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722919, - "completion_time": "2022-02-03T15:58:21.621041101Z", - "initial_balance": "100000", - "shares_dst": "100000.000000000000000000" - }, - "balance": "100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jrwqjwwmpj34eyngw2he04q4ecf58duadeph4q", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736102, - "completion_time": "2022-02-04T14:22:39.754438117Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jrutzh40f3f48d5f6xeqavpvav57jh7z9qql9t", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683918, - "completion_time": "2022-01-31T22:12:04.788217298Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jrutzh40f3f48d5f6xeqavpvav57jh7z9qql9t", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683931, - "completion_time": "2022-01-31T22:13:23.110742651Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jyyxu69lhjcs3h8w08pyg6djs0j5525e0j4cyh", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692525, - "completion_time": "2022-02-01T12:44:51.411457483Z", - "initial_balance": "31000000", - "shares_dst": "31000000.000000000000000000" - }, - "balance": "31000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jyyxu69lhjcs3h8w08pyg6djs0j5525e0j4cyh", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692519, - "completion_time": "2022-02-01T12:44:15.575220457Z", - "initial_balance": "70911431", - "shares_dst": "70911431.000000000000000000" - }, - "balance": "70911431" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jyanwry3y9tyrda74rnakv67y0sw88f7f4tka2", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682002, - "completion_time": "2022-01-31T18:54:56.655054152Z", - "initial_balance": "23321986", - "shares_dst": "23321986.000000000000000000" - }, - "balance": "23321986" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j9rndmt7qggen4en9wkr4jseq2vthd0zvz47m6", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731578, - "completion_time": "2022-02-04T06:45:08.16484449Z", - "initial_balance": "100499999", - "shares_dst": "100499999.000000000000000000" - }, - "balance": "100499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jxxfprmqsdmtcadm7nga493062hjtncm6kc89g", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1677356, - "completion_time": "2022-01-31T10:58:47.288529756Z", - "initial_balance": "303837248", - "shares_dst": "303837248.000000000000000000" - }, - "balance": "303837248" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j8g5qjxdg3msskw8y5jts42vywdvfkg3d4aaev", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1743583, - "completion_time": "2022-02-05T03:46:26.852558963Z", - "initial_balance": "13010509", - "shares_dst": "13011810.165001806486848183" - }, - "balance": "13010509" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jg45530ykqnr4x234eh6k3u6pc2l84wjfxxz8k", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727547, - "completion_time": "2022-02-03T23:50:31.391394907Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jga6zy3cp4mmum80ncxl4hcky4upn2cxn58fnz", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796540, - "completion_time": "2022-02-08T21:17:17.557322238Z", - "initial_balance": "2033125100", - "shares_dst": "2033125100.000000000000000000" - }, - "balance": "2033125100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jga6zy3cp4mmum80ncxl4hcky4upn2cxn58fnz", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796527, - "completion_time": "2022-02-08T21:15:59.154463999Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jfrs6r5q9shj0w27ydm3gn86pa44fh9aar4fzh", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668642, - "completion_time": "2022-01-30T20:19:15.33527224Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jfrs6r5q9shj0w27ydm3gn86pa44fh9aar4fzh", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767418, - "completion_time": "2022-02-06T20:12:48.239444219Z", - "initial_balance": "300000", - "shares_dst": "300000.000000000000000000" - }, - "balance": "300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j2xehvrgqkczsxfv8wsr3yart24gvlxk3qcsaj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1704871, - "completion_time": "2022-02-02T09:32:02.633574939Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jt7zy43vnsdevs7lzgm4gqgqkc79jcwqasc647", - "validator_src_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789856, - "completion_time": "2022-02-08T10:02:15.143403405Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jvdvapt79dxmwr39c6uj037gjtll692w3r4fcc", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1665247, - "completion_time": "2022-01-30T14:35:33.812884588Z", - "initial_balance": "765000000", - "shares_dst": "765000000.000000000000000000" - }, - "balance": "765000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jw8nurnfm07zjz8uuc79k7gr2mh6w7yn3jkaly", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680676, - "completion_time": "2022-01-31T16:38:10.260068888Z", - "initial_balance": "145000000", - "shares_dst": "145000000.000000000000000000" - }, - "balance": "145000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jw8crxrr3sfrynl80er8984jw5et6nclltplct", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836930, - "completion_time": "2022-02-11T17:14:46.78597196Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jw8crxrr3sfrynl80er8984jw5et6nclltplct", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801364, - "completion_time": "2022-02-09T05:25:11.363131985Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jwtzz6vrgapunhauz0fek5uwgzjac2t9t44nfn", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649672, - "completion_time": "2022-01-29T12:21:51.666312769Z", - "initial_balance": "111977601", - "shares_dst": "111977601.000000000000000000" - }, - "balance": "111977601" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jw04jhy0wyth44zvspt8h5d2dv3uwjvh36htkw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668832, - "completion_time": "2022-01-30T20:38:19.937243516Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jwjzenhjua35xdegq9a6smcxxqrfu6dx2utyr8", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1841540, - "completion_time": "2022-02-12T00:59:15.53312205Z", - "initial_balance": "12423478", - "shares_dst": "12423478.000000000000000000" - }, - "balance": "12423478" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jwkkkc5tp8ql2jl23awp0kffw39qg2efzf8hwn", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1607826, - "completion_time": "2022-01-26T13:49:10.297908997Z", - "initial_balance": "27000000", - "shares_dst": "27000000.000000000000000000" - }, - "balance": "27000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j0yd66z8cestmequhfc06853a33du7p98vatr8", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722748, - "completion_time": "2022-02-03T15:41:02.992066269Z", - "initial_balance": "4250000000", - "shares_dst": "4250000000.000000000000000000" - }, - "balance": "4250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jsfqkeg2lfnevlv7nkjp84l5k3d9vyr2vyqx4d", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766103, - "completion_time": "2022-02-06T17:59:44.832587592Z", - "initial_balance": "99980000", - "shares_dst": "99980000.000000000000000000" - }, - "balance": "99980000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j3z2lah8c4ppfez9029224a7aptmt62693fuw8", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1735240, - "completion_time": "2022-02-04T12:54:58.227550618Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j3ugslrh4wpgtgd3qtnkwp3ye40kxtxhu4ser3", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1601348, - "completion_time": "2022-01-26T02:56:32.830598084Z", - "initial_balance": "308000000", - "shares_dst": "308000000.000000000000000000" - }, - "balance": "308000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jnqq29xygyaynssfct5yuh7d4np7ryrzhass46", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1598497, - "completion_time": "2022-01-25T22:09:26.894544546Z", - "initial_balance": "916974099", - "shares_dst": "916974099.000000000000000000" - }, - "balance": "916974099" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jnqq29xygyaynssfct5yuh7d4np7ryrzhass46", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1598521, - "completion_time": "2022-01-25T22:11:53.0439272Z", - "initial_balance": "109999999", - "shares_dst": "109999999.000000000000000000" - }, - "balance": "109999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jnzkgwcv07x5xa2c372c7sshy59qrxma7tnw2u", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833136, - "completion_time": "2022-02-11T10:53:08.893826309Z", - "initial_balance": "200000", - "shares_dst": "200020.001964058509682936" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jnrtnkpcrtwgqs2cljg9kjr8ujf20gw86vkklx", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740306, - "completion_time": "2022-02-04T21:53:31.629811099Z", - "initial_balance": "61963897", - "shares_dst": "61963897.000000000000000000" - }, - "balance": "61963897" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j5rtuhc22pnvg7vfvw54etwja4d6cyztm4v9ey", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830307, - "completion_time": "2022-02-11T06:09:56.83177902Z", - "initial_balance": "8810000000", - "shares_dst": "9171388750.602645594628031606" - }, - "balance": "8810000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j5g4cw4e8xwrn4yl02j7m5v50qcq2pya6cml2w", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1745319, - "completion_time": "2022-02-05T06:54:39.318148275Z", - "initial_balance": "109250000", - "shares_dst": "109250000.000000000000000000" - }, - "balance": "109250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j5l0tg7nxjj84hnkyyywph2avulyzyshdyg37c", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1629910, - "completion_time": "2022-01-28T03:04:33.734852998Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j486ekz7ksn4l7s2tlnnh9mexrex3nxz7ue80u", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725089, - "completion_time": "2022-02-03T19:38:48.212277845Z", - "initial_balance": "7000000000", - "shares_dst": "7000000000.000000000000000000" - }, - "balance": "7000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j486ekz7ksn4l7s2tlnnh9mexrex3nxz7ue80u", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725094, - "completion_time": "2022-02-03T19:39:18.443843024Z", - "initial_balance": "7000000000", - "shares_dst": "7000000000.000000000000000000" - }, - "balance": "7000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j486ekz7ksn4l7s2tlnnh9mexrex3nxz7ue80u", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725085, - "completion_time": "2022-02-03T19:38:24.229171808Z", - "initial_balance": "7400000000", - "shares_dst": "7400000000.000000000000000000" - }, - "balance": "7400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j4jqvz62s2zxm4hps9vk3jjxxu8vcg0tfjkgza", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653754, - "completion_time": "2022-01-29T19:15:46.399769013Z", - "initial_balance": "20997899", - "shares_dst": "20997899.000000000000000000" - }, - "balance": "20997899" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jkffp2s3yg7r4ar23f6cx5fccqysy3yj6px86x", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670769, - "completion_time": "2022-01-30T23:53:58.033720377Z", - "initial_balance": "5605014", - "shares_dst": "5605014.000000000000000000" - }, - "balance": "5605014" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jkcekecd4p62x8x0dt3wk7ec0v9d9d34w420e6", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812878, - "completion_time": "2022-02-10T00:54:38.04159752Z", - "initial_balance": "425696969", - "shares_dst": "425696969.000000000000000000" - }, - "balance": "425696969" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jhqheanw3utal0tw056nx5ty8r0kzq9j20dz2u", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686104, - "completion_time": "2022-02-01T01:55:07.507513698Z", - "initial_balance": "179000000", - "shares_dst": "179000000.000000000000000000" - }, - "balance": "179000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jcfy9vdn6eery7n79lzyvu8uwf0kxm80cd9yzl", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832800, - "completion_time": "2022-02-11T10:19:31.230272788Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jclnrs78f6cehz2gswhzkckc08mrzlm97evpd4", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643404, - "completion_time": "2022-01-29T01:51:49.387378833Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jclnrs78f6cehz2gswhzkckc08mrzlm97evpd4", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643383, - "completion_time": "2022-01-29T01:49:43.03580577Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jek3af3wfl7tc3y2rvrczrqdhjhtcsw9jrdghn", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738916, - "completion_time": "2022-02-04T19:26:20.051904556Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jek3af3wfl7tc3y2rvrczrqdhjhtcsw9jrdghn", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738898, - "completion_time": "2022-02-04T19:24:31.489994585Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jek3af3wfl7tc3y2rvrczrqdhjhtcsw9jrdghn", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738909, - "completion_time": "2022-02-04T19:25:38.383950649Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j6qw2y983rhnupece2k0v6jtw69qqlvt0atrwd", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1582569, - "completion_time": "2022-01-24T19:01:04.981465795Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jmg7rkgenesmay8dnhd4y60u5dhfwcndhh52m2", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669879, - "completion_time": "2022-01-30T22:24:07.97054501Z", - "initial_balance": "189980999", - "shares_dst": "189980999.000000000000000000" - }, - "balance": "189980999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jmg7rkgenesmay8dnhd4y60u5dhfwcndhh52m2", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669873, - "completion_time": "2022-01-30T22:23:31.707733307Z", - "initial_balance": "97500000", - "shares_dst": "97500000.000000000000000000" - }, - "balance": "97500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jmg7rkgenesmay8dnhd4y60u5dhfwcndhh52m2", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669885, - "completion_time": "2022-01-30T22:24:44.008554928Z", - "initial_balance": "189980999", - "shares_dst": "189980999.000000000000000000" - }, - "balance": "189980999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jus03f0nmj85rvv8kuvcy4g5zzgwx0xn403qyh", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817285, - "completion_time": "2022-02-10T08:17:58.907581196Z", - "initial_balance": "145000000", - "shares_dst": "145000000.000000000000000000" - }, - "balance": "145000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1j7lx8h7lejx6flervxens6dfkq55zkta8amq2k", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710413, - "completion_time": "2022-02-02T18:53:23.966097296Z", - "initial_balance": "138413526", - "shares_dst": "138413526.000000000000000000" - }, - "balance": "138413526" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1jlansk5dzdps0yzm75vry070ugfarkqdakrtrd", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738508, - "completion_time": "2022-02-04T18:44:57.948269096Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1npqla4aamg5lxtlzj396p5y6ng65q83y99t4zu", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "978000000", - "shares_dst": "978000000.000000000000000000" - }, - "balance": "978000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1npv60txjg8ep7qe2k5sv5ugpcpnxrs7u4g4exh", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1625975, - "completion_time": "2022-01-27T20:27:28.25295197Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1863103, - "completion_time": "2022-02-13T19:02:59.866530393Z", - "initial_balance": "10100000", - "shares_dst": "10100000.000000000000000000" - }, - "balance": "10100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1863146, - "completion_time": "2022-02-13T19:07:17.613323008Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1np49d5tl5dmezdzqycyunmzfgunku2cue7czu4", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1863120, - "completion_time": "2022-02-13T19:04:40.952251898Z", - "initial_balance": "75380000", - "shares_dst": "75395078.252776135606925112" - }, - "balance": "75380000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nzrfzwwgw79k4swefpepxmhdsjrujkx9rltqcg", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636579, - "completion_time": "2022-01-28T14:19:40.257944425Z", - "initial_balance": "300000", - "shares_dst": "300000.000000000000000000" - }, - "balance": "300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nzrfzwwgw79k4swefpepxmhdsjrujkx9rltqcg", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773635, - "completion_time": "2022-02-07T06:39:53.100587843Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nze934era3sp0m7f9q5x0fl05gaq8r5pfqexgk", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685699, - "completion_time": "2022-02-01T01:13:57.198835156Z", - "initial_balance": "42000000", - "shares_dst": "42000000.000000000000000000" - }, - "balance": "42000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nze934era3sp0m7f9q5x0fl05gaq8r5pfqexgk", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685729, - "completion_time": "2022-02-01T01:16:59.116887411Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nzuhq4ur946wxvkr5757fsrzav4vw7al4h928w", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640709, - "completion_time": "2022-01-28T21:19:01.771792753Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nzlca4pgh3zvl7jf8smfg7d90rs23yql3u6fl6", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649620, - "completion_time": "2022-01-29T12:16:38.522995845Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nr0tyv0tssvgdlka2g9hvv8u4shw0ljz5myfsh", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647447, - "completion_time": "2022-01-29T08:37:56.239587905Z", - "initial_balance": "46280742472", - "shares_dst": "46280742472.000000000000000000" - }, - "balance": "46280742472" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n9x6a2kr6vslpw0j84jumrjj6759agdlj935w8", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736245, - "completion_time": "2022-02-04T14:37:17.229228522Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n9f6hzz5fk978gz5se5srvr5r029vt8kawgqtr", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708303, - "completion_time": "2022-02-02T15:19:20.56411301Z", - "initial_balance": "270000000", - "shares_dst": "270000000.000000000000000000" - }, - "balance": "270000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nxj0cv05x3lwlu0w4av3narga0l3r8nwtne89t", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695500, - "completion_time": "2022-02-01T17:45:11.994648862Z", - "initial_balance": "19369999", - "shares_dst": "19369999.000000000000000000" - }, - "balance": "19369999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ngpu5aey2fafj2t5qfxxyvgn555amk0ugjpq2w", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680852, - "completion_time": "2022-01-31T16:56:06.011005468Z", - "initial_balance": "139000000", - "shares_dst": "139000000.000000000000000000" - }, - "balance": "139000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ngpu5aey2fafj2t5qfxxyvgn555amk0ugjpq2w", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680856, - "completion_time": "2022-01-31T16:56:29.659963222Z", - "initial_balance": "139000000", - "shares_dst": "139000000.000000000000000000" - }, - "balance": "139000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ngpu5aey2fafj2t5qfxxyvgn555amk0ugjpq2w", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680844, - "completion_time": "2022-01-31T16:55:17.574014907Z", - "initial_balance": "138999999", - "shares_dst": "138999999.000000000000000000" - }, - "balance": "138999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ngpu5aey2fafj2t5qfxxyvgn555amk0ugjpq2w", - "validator_src_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680860, - "completion_time": "2022-01-31T16:56:53.810885129Z", - "initial_balance": "138999999", - "shares_dst": "138999999.000000000000000000" - }, - "balance": "138999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ngpu5aey2fafj2t5qfxxyvgn555amk0ugjpq2w", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680848, - "completion_time": "2022-01-31T16:55:41.539909914Z", - "initial_balance": "138999999", - "shares_dst": "138999999.000000000000000000" - }, - "balance": "138999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nffxrer06tgkzlhzdxtz7efrqf0ykufrrqpque", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1753624, - "completion_time": "2022-02-05T21:01:13.994099358Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nffxrer06tgkzlhzdxtz7efrqf0ykufrrqpque", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1753629, - "completion_time": "2022-02-05T21:01:44.283851329Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ntnlhtmj26sll0w35kz8s26efdttxjhqgcxq7v", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838293, - "completion_time": "2022-02-11T19:31:18.105736365Z", - "initial_balance": "62438237", - "shares_dst": "62438237.000000000000000000" - }, - "balance": "62438237" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nvne4ssqvnrlasjcyuvzwyu4w7nynu74zrhpp8", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1764177, - "completion_time": "2022-02-06T14:45:52.090348361Z", - "initial_balance": "46500000", - "shares_dst": "46500000.000000000000000000" - }, - "balance": "46500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nvne4ssqvnrlasjcyuvzwyu4w7nynu74zrhpp8", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1764183, - "completion_time": "2022-02-06T14:46:27.429095558Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ndmzegs7dsz5jgm58yxut3lgazq7nzqqaqjt8l", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1761201, - "completion_time": "2022-02-06T09:45:32.190628196Z", - "initial_balance": "11000000", - "shares_dst": "11000000.000000000000000000" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ndmtqsu9durhy59rl0gmll5d5lx8y0rg3yz8u9", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833189, - "completion_time": "2022-02-11T10:58:25.611709049Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ndmtqsu9durhy59rl0gmll5d5lx8y0rg3yz8u9", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833196, - "completion_time": "2022-02-11T10:59:07.574855465Z", - "initial_balance": "199999", - "shares_dst": "199999.000000000000000000" - }, - "balance": "199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nwmndqjugaw092da8ajqla7fx3xlt5qfc8xjh6", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1603667, - "completion_time": "2022-01-26T06:50:14.646640418Z", - "initial_balance": "50205864", - "shares_dst": "50205864.000000000000000000" - }, - "balance": "50205864" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n0vevwvgc9q6uklm4qtxxtlevme20w0lud2pp6", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680731, - "completion_time": "2022-01-31T16:43:51.058099033Z", - "initial_balance": "1210000000", - "shares_dst": "1210000000.000000000000000000" - }, - "balance": "1210000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n03talkvarh3g2qfz4dj9ldjr4zkrwn29g4fqe", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731960, - "completion_time": "2022-02-04T07:23:46.648280989Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n03w047aed8dwn5ax648wsgsz903ht2wezast9", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822775, - "completion_time": "2022-02-10T17:30:40.980859728Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n03w047aed8dwn5ax648wsgsz903ht2wezast9", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1865083, - "completion_time": "2022-02-13T22:21:22.515475067Z", - "initial_balance": "500000", - "shares_dst": "500000.000000000000000000" - }, - "balance": "500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nj8rv0tg9x32kq9g49e82jmfcq7sv2evecqs9r", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769223, - "completion_time": "2022-02-06T23:15:22.58001091Z", - "initial_balance": "43999999", - "shares_dst": "43999999.000000000000000000" - }, - "balance": "43999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nj8rv0tg9x32kq9g49e82jmfcq7sv2evecqs9r", - "validator_src_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769226, - "completion_time": "2022-02-06T23:15:40.460821743Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nj8hqmlgzg2x04dw20qgszxup7368ptkkkk4gh", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681027, - "completion_time": "2022-01-31T17:14:05.567267979Z", - "initial_balance": "333330000", - "shares_dst": "333330000.000000000000000000" - }, - "balance": "333330000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1njgruqk87xand0pv8tkwgs3nyuysnhecjn0fk5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1660210, - "completion_time": "2022-01-30T06:08:11.371969333Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1njgruqk87xand0pv8tkwgs3nyuysnhecjn0fk5", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1660220, - "completion_time": "2022-01-30T06:09:11.37837905Z", - "initial_balance": "71000000", - "shares_dst": "71000000.000000000000000000" - }, - "balance": "71000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1njgruqk87xand0pv8tkwgs3nyuysnhecjn0fk5", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1660268, - "completion_time": "2022-01-30T06:13:59.582669627Z", - "initial_balance": "24000000", - "shares_dst": "24000000.000000000000000000" - }, - "balance": "24000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1njwd05hwurjsg5uetlefsp2yj23cdunm9lfp0k", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836954, - "completion_time": "2022-02-11T17:17:10.554270107Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1njwd05hwurjsg5uetlefsp2yj23cdunm9lfp0k", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801474, - "completion_time": "2022-02-09T05:36:13.746478728Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nn8xwfvlw0z8n3khtdamspt7rwr3z28sw9gscu", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653613, - "completion_time": "2022-01-29T19:01:32.551433192Z", - "initial_balance": "571799999", - "shares_dst": "571799999.000000000000000000" - }, - "balance": "571799999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nnhlu7j6r4e2efuaydyvdmqs5plp963eewcdag", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1849325, - "completion_time": "2022-02-12T16:07:55.936729582Z", - "initial_balance": "11000000", - "shares_dst": "11000000.000000000000000000" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n5f59seqr7x5sxcy86krrm5sjklp4670kgglg8", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731986, - "completion_time": "2022-02-04T07:26:24.532106853Z", - "initial_balance": "6380000000", - "shares_dst": "6380000000.000000000000000000" - }, - "balance": "6380000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nkgjpm529t0cefyw2ezzg7l8ar3tcs5f0t3rf8", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649430, - "completion_time": "2022-01-29T11:57:36.61305458Z", - "initial_balance": "139000000", - "shares_dst": "139055613.668298496297030760" - }, - "balance": "139000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nkgjpm529t0cefyw2ezzg7l8ar3tcs5f0t3rf8", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649389, - "completion_time": "2022-01-29T11:53:27.8931753Z", - "initial_balance": "140000000", - "shares_dst": "140000000.000000000000000000" - }, - "balance": "140000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nevrswxvenflzlqymn54n3nxvc4ug23q0pe660", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748756, - "completion_time": "2022-02-05T12:49:01.193523791Z", - "initial_balance": "1199889699", - "shares_dst": "1200489823.565902502956481581" - }, - "balance": "1199889699" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ne7h29slfxa5f062mfjglnrjp7kz89t8wua0de", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666574, - "completion_time": "2022-01-30T16:49:08.863170325Z", - "initial_balance": "2499000000", - "shares_dst": "2499000000.000000000000000000" - }, - "balance": "2499000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ne7h29slfxa5f062mfjglnrjp7kz89t8wua0de", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666589, - "completion_time": "2022-01-30T16:50:39.986319862Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n65unq7npfvpky0j9skn7sn3qsshrqytvxhyja", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779386, - "completion_time": "2022-02-07T16:21:12.331629529Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n65unq7npfvpky0j9skn7sn3qsshrqytvxhyja", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779379, - "completion_time": "2022-02-07T16:20:30.215130344Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653544, - "completion_time": "2022-01-29T18:54:29.248811025Z", - "initial_balance": "199960002", - "shares_dst": "199960002.000000000000000000" - }, - "balance": "199960002" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653523, - "completion_time": "2022-01-29T18:52:22.659537864Z", - "initial_balance": "249975000", - "shares_dst": "249975000.000000000000000000" - }, - "balance": "249975000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653531, - "completion_time": "2022-01-29T18:53:10.950741626Z", - "initial_balance": "159984000", - "shares_dst": "159984000.000000000000000000" - }, - "balance": "159984000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653609, - "completion_time": "2022-01-29T19:01:08.186953244Z", - "initial_balance": "450000000", - "shares_dst": "450000000.000000000000000000" - }, - "balance": "450000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653553, - "completion_time": "2022-01-29T18:55:22.786135839Z", - "initial_balance": "159994000", - "shares_dst": "159994000.000000000000000000" - }, - "balance": "159994000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653517, - "completion_time": "2022-01-29T18:51:46.822295595Z", - "initial_balance": "99989998", - "shares_dst": "99989998.000000000000000000" - }, - "balance": "99989998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653614, - "completion_time": "2022-01-29T19:01:39.719364643Z", - "initial_balance": "450000000", - "shares_dst": "450000000.000000000000000000" - }, - "balance": "450000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653604, - "completion_time": "2022-01-29T19:00:38.355730335Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653558, - "completion_time": "2022-01-29T18:55:53.078506433Z", - "initial_balance": "153041999", - "shares_dst": "153041999.000000000000000000" - }, - "balance": "153041999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nmznrjmstd6tmwke6h5cnjedcqgpxj3d7kpktu", - "validator_src_address": "secretvaloper1larnhgur2ts7hlhphmtk65c3qz6dt52y79szst", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653507, - "completion_time": "2022-01-29T18:50:46.293646947Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nuqprnq6v0ecg50z4jza9vlhn803mn97vufl86", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1763857, - "completion_time": "2022-02-06T14:13:35.432741946Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nur94tuxrjq9us79q3hkde8rgjn52tjjc5jcgy", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740607, - "completion_time": "2022-02-04T22:25:57.943916525Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nusz7frcwts7njcn2kz7hqrv457gpjwv408tk8", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742145, - "completion_time": "2022-02-05T01:13:26.554575848Z", - "initial_balance": "75000000", - "shares_dst": "75000000.000000000000000000" - }, - "balance": "75000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642123, - "completion_time": "2022-01-28T23:42:45.394932282Z", - "initial_balance": "34999999", - "shares_dst": "34999999.000000000000000000" - }, - "balance": "34999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642138, - "completion_time": "2022-01-28T23:44:17.523050622Z", - "initial_balance": "9998999", - "shares_dst": "9998999.000000000000000000" - }, - "balance": "9998999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642132, - "completion_time": "2022-01-28T23:43:41.373937476Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642142, - "completion_time": "2022-01-28T23:44:42.20631106Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642128, - "completion_time": "2022-01-28T23:43:15.661823352Z", - "initial_balance": "19996000", - "shares_dst": "19996000.000000000000000000" - }, - "balance": "19996000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7nhw0vu268gylt0xfgc3tz6c70u7jju5hn4zt", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642145, - "completion_time": "2022-01-28T23:45:00.094234559Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1n7upzv6ac09py907f74qd0cryqhpauk4lp0cvu", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655420, - "completion_time": "2022-01-29T22:04:24.317492197Z", - "initial_balance": "333700000", - "shares_dst": "333700000.000000000000000000" - }, - "balance": "333700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nlvj50tkgmzcj22n48q5qd6cr7s6h3ehtmcnvs", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694767, - "completion_time": "2022-02-01T16:31:11.970145273Z", - "initial_balance": "6900000", - "shares_dst": "6900000.000000000000000000" - }, - "balance": "6900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653571, - "completion_time": "2022-01-29T18:57:14.362687184Z", - "initial_balance": "4333304", - "shares_dst": "4333304.000000000000000000" - }, - "balance": "4333304" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653643, - "completion_time": "2022-01-29T19:04:34.114368435Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653595, - "completion_time": "2022-01-29T18:59:41.216088376Z", - "initial_balance": "5000000", - "shares_dst": "5000500.049470376923326886" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653607, - "completion_time": "2022-01-29T19:00:56.201402508Z", - "initial_balance": "4000000", - "shares_dst": "4000000.000000000000000000" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653637, - "completion_time": "2022-01-29T19:03:58.32094685Z", - "initial_balance": "2000000", - "shares_dst": "2000400.058486081832476930" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653667, - "completion_time": "2022-01-29T19:06:59.824928748Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653630, - "completion_time": "2022-01-29T19:03:16.086413513Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653658, - "completion_time": "2022-01-29T19:06:05.385051631Z", - "initial_balance": "2000000", - "shares_dst": "2000400.058870628861643201" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653674, - "completion_time": "2022-01-29T19:07:41.968939952Z", - "initial_balance": "4000000", - "shares_dst": "4000000.000000000000000000" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653589, - "completion_time": "2022-01-29T18:59:04.494695926Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nl045gfy9jc3av6j45mwtpjqg3jry4mxcyljuf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653649, - "completion_time": "2022-01-29T19:05:09.99589355Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nllnffudccy2f6wrfv4djaadsvqsr2la6fpamc", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1626234, - "completion_time": "2022-01-27T20:53:54.079594701Z", - "initial_balance": "29817417", - "shares_dst": "29820399.035314502899317959" - }, - "balance": "29817417" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1nllnffudccy2f6wrfv4djaadsvqsr2la6fpamc", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1626265, - "completion_time": "2022-01-27T20:57:01.452202709Z", - "initial_balance": "28023560", - "shares_dst": "28023560.000000000000000000" - }, - "balance": "28023560" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15pqnlrjzwzcax9xttmk8vtfzcm9a5danxa5ajs", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695831, - "completion_time": "2022-02-01T18:18:42.962515453Z", - "initial_balance": "207000000", - "shares_dst": "207000000.000000000000000000" - }, - "balance": "207000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15pku0vvhukw25dql6jy4cqyunvff66j4wkxye0", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854539, - "completion_time": "2022-02-13T02:39:24.132106899Z", - "initial_balance": "753797", - "shares_dst": "753797.000000000000000000" - }, - "balance": "753797" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15zpvdukwt2e0rdnqvm49fetyhqsscqv969sd9w", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710233, - "completion_time": "2022-02-02T18:35:09.484941008Z", - "initial_balance": "900000", - "shares_dst": "900000.000000000000000000" - }, - "balance": "900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15zkzt4f8e8yldd5x644k2vgpwat8ftmne8723p", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797582, - "completion_time": "2022-02-08T23:03:38.091229369Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15zkzt4f8e8yldd5x644k2vgpwat8ftmne8723p", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797371, - "completion_time": "2022-02-08T22:42:20.815802633Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15zkzt4f8e8yldd5x644k2vgpwat8ftmne8723p", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797562, - "completion_time": "2022-02-08T23:01:35.456937111Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15r87754z9vvwsm6a0u6um0v8jdf6dzm5plr8gz", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727888, - "completion_time": "2022-02-04T00:25:45.611300216Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - }, - { - "redelegation_entry": { - "creation_height": 1727950, - "completion_time": "2022-02-04T00:32:03.536864597Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15rknyn2q6rvwmj7hsdamf6lznvezz8pxdd6p7x", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1711875, - "completion_time": "2022-02-02T21:22:07.073675519Z", - "initial_balance": "101800000", - "shares_dst": "101800000.000000000000000000" - }, - "balance": "101800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15yp99423d06gksfc9alkuq805v778cja3apefx", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837515, - "completion_time": "2022-02-11T18:13:17.537130688Z", - "initial_balance": "6000000", - "shares_dst": "6000600.059687744008665542" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15yaz2q3k480uwqfmwalx9059vjmql7naxaskw6", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837115, - "completion_time": "2022-02-11T17:33:16.298210264Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret159vpfpg3ckwur54hr02kpzcentxl4ggflfwpg8", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1863412, - "completion_time": "2022-02-13T19:33:50.758094563Z", - "initial_balance": "238799999", - "shares_dst": "238799999.000000000000000000" - }, - "balance": "238799999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15958gnfqayr3eunp6vljkgp3mdf55pnuwgjlhc", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693806, - "completion_time": "2022-02-01T14:54:13.857142135Z", - "initial_balance": "841000000", - "shares_dst": "841000000.000000000000000000" - }, - "balance": "841000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1597rd825lnwfzruh7jy7zrud662t0xq3l40unq", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1598405, - "completion_time": "2022-01-25T21:59:59.891487419Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15x6n0nx0xu4zlqf5933h29dz9swdg2vr5gjsr2", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713520, - "completion_time": "2022-02-03T00:09:21.586560148Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15x6n0nx0xu4zlqf5933h29dz9swdg2vr5gjsr2", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713553, - "completion_time": "2022-02-03T00:12:43.025324187Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15xlal35rghlzm8xzghmvvkpew2wltrrc8e706q", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583525, - "completion_time": "2022-01-24T20:40:54.199347225Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15xlal35rghlzm8xzghmvvkpew2wltrrc8e706q", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583507, - "completion_time": "2022-01-24T20:39:04.294003015Z", - "initial_balance": "150699999", - "shares_dst": "150699999.000000000000000000" - }, - "balance": "150699999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1580g4r3j5t0220ms5ax58jht3627pc8r58fzdd", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637771, - "completion_time": "2022-01-28T16:21:06.889589566Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15gm66v00tera6cc8yxs284dcwarm8n4csfr32q", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726794, - "completion_time": "2022-02-03T22:32:08.221989697Z", - "initial_balance": "217979699", - "shares_dst": "217979699.000000000000000000" - }, - "balance": "217979699" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15gm66v00tera6cc8yxs284dcwarm8n4csfr32q", - "validator_src_address": "secretvaloper1larnhgur2ts7hlhphmtk65c3qz6dt52y79szst", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726978, - "completion_time": "2022-02-03T22:51:19.505572668Z", - "initial_balance": "20999999", - "shares_dst": "20999999.000000000000000000" - }, - "balance": "20999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15fsdsv6xg0cyc0xvw48zmra4r08ekp7fd69ddn", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1617569, - "completion_time": "2022-01-27T06:18:36.180352921Z", - "initial_balance": "2999999999", - "shares_dst": "2999999999.000000000000000000" - }, - "balance": "2999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15fsdsv6xg0cyc0xvw48zmra4r08ekp7fd69ddn", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1617562, - "completion_time": "2022-01-27T06:17:53.99074822Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15fmr4rc3nu9qetu6rk7akcetgg9hwx0xz8sdvl", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796252, - "completion_time": "2022-02-08T20:48:22.589829905Z", - "initial_balance": "600000000", - "shares_dst": "600000000.000000000000000000" - }, - "balance": "600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1529sda4jtxe9vyvd4ux9rg7kksvzg99vvhq8hx", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797357, - "completion_time": "2022-02-08T22:40:46.611646722Z", - "initial_balance": "67988199", - "shares_dst": "67988199.000000000000000000" - }, - "balance": "67988199" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1524kjm652lqshnplzd5r96z22mfvyzl840v8pp", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1862357, - "completion_time": "2022-02-13T17:47:23.70431087Z", - "initial_balance": "65000000", - "shares_dst": "65000000.000000000000000000" - }, - "balance": "65000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15vy5vtazehses4zckrw243tweclctqsgmv5kc3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636065, - "completion_time": "2022-01-28T13:27:24.014463721Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15vy5vtazehses4zckrw243tweclctqsgmv5kc3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731442, - "completion_time": "2022-02-04T06:31:17.536610867Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15vy5vtazehses4zckrw243tweclctqsgmv5kc3", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636037, - "completion_time": "2022-01-28T13:24:35.249328945Z", - "initial_balance": "44999999", - "shares_dst": "44999999.000000000000000000" - }, - "balance": "44999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15v9eur3td28zzp8sqca9z4vp2leh9yyjrz49vk", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795346, - "completion_time": "2022-02-08T19:16:20.97988583Z", - "initial_balance": "9500000", - "shares_dst": "9500000.000000000000000000" - }, - "balance": "9500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15vvz4upp4y86d2hyqcu4j4mfrj6ljhrx7m6kpk", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730863, - "completion_time": "2022-02-04T05:32:09.823251651Z", - "initial_balance": "10667934644", - "shares_dst": "10667934644.000000000000000000" - }, - "balance": "10667934644" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734681, - "completion_time": "2022-02-04T11:58:31.683105659Z", - "initial_balance": "249999997", - "shares_dst": "249999997.000000000000000000" - }, - "balance": "249999997" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734726, - "completion_time": "2022-02-04T12:03:01.615060869Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734823, - "completion_time": "2022-02-04T12:12:48.025790301Z", - "initial_balance": "31000001", - "shares_dst": "31000001.000000000000000000" - }, - "balance": "31000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734757, - "completion_time": "2022-02-04T12:06:10.001613552Z", - "initial_balance": "15999999", - "shares_dst": "15999999.000000000000000000" - }, - "balance": "15999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734837, - "completion_time": "2022-02-04T12:14:11.698316023Z", - "initial_balance": "49999999", - "shares_dst": "50020003.915771044670439711" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15d6q4u635cct3acu0t6wqenz4r9k2459vyvhhl", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734747, - "completion_time": "2022-02-04T12:05:09.59975284Z", - "initial_balance": "284000000", - "shares_dst": "284000000.000000000000000000" - }, - "balance": "284000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15wm6szjhaxm5ymf5g2qj630q44ydxds739grk0", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709228, - "completion_time": "2022-02-02T16:53:08.28400129Z", - "initial_balance": "15000000000", - "shares_dst": "15000000000.000000000000000000" - }, - "balance": "15000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1502ksu2dhfhnj7czuv5xgyuyx8dfxt59crd075", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734210, - "completion_time": "2022-02-04T11:11:01.371333834Z", - "initial_balance": "5061000000", - "shares_dst": "5061000000.000000000000000000" - }, - "balance": "5061000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret150vphq3xkx8cfhuyz9dueksm27wre83m4adrdg", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684752, - "completion_time": "2022-01-31T23:37:42.295329458Z", - "initial_balance": "600000000", - "shares_dst": "600060005.970886730487942212" - }, - "balance": "600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret150vphq3xkx8cfhuyz9dueksm27wre83m4adrdg", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1698716, - "completion_time": "2022-02-01T23:10:01.953480647Z", - "initial_balance": "217999999", - "shares_dst": "217999999.000000000000000000" - }, - "balance": "217999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1506h78laffs2vq46fqd7emzpgwayth2r2he9gh", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1790451, - "completion_time": "2022-02-08T11:02:11.418412826Z", - "initial_balance": "286000000", - "shares_dst": "286000000.000000000000000000" - }, - "balance": "286000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret153thsmp3jkt8j3vg5ndp7k6wm4n4amnsljklkn", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823524, - "completion_time": "2022-02-10T18:45:56.681485898Z", - "initial_balance": "147135106", - "shares_dst": "147135106.000000000000000000" - }, - "balance": "147135106" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1535eax69cg7njtdc7u8g8ue4ph7kaq82s5kpkl", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731347, - "completion_time": "2022-02-04T06:21:38.300678325Z", - "initial_balance": "100009998", - "shares_dst": "100009998.000000000000000000" - }, - "balance": "100009998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret154y8a33m3qgdyf036jws3xwg5qslxwuu4fku5a", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778007, - "completion_time": "2022-02-07T14:02:24.851315899Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - }, - { - "redelegation_entry": { - "creation_height": 1778253, - "completion_time": "2022-02-07T14:27:05.497866882Z", - "initial_balance": "2673000000", - "shares_dst": "2673000000.000000000000000000" - }, - "balance": "2673000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret154y8a33m3qgdyf036jws3xwg5qslxwuu4fku5a", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778260, - "completion_time": "2022-02-07T14:27:49.064713112Z", - "initial_balance": "214999999", - "shares_dst": "214999999.000000000000000000" - }, - "balance": "214999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1542mc5yggmkqt4qgr6n65kzpy4punwe8msje3m", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640371, - "completion_time": "2022-01-28T20:44:28.980360236Z", - "initial_balance": "292000000", - "shares_dst": "292000000.000000000000000000" - }, - "balance": "292000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret154d4e9zzac25m900wt4xt63erj2sdffrandhyx", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682359, - "completion_time": "2022-01-31T19:31:38.335122166Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15kzerjgs7vf9k507c03r47yr8kmjcmessm8l2y", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596460, - "completion_time": "2022-01-25T18:41:58.174793811Z", - "initial_balance": "54999999", - "shares_dst": "54999999.000000000000000000" - }, - "balance": "54999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15kzerjgs7vf9k507c03r47yr8kmjcmessm8l2y", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596500, - "completion_time": "2022-01-25T18:46:03.379247752Z", - "initial_balance": "62004542", - "shares_dst": "62004542.000000000000000000" - }, - "balance": "62004542" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15heqa8zslqcps4px3tsdr47fgsfvyh4z7dgh98", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726572, - "completion_time": "2022-02-03T22:09:16.899044875Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15heqa8zslqcps4px3tsdr47fgsfvyh4z7dgh98", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713074, - "completion_time": "2022-02-02T23:23:32.93288862Z", - "initial_balance": "9990000", - "shares_dst": "9990000.000000000000000000" - }, - "balance": "9990000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15c2236upsn5p0dfft50gxq554ve2j9x944xcp4", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767795, - "completion_time": "2022-02-06T20:51:07.653219658Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15c0a6cg0zzvr94q2cmg2ze79vvnj4dwnu8h4ld", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1616985, - "completion_time": "2022-01-27T05:19:42.693855033Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15c0a6cg0zzvr94q2cmg2ze79vvnj4dwnu8h4ld", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1616995, - "completion_time": "2022-01-27T05:20:43.589849478Z", - "initial_balance": "9999000", - "shares_dst": "9999000.000000000000000000" - }, - "balance": "9999000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15c6x7dc6hw3pnw0e8s7xdpjpj3p4yzumdyqe2k", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1756879, - "completion_time": "2022-02-06T02:29:02.957158885Z", - "initial_balance": "359009", - "shares_dst": "359080.812491754782249752" - }, - "balance": "359009" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15caqrysxlk9ctnwa8v78nazr3qt5z69hqu5xmj", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742266, - "completion_time": "2022-02-05T01:25:34.105604333Z", - "initial_balance": "1311100000", - "shares_dst": "1311100000.000000000000000000" - }, - "balance": "1311100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15et73r7gj9wxhav5q20tt5qpfxv2jp0uu85y98", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681037, - "completion_time": "2022-01-31T17:15:05.714594421Z", - "initial_balance": "179000000", - "shares_dst": "179000000.000000000000000000" - }, - "balance": "179000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15en8sl2rhwzx3rjx0yu5nqfcag0h5kcrgv84ps", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754815, - "completion_time": "2022-02-05T23:01:18.779401204Z", - "initial_balance": "1250000000", - "shares_dst": "1250000000.000000000000000000" - }, - "balance": "1250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret156mvlhfxq768tmfwx740vcdf4anfjua5drcg2w", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796821, - "completion_time": "2022-02-08T21:45:49.739494743Z", - "initial_balance": "251517216", - "shares_dst": "251517216.000000000000000000" - }, - "balance": "251517216" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15mqf3g8qrlv5a02hxrkh3vsj5tnpchg8wth82j", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687592, - "completion_time": "2022-02-01T04:27:04.470689794Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15mggfxy6n4w35nuka3yd4yv8wmt6u0ydcl9gw4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1865112, - "completion_time": "2022-02-13T22:24:15.581670284Z", - "initial_balance": "35856500", - "shares_dst": "35856500.000000000000000000" - }, - "balance": "35856500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15mggfxy6n4w35nuka3yd4yv8wmt6u0ydcl9gw4", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1865104, - "completion_time": "2022-02-13T22:23:28.060800212Z", - "initial_balance": "6300000", - "shares_dst": "6300000.000000000000000000" - }, - "balance": "6300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15up75q0zaacp9dhr4dzyj26va8z9ang48746ls", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1qjk5uduu3zg356chmstcp2eqgdn35jp3ztxh4x", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1610052, - "completion_time": "2022-01-26T17:34:19.935853939Z", - "initial_balance": "731000000", - "shares_dst": "369191882.408064009735152893" - }, - "balance": "731000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819743, - "completion_time": "2022-02-10T12:24:17.0685704Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819754, - "completion_time": "2022-02-10T12:25:23.441967346Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819766, - "completion_time": "2022-02-10T12:26:36.761865505Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819776, - "completion_time": "2022-02-10T12:27:36.56130407Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819786, - "completion_time": "2022-02-10T12:28:36.150388785Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819807, - "completion_time": "2022-02-10T12:30:41.685787756Z", - "initial_balance": "99999998", - "shares_dst": "99999998.000000000000000000" - }, - "balance": "99999998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15urqv90y5eftsnppaydyq8fnntnpn697gtr47c", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819816, - "completion_time": "2022-02-10T12:31:35.800174862Z", - "initial_balance": "61000000", - "shares_dst": "61000000.000000000000000000" - }, - "balance": "61000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15a9fd9z08esn7hp99xvnrl744uluvtkss9d7l0", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738048, - "completion_time": "2022-02-04T17:44:31.463225215Z", - "initial_balance": "197000000", - "shares_dst": "197000000.000000000000000000" - }, - "balance": "197000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15axc00xx2a9mp6vvm86d4yzkwmq878pup6nxw8", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649672, - "completion_time": "2022-01-29T12:21:51.666312769Z", - "initial_balance": "131973601", - "shares_dst": "131973601.000000000000000000" - }, - "balance": "131973601" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15an4vjwunsyt8gqsw4093d2v3347wnwsk0ds0z", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1840230, - "completion_time": "2022-02-11T22:47:29.855685231Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret15ak7a3anelln0dklvxn2wu6kznrw2jhm9eqqlm", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731687, - "completion_time": "2022-02-04T06:56:05.359290149Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret157z90gd97m5cs2sky7ddenvuvnjr7xyp69y4ar", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1841650, - "completion_time": "2022-02-12T01:10:35.562422332Z", - "initial_balance": "43657750", - "shares_dst": "43657750.000000000000000000" - }, - "balance": "43657750" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret157dkyz37fmahr4ma6dus2qk0yklylz338zapv5", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739543, - "completion_time": "2022-02-04T20:32:06.476382606Z", - "initial_balance": "256908686", - "shares_dst": "256908686.000000000000000000" - }, - "balance": "256908686" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14qrq5fckhdssftd5t7swgqxqecl8ndyrxpcsav", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732436, - "completion_time": "2022-02-04T08:12:10.09506713Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14r8q7xg3vwsp72ek946yyd8q3e4tnqsx30xczg", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper13uqgrre239d30wxxtsmvvym4w3klvqna0fe3qs", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821884, - "completion_time": "2022-02-10T16:00:44.080749999Z", - "initial_balance": "46000000", - "shares_dst": "46000000.000000000000000000" - }, - "balance": "46000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14r8q7xg3vwsp72ek946yyd8q3e4tnqsx30xczg", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821874, - "completion_time": "2022-02-10T15:59:41.553629119Z", - "initial_balance": "265576339", - "shares_dst": "265576339.000000000000000000" - }, - "balance": "265576339" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680807, - "completion_time": "2022-01-31T16:51:33.40033738Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680832, - "completion_time": "2022-01-31T16:54:04.379355279Z", - "initial_balance": "4500000", - "shares_dst": "4500000.000000000000000000" - }, - "balance": "4500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680791, - "completion_time": "2022-01-31T16:49:53.136647481Z", - "initial_balance": "15600000", - "shares_dst": "15600000.000000000000000000" - }, - "balance": "15600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680802, - "completion_time": "2022-01-31T16:50:58.592826937Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680785, - "completion_time": "2022-01-31T16:49:16.238592911Z", - "initial_balance": "17700000", - "shares_dst": "17700000.000000000000000000" - }, - "balance": "17700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680797, - "completion_time": "2022-01-31T16:50:28.883973076Z", - "initial_balance": "17000000", - "shares_dst": "17000000.000000000000000000" - }, - "balance": "17000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680824, - "completion_time": "2022-01-31T16:53:15.402926964Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14rd9t0rzktlx7llkrwcudeecjxfal9arvgdera", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680815, - "completion_time": "2022-01-31T16:52:21.178170877Z", - "initial_balance": "11999999", - "shares_dst": "11999999.000000000000000000" - }, - "balance": "11999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14xgdfdnpjtulj6p7rkc75ekxqjq8hc5curw7u3", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796492, - "completion_time": "2022-02-08T21:12:28.651135927Z", - "initial_balance": "436000000", - "shares_dst": "436087213.055926571740736371" - }, - "balance": "436000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1488ehzyd0s3jyylru2xdvu2p54gdkmcxf88e3j", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736328, - "completion_time": "2022-02-04T14:46:04.41018438Z", - "initial_balance": "12500000", - "shares_dst": "12500000.000000000000000000" - }, - "balance": "12500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret148uynz2ylsmt46emmajvxfwjny283pue8tqsnz", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804535, - "completion_time": "2022-02-09T10:45:01.266780733Z", - "initial_balance": "3992440000", - "shares_dst": "3992440000.000000000000000000" - }, - "balance": "3992440000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14fz8w5a9udtlv4qh9r6lf4gum7gy3m0yg86n8q", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1660242, - "completion_time": "2022-01-30T06:11:23.154329079Z", - "initial_balance": "696450500", - "shares_dst": "696729148.681875884137625360" - }, - "balance": "696450500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14fu259q9y575r2pr30588ucp5xpy6jzs7k2kjy", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1844236, - "completion_time": "2022-02-12T06:06:51.958405592Z", - "initial_balance": "538269444", - "shares_dst": "538269444.000000000000000000" - }, - "balance": "538269444" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret142qk04l9ly6nu6fzlfenl2f68r6w8kjgutynx9", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682566, - "completion_time": "2022-01-31T19:52:59.470446001Z", - "initial_balance": "20000000000", - "shares_dst": "20000000000.000000000000000000" - }, - "balance": "20000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret142qk04l9ly6nu6fzlfenl2f68r6w8kjgutynx9", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682553, - "completion_time": "2022-01-31T19:51:35.729044023Z", - "initial_balance": "19999999999", - "shares_dst": "19999999999.000000000000000000" - }, - "balance": "19999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret142r35sxwaskmn5hujmuwt5wusyh58rr2c9hgv0", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661964, - "completion_time": "2022-01-30T09:04:38.027200832Z", - "initial_balance": "2916100000", - "shares_dst": "2916100000.000000000000000000" - }, - "balance": "2916100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14tu7nnapjgmhzfky0qxl4v9jtah4guhsr0qnrt", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654265, - "completion_time": "2022-01-29T20:07:34.847709522Z", - "initial_balance": "4757000000", - "shares_dst": "4757000000.000000000000000000" - }, - "balance": "4757000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14v9ydnusz7tfrzk9l7em6due8jk0h88w39u3s7", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624596, - "completion_time": "2022-01-27T18:07:00.239208408Z", - "initial_balance": "350000000000", - "shares_dst": "350000000000.000000000000000000" - }, - "balance": "350000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14v6h248vatcsur9hwqjekvj7t6jd8anf8ykw4n", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842991, - "completion_time": "2022-02-12T03:43:50.248680415Z", - "initial_balance": "350000000", - "shares_dst": "350000000.000000000000000000" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14d0p6uz33cpzu53y8pjw34new9gpasul935yet", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837354, - "completion_time": "2022-02-11T17:57:05.296797261Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret140zjde6kgljvy238klpzdls096teqlh8wvj5z0", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1608895, - "completion_time": "2022-01-26T15:37:22.525950629Z", - "initial_balance": "14249999", - "shares_dst": "14249999.000000000000000000" - }, - "balance": "14249999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret140cm22awe54k0wmkeavmtp73d47gzfast29sgj", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832199, - "completion_time": "2022-02-11T09:19:24.683154292Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14svkslzptl4v8f8e9pxe3ydknmkq4jdqmmxu08", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1852565, - "completion_time": "2022-02-12T22:25:56.522181453Z", - "initial_balance": "53284425", - "shares_dst": "53284425.000000000000000000" - }, - "balance": "53284425" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14s0khxcz84vs727zzrn60mnlfymmrxrnzp5576", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1828017, - "completion_time": "2022-02-11T02:18:53.390640991Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14393hnrpjc9am8cc7dyrc4lvf9uccgjvazmlzw", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584189, - "completion_time": "2022-01-24T21:49:32.444100489Z", - "initial_balance": "200000000", - "shares_dst": "200080019.668897871078059105" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675232, - "completion_time": "2022-01-31T07:24:09.949290026Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675286, - "completion_time": "2022-01-31T07:29:39.751774596Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675261, - "completion_time": "2022-01-31T07:27:09.561593919Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675239, - "completion_time": "2022-01-31T07:24:51.72453086Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737994, - "completion_time": "2022-02-04T17:39:01.02450909Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675278, - "completion_time": "2022-01-31T07:28:52.253874213Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143nl9e54nkvpmqxu22ntnw3n29tt6za8us0yqs", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675336, - "completion_time": "2022-01-31T07:34:41.819059249Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret143kzr2qvu2kza4w0gkpnp8zjqq0k69qrnx8fxz", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1597040, - "completion_time": "2022-01-25T19:41:18.456122109Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14jundvu9p7xn2lja9cugs92efl3xh4cjk5s08q", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644041, - "completion_time": "2022-01-29T02:55:53.030774685Z", - "initial_balance": "11078800", - "shares_dst": "11195184.471176106927731087" - }, - "balance": "11078800" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret144zmkrymwm4ph3mcehlq9vs2xzefykyd2h62hy", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686440, - "completion_time": "2022-02-01T02:29:31.987960337Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680979, - "completion_time": "2022-01-31T17:09:05.944147333Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1639177, - "completion_time": "2022-01-28T18:44:04.003435944Z", - "initial_balance": "1000000000", - "shares_dst": "1000100009.842253798602681056" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1639139, - "completion_time": "2022-01-28T18:40:12.940501989Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1639148, - "completion_time": "2022-01-28T18:41:07.377593027Z", - "initial_balance": "1009000000", - "shares_dst": "1009100908.909579120317376688" - }, - "balance": "1009000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680965, - "completion_time": "2022-01-31T17:07:41.959922805Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1445f6e4pth3gplderwws95l6za38yp722a0w9y", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680974, - "completion_time": "2022-01-31T17:08:35.465075479Z", - "initial_balance": "2173967499", - "shares_dst": "2173967499.000000000000000000" - }, - "balance": "2173967499" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ks6s32ukxjkl0h7slgk9prnc468kr9p2azmdj", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692951, - "completion_time": "2022-02-01T13:27:42.676822765Z", - "initial_balance": "102000000", - "shares_dst": "102000000.000000000000000000" - }, - "balance": "102000000" - }, - { - "redelegation_entry": { - "creation_height": 1839595, - "completion_time": "2022-02-11T21:42:45.064196658Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14k75vkez9vttplgxkqzzr2xr0enr923q3gjllx", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668957, - "completion_time": "2022-01-30T20:51:00.610914355Z", - "initial_balance": "560019864", - "shares_dst": "560019864.000000000000000000" - }, - "balance": "560019864" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14k75vkez9vttplgxkqzzr2xr0enr923q3gjllx", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668910, - "completion_time": "2022-01-30T20:46:12.400081443Z", - "initial_balance": "595952340", - "shares_dst": "595952340.000000000000000000" - }, - "balance": "595952340" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14k75vkez9vttplgxkqzzr2xr0enr923q3gjllx", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668861, - "completion_time": "2022-01-30T20:41:16.085013164Z", - "initial_balance": "526989999", - "shares_dst": "526989999.000000000000000000" - }, - "balance": "526989999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14k75vkez9vttplgxkqzzr2xr0enr923q3gjllx", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668868, - "completion_time": "2022-01-30T20:41:58.172698241Z", - "initial_balance": "3502", - "shares_dst": "3502.000000000000000000" - }, - "balance": "3502" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14k75vkez9vttplgxkqzzr2xr0enr923q3gjllx", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668921, - "completion_time": "2022-01-30T20:47:19.360809619Z", - "initial_balance": "166997299", - "shares_dst": "166997299.000000000000000000" - }, - "balance": "166997299" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14h9sxz3fhx22t4mwdrm0j462alx8lnaz30vwr2", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724328, - "completion_time": "2022-02-03T18:21:11.996696361Z", - "initial_balance": "6528000000", - "shares_dst": "6528000000.000000000000000000" - }, - "balance": "6528000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14h9sxz3fhx22t4mwdrm0j462alx8lnaz30vwr2", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724340, - "completion_time": "2022-02-03T18:22:23.861955951Z", - "initial_balance": "540000000", - "shares_dst": "540000000.000000000000000000" - }, - "balance": "540000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14hxx79jy05h4dkcusz9hplxdrrnk4k85jaa7ec", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1604874, - "completion_time": "2022-01-26T08:51:35.438177569Z", - "initial_balance": "2500000", - "shares_dst": "2500000.000000000000000000" - }, - "balance": "2500000" - }, - { - "redelegation_entry": { - "creation_height": 1848529, - "completion_time": "2022-02-12T14:28:52.10835579Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14m05hswhwcr3kqlcsm2wct8cracrwer9q4c0ac", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1718651, - "completion_time": "2022-02-03T08:47:52.858328336Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14m05hswhwcr3kqlcsm2wct8cracrwer9q4c0ac", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1718129, - "completion_time": "2022-02-03T07:55:22.205847283Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - }, - { - "redelegation_entry": { - "creation_height": 1718145, - "completion_time": "2022-02-03T07:56:57.406974701Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - }, - { - "redelegation_entry": { - "creation_height": 1718187, - "completion_time": "2022-02-03T08:01:10.630968287Z", - "initial_balance": "15000000000", - "shares_dst": "15000000000.000000000000000000" - }, - "balance": "15000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14m05hswhwcr3kqlcsm2wct8cracrwer9q4c0ac", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1718643, - "completion_time": "2022-02-03T08:47:05.030852378Z", - "initial_balance": "13000000000", - "shares_dst": "13000000000.000000000000000000" - }, - "balance": "13000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14me3w7nfyp0ucptny3mcahn7ktdfz82zkm43dq", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1845868, - "completion_time": "2022-02-12T09:17:57.270378119Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ucq0yrm483lrvuux996p0ygdafur0xd3mk8um", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837233, - "completion_time": "2022-02-11T17:45:00.916529032Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812607, - "completion_time": "2022-02-10T00:27:29.342282916Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - }, - { - "redelegation_entry": { - "creation_height": 1812685, - "completion_time": "2022-02-10T00:35:20.918681044Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812679, - "completion_time": "2022-02-10T00:34:43.615787632Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812590, - "completion_time": "2022-02-10T00:25:47.478050213Z", - "initial_balance": "4999000000", - "shares_dst": "4999000000.000000000000000000" - }, - "balance": "4999000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812617, - "completion_time": "2022-02-10T00:28:29.623436929Z", - "initial_balance": "2239999999", - "shares_dst": "2239999999.000000000000000000" - }, - "balance": "2239999999" - }, - { - "redelegation_entry": { - "creation_height": 1812635, - "completion_time": "2022-02-10T00:30:18.451178221Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812646, - "completion_time": "2022-02-10T00:31:24.477953387Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret14ahefyghs5vg4gpuvd65zcdzt5qlzstfqnt6k4", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812695, - "completion_time": "2022-02-10T00:36:20.57025648Z", - "initial_balance": "259999999", - "shares_dst": "259999999.000000000000000000" - }, - "balance": "259999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret147nseqt4glwlqzww7vlvjul0mxk03hgtdcpw73", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1792561, - "completion_time": "2022-02-08T14:34:38.328736525Z", - "initial_balance": "21000000", - "shares_dst": "21000000.000000000000000000" - }, - "balance": "21000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1475sjtc43hy9kxee00r8cevav6xqfh78lxxmy5", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666975, - "completion_time": "2022-01-30T17:29:39.540297279Z", - "initial_balance": "35000000", - "shares_dst": "35000000.000000000000000000" - }, - "balance": "35000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1474t7wfqprkrzt05dut5t7crq9slsvy6r0pedp", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833791, - "completion_time": "2022-02-11T11:58:39.765663807Z", - "initial_balance": "5000000", - "shares_dst": "5052525.756901037376600188" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret147l6ml8xymdffxr3rlehv4hxzq069dc6vtn4sf", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1825202, - "completion_time": "2022-02-10T21:34:42.267309142Z", - "initial_balance": "9700000", - "shares_dst": "9700000.000000000000000000" - }, - "balance": "9700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kq7uqrxed3usmhvu4l4z7ers30yh0tlhha7pgu", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837185, - "completion_time": "2022-02-11T17:40:14.79890979Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kpmyzne9qx65w6s27mvndz7qpv2dr7vh48r3qc", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1802627, - "completion_time": "2022-02-09T07:32:20.510077856Z", - "initial_balance": "377000000", - "shares_dst": "377000000.000000000000000000" - }, - "balance": "377000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kzqy8rxwewkfzm6yandv4m689r5aqzfej3kgfx", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636374, - "completion_time": "2022-01-28T13:58:54.784502675Z", - "initial_balance": "57000000", - "shares_dst": "57000000.000000000000000000" - }, - "balance": "57000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kzqy8rxwewkfzm6yandv4m689r5aqzfej3kgfx", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636366, - "completion_time": "2022-01-28T13:58:06.189499738Z", - "initial_balance": "53082607", - "shares_dst": "53082607.000000000000000000" - }, - "balance": "53082607" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kzgdnq6urj2zv0nx83xgp44fxu9tfxhngxr2fe", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837510, - "completion_time": "2022-02-11T18:12:47.571268516Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1krdx4hf6d40r2kfwr3auc5xs9vffl0v3e3h0yz", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1799357, - "completion_time": "2022-02-09T02:02:17.410873616Z", - "initial_balance": "151000000", - "shares_dst": "151000000.000000000000000000" - }, - "balance": "151000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1krw0c86hlck7wfsjfxlcrej2ndc2qf0cev39xv", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731590, - "completion_time": "2022-02-04T06:46:19.848181017Z", - "initial_balance": "100500000", - "shares_dst": "100500000.000000000000000000" - }, - "balance": "100500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kr53uvtetpjz0efx6py228v8pnfq0chcue8wm6", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809106, - "completion_time": "2022-02-09T18:33:19.671690382Z", - "initial_balance": "45689680", - "shares_dst": "45689680.000000000000000000" - }, - "balance": "45689680" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kr6mre7wu8jnduk0tvgd2a03xdgza6c9cp2dv4", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686135, - "completion_time": "2022-02-01T01:58:18.261595083Z", - "initial_balance": "105000000", - "shares_dst": "105000000.000000000000000000" - }, - "balance": "105000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k9f3z8dlsz2rd2c2x3653dajufqag8yum0xn62", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1820176, - "completion_time": "2022-02-10T13:08:32.446073638Z", - "initial_balance": "5134722521", - "shares_dst": "5134722521.000000000000000000" - }, - "balance": "5134722521" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kxnujyzxqtwkqfq9axr49w3wgfewemeu8p56rx", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642325, - "completion_time": "2022-01-29T00:03:19.673017451Z", - "initial_balance": "114605905758", - "shares_dst": "114605905758.000000000000000000" - }, - "balance": "114605905758" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k8q3qlpla8y2tdy2cewm6uhfzw9c3d0pvuhlur", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1673488, - "completion_time": "2022-01-31T04:27:55.595148931Z", - "initial_balance": "71500000", - "shares_dst": "71500000.000000000000000000" - }, - "balance": "71500000" - }, - { - "redelegation_entry": { - "creation_height": 1681058, - "completion_time": "2022-01-31T17:17:11.807281143Z", - "initial_balance": "239981", - "shares_dst": "239981.000000000000000000" - }, - "balance": "239981" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k8zklwyxdq50aakvs2k0evavju3qflcal8fm8l", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750993, - "completion_time": "2022-02-05T16:35:41.61111735Z", - "initial_balance": "191208520", - "shares_dst": "191208520.000000000000000000" - }, - "balance": "191208520" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k89cc00maygklnr2penv8tuajsjynezp8sn9ul", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623498, - "completion_time": "2022-01-27T16:15:59.309992233Z", - "initial_balance": "1979300000", - "shares_dst": "1979300000.000000000000000000" - }, - "balance": "1979300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k8g0f9gq4sqpncdweuv04ahtllh4688gr9up3p", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1808242, - "completion_time": "2022-02-09T17:04:50.116589439Z", - "initial_balance": "2451800000", - "shares_dst": "2451800000.000000000000000000" - }, - "balance": "2451800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kg0vs4s4xmtaa5f7crksrvtze4ltthspkwkwpz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811054, - "completion_time": "2022-02-09T21:50:37.198900162Z", - "initial_balance": "279737440", - "shares_dst": "279737440.000000000000000000" - }, - "balance": "279737440" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kfqj73urmf27ry2amh65hwhc6n7cd2q09u8xqg", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695879, - "completion_time": "2022-02-01T18:23:32.898541113Z", - "initial_balance": "2940521442", - "shares_dst": "2940521442.000000000000000000" - }, - "balance": "2940521442" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kfqj73urmf27ry2amh65hwhc6n7cd2q09u8xqg", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695886, - "completion_time": "2022-02-01T18:24:14.996179577Z", - "initial_balance": "65407831", - "shares_dst": "65407831.000000000000000000" - }, - "balance": "65407831" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kfymptzatynlnrlvlukvd9lelxg9z0zkylxjqa", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1641963, - "completion_time": "2022-01-28T23:26:32.209553074Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kfymptzatynlnrlvlukvd9lelxg9z0zkylxjqa", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1641936, - "completion_time": "2022-01-28T23:23:50.509757702Z", - "initial_balance": "80000000", - "shares_dst": "80008000.787380303888214484" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kf0quem39kc5uvvjts2ujc8jxafl7t8tlehs42", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1853862, - "completion_time": "2022-02-13T01:20:15.933108859Z", - "initial_balance": "82120000", - "shares_dst": "82136426.443864390982956516" - }, - "balance": "82120000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ktxyjmu54azv2gmn3p2cn8yr38a6r4g5t5cea8", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612476, - "completion_time": "2022-01-26T21:41:57.481508528Z", - "initial_balance": "11109999", - "shares_dst": "11109999.000000000000000000" - }, - "balance": "11109999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ktjjm4fcyevj6zd6q4y7nv4wu9ap4kqyn5cjln", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829426, - "completion_time": "2022-02-11T04:41:27.663671217Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kv4pe6x5wt682uzka0wvc5ce37qq0xksrjhhrx", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1789440, - "completion_time": "2022-02-08T09:20:16.096742233Z", - "initial_balance": "404474699", - "shares_dst": "404555605.765171069955117524" - }, - "balance": "404474699" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k0g023z0zyj495fdym3eqjqeh43fal99gtkd8t", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750016, - "completion_time": "2022-02-05T14:56:45.642569998Z", - "initial_balance": "7000000", - "shares_dst": "7000700.068785050151331823" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k0wgvxupsvx8ydkk90mn8l23lfq7rxxw36m0a8", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773711, - "completion_time": "2022-02-07T06:47:37.550994769Z", - "initial_balance": "130000000", - "shares_dst": "130000000.000000000000000000" - }, - "balance": "130000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k07whu78z3qndqjrev6knqvfne7zwxxdfpqjsl", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832889, - "completion_time": "2022-02-11T10:28:27.012156927Z", - "initial_balance": "200000", - "shares_dst": "200000.000000000000000000" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kjyk39gqxqeh7xam6ejc7l3ng6edgsgntvjqpj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1694478, - "completion_time": "2022-02-01T16:01:57.685321117Z", - "initial_balance": "152745126", - "shares_dst": "152745126.000000000000000000" - }, - "balance": "152745126" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kjln0u2ntf9jh4ssfgs032mjxnq98ttj2vzytn", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832745, - "completion_time": "2022-02-11T10:14:01.213306977Z", - "initial_balance": "199999", - "shares_dst": "200019.001864048689390388" - }, - "balance": "199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1knf6af4aq752mys7tydmaehrgycmvlwurkp94l", - "validator_src_address": "secretvaloper1ukds25lm5jk3hgjn8m29n0c2q898gt6vz3am7j", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821576, - "completion_time": "2022-02-10T15:29:47.585790721Z", - "initial_balance": "131296685", - "shares_dst": "131296685.000000000000000000" - }, - "balance": "131296685" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k5k3tmac7uph5kyvk4ka3c3vwvmwsvjjuz4gze", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1770665, - "completion_time": "2022-02-07T01:40:31.637882013Z", - "initial_balance": "5899999", - "shares_dst": "5899999.000000000000000000" - }, - "balance": "5899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k572l8htt8uktgt5mrz8ena3rzyjt8rn2netlt", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850930, - "completion_time": "2022-02-12T19:29:49.115887796Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k572l8htt8uktgt5mrz8ena3rzyjt8rn2netlt", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850923, - "completion_time": "2022-02-12T19:29:06.712494848Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k47svpg6hptsypdrcymj676ttfafrkgh7y4vzn", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1633852, - "completion_time": "2022-01-28T09:42:06.890952384Z", - "initial_balance": "8000000000", - "shares_dst": "8000000000.000000000000000000" - }, - "balance": "8000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k47svpg6hptsypdrcymj676ttfafrkgh7y4vzn", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1633855, - "completion_time": "2022-01-28T09:42:25.42046217Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kk2c45fq4nyj74xwevaxppadgr3wvyt57gas3k", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741860, - "completion_time": "2022-02-05T00:42:26.17118591Z", - "initial_balance": "4999999999", - "shares_dst": "4999999999.000000000000000000" - }, - "balance": "4999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1khen9ntm6n2l9pl9lvy07526xamsrqgkk3vpkl", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1qjk5uduu3zg356chmstcp2eqgdn35jp3ztxh4x", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1610073, - "completion_time": "2022-01-26T17:36:27.722361601Z", - "initial_balance": "901000000", - "shares_dst": "455050459.712264942231700077" - }, - "balance": "901000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kecdnhf5ez78y7tpw3rqj9zv0zt02dn5atqg8p", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712946, - "completion_time": "2022-02-02T23:10:32.117632573Z", - "initial_balance": "106505809", - "shares_dst": "106505809.000000000000000000" - }, - "balance": "106505809" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kecdnhf5ez78y7tpw3rqj9zv0zt02dn5atqg8p", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712956, - "completion_time": "2022-02-02T23:11:32.079970316Z", - "initial_balance": "54272912", - "shares_dst": "54272912.000000000000000000" - }, - "balance": "54272912" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k6rau5zurzqgpux890apk5x389agcrv3jl4cnz", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737204, - "completion_time": "2022-02-04T16:16:43.704636304Z", - "initial_balance": "163700000", - "shares_dst": "165419693.281464352360050780" - }, - "balance": "163700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k6wt2cahf9gcm43jf20arn2cmg023pswdlu53j", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697984, - "completion_time": "2022-02-01T21:56:04.02474582Z", - "initial_balance": "23687986", - "shares_dst": "23687986.000000000000000000" - }, - "balance": "23687986" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k6wjzpmal3kvnq90w0j6jkkw9n83qmze83m5ay", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper13uqgrre239d30wxxtsmvvym4w3klvqna0fe3qs", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800098, - "completion_time": "2022-02-09T03:17:17.236825314Z", - "initial_balance": "9000000", - "shares_dst": "9000000.000000000000000000" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k6wjzpmal3kvnq90w0j6jkkw9n83qmze83m5ay", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1800114, - "completion_time": "2022-02-09T03:18:59.615952731Z", - "initial_balance": "9000000", - "shares_dst": "9001800.267934427036624877" - }, - "balance": "9000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k6l9g3ajsgy57upsvuwpwmezs6x7saqsfsmfrr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765800, - "completion_time": "2022-02-06T17:29:09.132975331Z", - "initial_balance": "3000000000", - "shares_dst": "3000000000.000000000000000000" - }, - "balance": "3000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kmmhny5xxrfcvv9v4jef65nar4acmj9z84udcd", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1590133, - "completion_time": "2022-01-25T07:59:16.974014644Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k77pc0ypczyg70xlnar4pga6t8a2m9xra94094", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681305, - "completion_time": "2022-01-31T17:43:01.89145849Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1k77pc0ypczyg70xlnar4pga6t8a2m9xra94094", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682357, - "completion_time": "2022-01-31T19:31:26.419483609Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1kl84a6lkkvd8w4twtan5hp0r6yq5lzp0mjhkdu", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1xerx6e9nfgff2wkjm2sdzmhnaxd35ulh4ym3xm", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1824103, - "completion_time": "2022-02-10T19:44:09.122948926Z", - "initial_balance": "54999999", - "shares_dst": "54999999.000000000000000000" - }, - "balance": "54999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hq8tlgq0kqz9e56532zghdhz7g8gtjym8pvejd", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696746, - "completion_time": "2022-02-01T19:51:35.845173941Z", - "initial_balance": "39999999", - "shares_dst": "39999999.000000000000000000" - }, - "balance": "39999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hq8tlgq0kqz9e56532zghdhz7g8gtjym8pvejd", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696729, - "completion_time": "2022-02-01T19:49:52.969898549Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - }, - { - "redelegation_entry": { - "creation_height": 1696753, - "completion_time": "2022-02-01T19:52:18.108226474Z", - "initial_balance": "36999999", - "shares_dst": "36999999.000000000000000000" - }, - "balance": "36999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hqaanlhydmwg3n548eu2gusqrtsgaq9gayv7c7", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738167, - "completion_time": "2022-02-04T18:00:25.853391648Z", - "initial_balance": "8599999", - "shares_dst": "8599999.000000000000000000" - }, - "balance": "8599999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hpu06eskr9ntt5yvcdpwf9aurv4quzu9x9nd4q", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837284, - "completion_time": "2022-02-11T17:50:06.366096085Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hz39exmjtexv2pc4wqchtm50f004hqa8dvzphs", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809231, - "completion_time": "2022-02-09T18:46:17.585928387Z", - "initial_balance": "290000000", - "shares_dst": "290000000.000000000000000000" - }, - "balance": "290000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hrvgren2ek5l8vf0ccmrpt52zxkqs9xfy7774z", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772682, - "completion_time": "2022-02-07T05:03:44.261208833Z", - "initial_balance": "1263750", - "shares_dst": "1263750.000000000000000000" - }, - "balance": "1263750" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hy3nmytw005vh6dr0lqseyhfnve40qrx3q9ymq", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596460, - "completion_time": "2022-01-25T18:41:58.174793811Z", - "initial_balance": "4500000000", - "shares_dst": "4500000000.000000000000000000" - }, - "balance": "4500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hy3nmytw005vh6dr0lqseyhfnve40qrx3q9ymq", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596467, - "completion_time": "2022-01-25T18:42:40.900942372Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hy3nmytw005vh6dr0lqseyhfnve40qrx3q9ymq", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596476, - "completion_time": "2022-01-25T18:43:36.702391097Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h99hrcc54ms9luwpex9kw0rwdt7etvfdxrrn4q", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1755461, - "completion_time": "2022-02-06T00:06:16.597685757Z", - "initial_balance": "270495460763", - "shares_dst": "270495460763.000000000000000000" - }, - "balance": "270495460763" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h9xsrktc8yy9jzzxxtx6ndqff275t3dqcn47fn", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836964, - "completion_time": "2022-02-11T17:18:10.25324599Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h9xsrktc8yy9jzzxxtx6ndqff275t3dqcn47fn", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801523, - "completion_time": "2022-02-09T05:41:07.710583659Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hxjj5pxwnfwhf4wf067xtvcq6mwhax8emzyp4s", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1626323, - "completion_time": "2022-01-27T21:02:51.81099993Z", - "initial_balance": "159000000", - "shares_dst": "159031804.681290834946036647" - }, - "balance": "159000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h8fl8r6v8u96hxsnk4l0sysx6sp2sykthkqpu4", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838243, - "completion_time": "2022-02-11T19:26:17.323891539Z", - "initial_balance": "3750000", - "shares_dst": "3750000.000000000000000000" - }, - "balance": "3750000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h8hk72dnf2ukm3gryms7nt5qeuh5npa8yrd2rg", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1qjk5uduu3zg356chmstcp2eqgdn35jp3ztxh4x", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647544, - "completion_time": "2022-01-29T08:47:38.738566138Z", - "initial_balance": "499900005098", - "shares_dst": "252474724893.229715184803307198" - }, - "balance": "499900005098" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hg8zznh44unkxq9tajxlnkent7e5yh8dmv7psz", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726991, - "completion_time": "2022-02-03T22:52:38.078300919Z", - "initial_balance": "190000", - "shares_dst": "190038.005678861985464589" - }, - "balance": "190000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hg8j2d9r60nvnqu9r5am8zx0hc3ye0zya3ed4m", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685997, - "completion_time": "2022-02-01T01:44:19.389074461Z", - "initial_balance": "12000000", - "shares_dst": "12002400.350905816294991484" - }, - "balance": "12000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hgwjfkaqw3hwhfmtp2ttxm450k60qlnv3le0az", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643764, - "completion_time": "2022-01-29T02:27:57.139668984Z", - "initial_balance": "16485596", - "shares_dst": "16485596.000000000000000000" - }, - "balance": "16485596" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hgc59sg52v9jpn202cw2mxram6h896fpz4yap5", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602329, - "completion_time": "2022-01-26T04:35:18.878494028Z", - "initial_balance": "14485000000", - "shares_dst": "14485000000.000000000000000000" - }, - "balance": "14485000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hf8yqclk32ukdfk8afhg2fzry25ur7x8kpdwe9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1857120, - "completion_time": "2022-02-13T07:36:32.096853605Z", - "initial_balance": "100100000", - "shares_dst": "100110010.982826760677465919" - }, - "balance": "100100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hfga2wfmawrktvygkdg57cd5s3dpymyg80hzyu", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766578, - "completion_time": "2022-02-06T18:47:40.633414346Z", - "initial_balance": "200200000", - "shares_dst": "200200000.000000000000000000" - }, - "balance": "200200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hf4wqh86wa8jf4qkaqdeathdfa82kvj9da4637", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686978, - "completion_time": "2022-02-01T03:24:37.694239977Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hf4wqh86wa8jf4qkaqdeathdfa82kvj9da4637", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686985, - "completion_time": "2022-02-01T03:25:20.065556099Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hv8h7xm8gq2gf6ppdylhydmhz64zssuknxff8d", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1622503, - "completion_time": "2022-01-27T14:35:14.063847578Z", - "initial_balance": "9500000", - "shares_dst": "9500000.000000000000000000" - }, - "balance": "9500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hv6zqtp67gl8ttk652mspx8z6fx0z055dv2lhj", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837346, - "completion_time": "2022-02-11T17:56:17.297075835Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hd2gy53k6vfvhpf0wz3djxhsdnyw22d90gwgdk", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748590, - "completion_time": "2022-02-05T12:31:43.377837765Z", - "initial_balance": "5911937", - "shares_dst": "5911937.000000000000000000" - }, - "balance": "5911937" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hd2gy53k6vfvhpf0wz3djxhsdnyw22d90gwgdk", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748603, - "completion_time": "2022-02-05T12:33:02.745018347Z", - "initial_balance": "74999999", - "shares_dst": "74999999.000000000000000000" - }, - "balance": "74999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hd4jyg7juu3kt33h5maak4nz036kejfza32ya9", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837119, - "completion_time": "2022-02-11T17:33:39.96276656Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hdkuxqra7m7c0txrp43gaavtvdttt26qvfavk2", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690024, - "completion_time": "2022-02-01T08:32:09.182493996Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h0qwpv0l2spu7h988dvh92q0v08gkkwsj8730d", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1841345, - "completion_time": "2022-02-12T00:39:46.639690011Z", - "initial_balance": "381000000", - "shares_dst": "381076211.339258649245589648" - }, - "balance": "381000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h092zzyxwwxa39h8wml7h27c930g5wd757slkf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1612404, - "completion_time": "2022-01-26T21:34:31.921701826Z", - "initial_balance": "5500000000", - "shares_dst": "5500000000.000000000000000000" - }, - "balance": "5500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h05mvwshmuv72ak03js7y0s9e9skks3qfutdfg", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772022, - "completion_time": "2022-02-07T03:57:23.127002304Z", - "initial_balance": "6900000", - "shares_dst": "6900000.000000000000000000" - }, - "balance": "6900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hszzyvwkvdpj7ygx0ch54pk7xyua0cmthcrtk7", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635175, - "completion_time": "2022-01-28T11:56:42.034232385Z", - "initial_balance": "23500000", - "shares_dst": "23500000.000000000000000000" - }, - "balance": "23500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hs54pxljm4kxxyy7ktj09ak8af0ztylmt47vnx", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729903, - "completion_time": "2022-02-04T03:54:19.913902504Z", - "initial_balance": "1558749999", - "shares_dst": "1558749999.000000000000000000" - }, - "balance": "1558749999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hsh9z06354ffeemz6pkp0w96dn20hk4ruavnqs", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1651109, - "completion_time": "2022-01-29T14:47:05.896165826Z", - "initial_balance": "250000000", - "shares_dst": "250000000.000000000000000000" - }, - "balance": "250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hjj4q2hawweckyey62mcm4hdalvjx4lq3q2f9q", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731630, - "completion_time": "2022-02-04T06:50:21.832860074Z", - "initial_balance": "100499999", - "shares_dst": "100499999.000000000000000000" - }, - "balance": "100499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hn9lkx8k6mrc9fghc64pmz98p7hrdxzfr4rfvv", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1659534, - "completion_time": "2022-01-30T05:00:01.446841929Z", - "initial_balance": "38494137", - "shares_dst": "38494137.000000000000000000" - }, - "balance": "38494137" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hn8pcknxfuaz3krgj3nvt30mje4tmupw2lhwk2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736200, - "completion_time": "2022-02-04T14:32:38.296200461Z", - "initial_balance": "2600000", - "shares_dst": "2600000.000000000000000000" - }, - "balance": "2600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h599afmzwgjnmlelu5pt6zunm2trjlmfmy6qd4", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1651821, - "completion_time": "2022-01-29T15:59:16.346239684Z", - "initial_balance": "399999999", - "shares_dst": "399999999.000000000000000000" - }, - "balance": "399999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h59jmghfx25d6ealvsdz7vynvrmx7wfrxs8nkp", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1743342, - "completion_time": "2022-02-05T03:21:48.164637708Z", - "initial_balance": "259000000", - "shares_dst": "259000000.000000000000000000" - }, - "balance": "259000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h5jt0lu0p5pnnt670na9cf7hsv89e2a20ksheu", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687854, - "completion_time": "2022-02-01T04:53:56.099351087Z", - "initial_balance": "97990199", - "shares_dst": "97990199.000000000000000000" - }, - "balance": "97990199" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h5am6wm0zx3s08t6k39mcdlkwpwc0w96ac8que", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731725, - "completion_time": "2022-02-04T06:59:55.354449078Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h42tlk56ewxazclkjg3cuhw8zspt7h44f7c4jh", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731512, - "completion_time": "2022-02-04T06:38:30.278880599Z", - "initial_balance": "86999999", - "shares_dst": "86999999.000000000000000000" - }, - "balance": "86999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h42tlk56ewxazclkjg3cuhw8zspt7h44f7c4jh", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731508, - "completion_time": "2022-02-04T06:38:06.360677708Z", - "initial_balance": "14699999", - "shares_dst": "14699999.000000000000000000" - }, - "balance": "14699999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hkde6a28q2k0s2jkap8y95fg4r39fwvde7las5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730077, - "completion_time": "2022-02-04T04:11:59.341065381Z", - "initial_balance": "1005900000", - "shares_dst": "1005900000.000000000000000000" - }, - "balance": "1005900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hkcttctrz8gwfnn0tfg93lpwuc5rmqtjmyv27x", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1785653, - "completion_time": "2022-02-08T02:57:42.080085535Z", - "initial_balance": "4000000000", - "shares_dst": "4000000000.000000000000000000" - }, - "balance": "4000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hhqe8dsvs587ld650c4xrzkle4nvhgg2h77482", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854585, - "completion_time": "2022-02-13T02:44:03.522039482Z", - "initial_balance": "9999999999", - "shares_dst": "9999999999.000000000000000000" - }, - "balance": "9999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hhqe8dsvs587ld650c4xrzkle4nvhgg2h77482", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854530, - "completion_time": "2022-02-13T02:37:33.889669889Z", - "initial_balance": "16150000001", - "shares_dst": "16150000001.000000000000000000" - }, - "balance": "16150000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hcc98dwrsnl9wpvu45aftskq0da5aahc5ft3qy", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670229, - "completion_time": "2022-01-30T22:59:28.93378349Z", - "initial_balance": "5296505300", - "shares_dst": "5296505300.000000000000000000" - }, - "balance": "5296505300" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hcc98dwrsnl9wpvu45aftskq0da5aahc5ft3qy", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670224, - "completion_time": "2022-01-30T22:58:57.625190665Z", - "initial_balance": "6047528599", - "shares_dst": "6047528599.000000000000000000" - }, - "balance": "6047528599" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hcc98dwrsnl9wpvu45aftskq0da5aahc5ft3qy", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670238, - "completion_time": "2022-01-30T23:00:22.880912742Z", - "initial_balance": "5187000000", - "shares_dst": "5187000000.000000000000000000" - }, - "balance": "5187000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hcc98dwrsnl9wpvu45aftskq0da5aahc5ft3qy", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670233, - "completion_time": "2022-01-30T22:59:52.639994294Z", - "initial_balance": "638000000", - "shares_dst": "638000000.000000000000000000" - }, - "balance": "638000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630330, - "completion_time": "2022-01-28T03:46:54.697998021Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630486, - "completion_time": "2022-01-28T04:02:35.781664124Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper19gaqfv4zc76mkklvuql4p7jjwuw5w0604sej43", - "validator_dst_address": "secretvaloper1uzskqhqmahu52vg4vazdzmphe8rx94ntt4alzg", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630411, - "completion_time": "2022-01-28T03:55:02.885602468Z", - "initial_balance": "10000000000", - "shares_dst": "10000000000.000000000000000000" - }, - "balance": "10000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630438, - "completion_time": "2022-01-28T03:57:46.773991183Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1uzskqhqmahu52vg4vazdzmphe8rx94ntt4alzg", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630406, - "completion_time": "2022-01-28T03:54:32.667870376Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1uzskqhqmahu52vg4vazdzmphe8rx94ntt4alzg", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630388, - "completion_time": "2022-01-28T03:52:43.155432246Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630430, - "completion_time": "2022-01-28T03:56:57.585527063Z", - "initial_balance": "15115875316", - "shares_dst": "15115875316.000000000000000000" - }, - "balance": "15115875316" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630346, - "completion_time": "2022-01-28T03:48:30.848269901Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630458, - "completion_time": "2022-01-28T03:59:46.491852084Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630267, - "completion_time": "2022-01-28T03:40:31.639501813Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630434, - "completion_time": "2022-01-28T03:57:21.594561088Z", - "initial_balance": "12000000000", - "shares_dst": "12000000000.000000000000000000" - }, - "balance": "12000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630462, - "completion_time": "2022-01-28T04:00:10.338252882Z", - "initial_balance": "8000000001", - "shares_dst": "8000000001.000000000000000000" - }, - "balance": "8000000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630321, - "completion_time": "2022-01-28T03:45:59.431112102Z", - "initial_balance": "5000000000", - "shares_dst": "5002000491.681516263867005225" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630263, - "completion_time": "2022-01-28T03:40:07.608201351Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630479, - "completion_time": "2022-01-28T04:01:53.123806739Z", - "initial_balance": "7999200007", - "shares_dst": "7999200007.000000000000000000" - }, - "balance": "7999200007" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630305, - "completion_time": "2022-01-28T03:44:23.300276783Z", - "initial_balance": "4996000311", - "shares_dst": "4996000311.000000000000000000" - }, - "balance": "4996000311" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630313, - "completion_time": "2022-01-28T03:45:11.150466005Z", - "initial_balance": "4999499999", - "shares_dst": "5001500290.631948013904315271" - }, - "balance": "4999499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hed63muxwkpxulmz0ru52grqkmzs80kq5gqvdd", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630340, - "completion_time": "2022-01-28T03:47:54.444543501Z", - "initial_balance": "5000000003", - "shares_dst": "5000000003.000000000000000000" - }, - "balance": "5000000003" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h6pkyt97tc9dlktv0ygzc95ja3w0chq4cresxq", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593316, - "completion_time": "2022-01-25T13:20:27.161648625Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h6pkyt97tc9dlktv0ygzc95ja3w0chq4cresxq", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593321, - "completion_time": "2022-01-25T13:20:57.027554618Z", - "initial_balance": "189000000", - "shares_dst": "189000000.000000000000000000" - }, - "balance": "189000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hmagpyup7m8yse2vre7spz8re33k5mxj79nptd", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1625054, - "completion_time": "2022-01-27T18:53:30.709978183Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hmagpyup7m8yse2vre7spz8re33k5mxj79nptd", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669050, - "completion_time": "2022-01-30T21:00:27.524429488Z", - "initial_balance": "306000000", - "shares_dst": "306000000.000000000000000000" - }, - "balance": "306000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hu2d9chs22tpfsqmfdtqtz3ca6ejpsnn6x5vnu", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769361, - "completion_time": "2022-02-06T23:29:15.806437851Z", - "initial_balance": "14500000", - "shares_dst": "14500000.000000000000000000" - }, - "balance": "14500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hu5grm3sdh2jdt4fyhwqzxdfaeq3z3v4xdqxe0", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838957, - "completion_time": "2022-02-11T20:38:04.624224718Z", - "initial_balance": "566000000", - "shares_dst": "566000000.000000000000000000" - }, - "balance": "566000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ha9zs7fgqt729glf3qy8h6cqzz6gu4akgmcnhq", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731713, - "completion_time": "2022-02-04T06:58:41.310009726Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ha5s2smkavmjmj7vrmmkc4xzyvyk39fw6tn5ct", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721129, - "completion_time": "2022-02-03T12:57:02.998201788Z", - "initial_balance": "30999999", - "shares_dst": "31003099.304633790820755436" - }, - "balance": "30999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hakldl3fta8akshnkg8tled6xmts043nlax6ka", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655062, - "completion_time": "2022-01-29T21:28:11.590673103Z", - "initial_balance": "90000000", - "shares_dst": "90000000.000000000000000000" - }, - "balance": "90000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1pujrvwt9xve0u0t472x5wm0lf5r37thakp7pvw", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657795, - "completion_time": "2022-01-30T02:03:39.778748481Z", - "initial_balance": "1590000000", - "shares_dst": "1590000000.000000000000000000" - }, - "balance": "1590000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657728, - "completion_time": "2022-01-30T01:56:55.590349424Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657741, - "completion_time": "2022-01-30T01:58:13.441002235Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657753, - "completion_time": "2022-01-30T01:59:25.709829559Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657812, - "completion_time": "2022-01-30T02:05:21.265557526Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657762, - "completion_time": "2022-01-30T02:00:20.71931388Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657870, - "completion_time": "2022-01-30T02:11:15.940605779Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1h7xycunpf74pj897hamr70slhzu6qpnlrx43uu", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657783, - "completion_time": "2022-01-30T02:02:28.192275435Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hlvk0nxncn68uaudrrgdhpj3gnm9dj67fsc2s3", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1848200, - "completion_time": "2022-02-12T13:53:13.16611164Z", - "initial_balance": "5000000", - "shares_dst": "5000500.049098390373326438" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1hlvk0nxncn68uaudrrgdhpj3gnm9dj67fsc2s3", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1848208, - "completion_time": "2022-02-12T13:54:02.156763303Z", - "initial_balance": "5100000", - "shares_dst": "5100000.000000000000000000" - }, - "balance": "5100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cqffmjzmkkwhrpggcqpke7wjckgw4r84hr8csv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1676809, - "completion_time": "2022-01-31T10:03:22.249857507Z", - "initial_balance": "154993532", - "shares_dst": "155024535.325574931783156712" - }, - "balance": "154993532" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cps7zppyn3l043yf6adm6te4qq9z808pnc5qr3", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645946, - "completion_time": "2022-01-29T06:07:07.620238347Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cps7zppyn3l043yf6adm6te4qq9z808pnc5qr3", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645950, - "completion_time": "2022-01-29T06:07:32.241006747Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cpayte9p477qpj07swt4wm3jp3nvnxy2dr4zyy", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1871716, - "completion_time": "2022-02-14T09:22:07.947061925Z", - "initial_balance": "24000000", - "shares_dst": "24000000.000000000000000000" - }, - "balance": "24000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1czqjclpr6lwg6jps2g8yxlksrjtehtxmn3wwfq", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837206, - "completion_time": "2022-02-11T17:42:19.510221228Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1czjfgg48sqfqs0cdmhzal843u2swpxr0z2m5rm", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1598079, - "completion_time": "2022-01-25T21:27:01.240925554Z", - "initial_balance": "586411375", - "shares_dst": "586411375.000000000000000000" - }, - "balance": "586411375" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cr28cf8jpnljtl2mngqglghc2q57nvc36jzvwm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1799621, - "completion_time": "2022-02-09T02:29:07.634149954Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1crdl0w9gp95e85unjd8pj5y32jrgtvmp09km5t", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1651115, - "completion_time": "2022-01-29T14:47:47.158136043Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1crdl0w9gp95e85unjd8pj5y32jrgtvmp09km5t", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1651106, - "completion_time": "2022-01-29T14:46:46.436805935Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1crdl0w9gp95e85unjd8pj5y32jrgtvmp09km5t", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1651128, - "completion_time": "2022-01-29T14:49:07.396033529Z", - "initial_balance": "56710747", - "shares_dst": "56710747.000000000000000000" - }, - "balance": "56710747" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cr53rkr4m276n39zgwfls7kusytg5c8pztwhmj", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1720879, - "completion_time": "2022-02-03T12:31:42.200065138Z", - "initial_balance": "329999999", - "shares_dst": "329999999.000000000000000000" - }, - "balance": "329999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cr53rkr4m276n39zgwfls7kusytg5c8pztwhmj", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721109, - "completion_time": "2022-02-03T12:55:02.416205844Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cygwtzsvsp27njmg3prf3gqfc7al47gj8sh8z2", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692498, - "completion_time": "2022-02-01T12:42:08.603608333Z", - "initial_balance": "37601479", - "shares_dst": "37609000.416270040651286933" - }, - "balance": "37601479" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c9xpwymnlvq9gxagheykj8rqj87w8wne0x3fcd", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1792468, - "completion_time": "2022-02-08T14:25:18.396375698Z", - "initial_balance": "94169556", - "shares_dst": "94169556.000000000000000000" - }, - "balance": "94169556" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c8jf2fsjvzfp0xu94nnwxspcpdygev2lsk29v2", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681588, - "completion_time": "2022-01-31T18:12:03.404402096Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cg9stetmpf2ag0ec592us9das0psuqqhlsl2uu", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797846, - "completion_time": "2022-02-08T23:30:10.364736327Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cgthxy0m583rav8eqcuakc6vj5qess4l58hrc3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1805451, - "completion_time": "2022-02-09T12:16:55.048765877Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cgdqfxsxtyupaswwy60n7qegnr3qz54xag29sd", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773318, - "completion_time": "2022-02-07T06:08:00.610963833Z", - "initial_balance": "53000000", - "shares_dst": "53010601.584047715255713050" - }, - "balance": "53000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfgsgxpryk32x70vtzu9pfs66jxzdpcqgeaxmh", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602497, - "completion_time": "2022-01-26T04:52:05.288056882Z", - "initial_balance": "11877000000", - "shares_dst": "11877000000.000000000000000000" - }, - "balance": "11877000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfgsgxpryk32x70vtzu9pfs66jxzdpcqgeaxmh", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1688712, - "completion_time": "2022-02-01T06:20:35.481378207Z", - "initial_balance": "6264032012", - "shares_dst": "6264032012.000000000000000000" - }, - "balance": "6264032012" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfgsgxpryk32x70vtzu9pfs66jxzdpcqgeaxmh", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602491, - "completion_time": "2022-01-26T04:51:27.751240083Z", - "initial_balance": "7338213974", - "shares_dst": "7338213974.000000000000000000" - }, - "balance": "7338213974" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfgsgxpryk32x70vtzu9pfs66jxzdpcqgeaxmh", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1715693, - "completion_time": "2022-02-03T03:50:45.323413957Z", - "initial_balance": "12625758503", - "shares_dst": "12625758503.000000000000000000" - }, - "balance": "12625758503" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cffrhp203p8k6za80hgssxagp0dsugf4dqspxd", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742034, - "completion_time": "2022-02-05T01:02:14.116868099Z", - "initial_balance": "3000000", - "shares_dst": "3000000.000000000000000000" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfh3h43m8veg03vnl2k6afdvksuq0m2z69l4yu", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779305, - "completion_time": "2022-02-07T16:13:03.291031921Z", - "initial_balance": "116000000", - "shares_dst": "116000000.000000000000000000" - }, - "balance": "116000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfmxaf2w87gnhwj7h30rlu8nmswgkf8m8ssqxy", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1695819, - "completion_time": "2022-02-01T18:17:31.317578097Z", - "initial_balance": "10700000", - "shares_dst": "10700000.000000000000000000" - }, - "balance": "10700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cfmxaf2w87gnhwj7h30rlu8nmswgkf8m8ssqxy", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1696329, - "completion_time": "2022-02-01T19:09:09.868513229Z", - "initial_balance": "4999999", - "shares_dst": "4999999.000000000000000000" - }, - "balance": "4999999" - }, - { - "redelegation_entry": { - "creation_height": 1780526, - "completion_time": "2022-02-07T18:17:46.003828535Z", - "initial_balance": "16796927", - "shares_dst": "16796927.000000000000000000" - }, - "balance": "16796927" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ctz6es7f2zjgs43qd2p32j09p9c378q6egrgr2", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1798685, - "completion_time": "2022-02-09T00:54:39.834963707Z", - "initial_balance": "2010000", - "shares_dst": "2010000.000000000000000000" - }, - "balance": "2010000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ctf0ufrwxw3hgkga358ct4l3a4082pzvjtgtg6", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1641220, - "completion_time": "2022-01-28T22:10:56.429965159Z", - "initial_balance": "89764626", - "shares_dst": "89764626.000000000000000000" - }, - "balance": "89764626" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ct3fjftym9zpz47masgkt4202t8dpy72lhmdny", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725717, - "completion_time": "2022-02-03T20:42:32.223027331Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ct3fjftym9zpz47masgkt4202t8dpy72lhmdny", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725744, - "completion_time": "2022-02-03T20:45:15.517116502Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ct3fjftym9zpz47masgkt4202t8dpy72lhmdny", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725739, - "completion_time": "2022-02-03T20:44:45.055630834Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ct3fjftym9zpz47masgkt4202t8dpy72lhmdny", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725733, - "completion_time": "2022-02-03T20:44:08.021641858Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ctn7h3488yl92wkj8yaxytakdp8x04a38md94d", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712828, - "completion_time": "2022-02-02T22:58:28.200571777Z", - "initial_balance": "30450000", - "shares_dst": "30450000.000000000000000000" - }, - "balance": "30450000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cdd2y9n5wm56v0msaqqkmjad5kp5kgzu9vzsyd", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722003, - "completion_time": "2022-02-03T14:25:21.952058952Z", - "initial_balance": "2010000000", - "shares_dst": "2010000000.000000000000000000" - }, - "balance": "2010000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cdd2y9n5wm56v0msaqqkmjad5kp5kgzu9vzsyd", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722025, - "completion_time": "2022-02-03T14:27:36.371024147Z", - "initial_balance": "443000000", - "shares_dst": "443000000.000000000000000000" - }, - "balance": "443000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cdd2y9n5wm56v0msaqqkmjad5kp5kgzu9vzsyd", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1722018, - "completion_time": "2022-02-03T14:26:54.902285651Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cw0u742rmsudnmvce2hrymq0x6qegwm9s0kr65", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643552, - "completion_time": "2022-01-29T02:06:38.914219058Z", - "initial_balance": "2741999997", - "shares_dst": "2741999997.000000000000000000" - }, - "balance": "2741999997" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c0z0lka2l5pdw03s9lxyarg56z9qgpvpu4ncqg", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1610772, - "completion_time": "2022-01-26T18:47:54.200180511Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c0csvrjj50lyheekkg8j2hpzgprc3gm29gtq94", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655424, - "completion_time": "2022-01-29T22:04:48.074556292Z", - "initial_balance": "4010000", - "shares_dst": "4010401.039353679416887992" - }, - "balance": "4010000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cs20327dn4aqlyd5zrwzqalq7cy9s82a7j3g5y", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1827451, - "completion_time": "2022-02-11T01:21:29.088286613Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c3wqq0ldvh5qt4tznwdyn0jzpzx26gfmfghmfg", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1663533, - "completion_time": "2022-01-30T11:42:55.832379082Z", - "initial_balance": "1009800000", - "shares_dst": "1009800000.000000000000000000" - }, - "balance": "1009800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c3nszfph3yd4n69ntsd7thf9qzap2nxuapr3ul", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685998, - "completion_time": "2022-02-01T01:44:25.390750556Z", - "initial_balance": "235999999", - "shares_dst": "235999999.000000000000000000" - }, - "balance": "235999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c3nszfph3yd4n69ntsd7thf9qzap2nxuapr3ul", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686005, - "completion_time": "2022-02-01T01:45:07.007513289Z", - "initial_balance": "201000000", - "shares_dst": "201000000.000000000000000000" - }, - "balance": "201000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cjzavpl44ne3nmaumg00j8e3qm3jhv8zgyn8q8", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1860044, - "completion_time": "2022-02-13T13:24:58.127146581Z", - "initial_balance": "1631839022", - "shares_dst": "1631839022.000000000000000000" - }, - "balance": "1631839022" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cj458dcm4dm64k9rphc8l22pjjf8mlcfxlmlnm", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1702033, - "completion_time": "2022-02-02T04:44:52.450466727Z", - "initial_balance": "810900000", - "shares_dst": "810900000.000000000000000000" - }, - "balance": "810900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cjuxtksp4g4a7gpt52aauqeew69mj5nsajr2tn", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726154, - "completion_time": "2022-02-03T21:26:31.471487701Z", - "initial_balance": "73999999", - "shares_dst": "73999999.000000000000000000" - }, - "balance": "73999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cjuxtksp4g4a7gpt52aauqeew69mj5nsajr2tn", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726163, - "completion_time": "2022-02-03T21:27:28.100526544Z", - "initial_balance": "39946000", - "shares_dst": "39946000.000000000000000000" - }, - "balance": "39946000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cjuxtksp4g4a7gpt52aauqeew69mj5nsajr2tn", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726168, - "completion_time": "2022-02-03T21:27:57.794926344Z", - "initial_balance": "45000000", - "shares_dst": "45000000.000000000000000000" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cjuxtksp4g4a7gpt52aauqeew69mj5nsajr2tn", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726146, - "completion_time": "2022-02-03T21:25:42.892047969Z", - "initial_balance": "37250500", - "shares_dst": "37250500.000000000000000000" - }, - "balance": "37250500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cnzse0r2let7yr65u885e7ehueq4mfn2sl4vze", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811335, - "completion_time": "2022-02-09T22:19:08.438747265Z", - "initial_balance": "1200000000", - "shares_dst": "1200000000.000000000000000000" - }, - "balance": "1200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c5mxg532pq0aeq0u4v4dkrqf9tp8vf9p87vzvv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1751662, - "completion_time": "2022-02-05T17:43:21.693906244Z", - "initial_balance": "326767407", - "shares_dst": "326832770.213663830023269204" - }, - "balance": "326767407" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c5mxg532pq0aeq0u4v4dkrqf9tp8vf9p87vzvv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630564, - "completion_time": "2022-01-28T04:10:25.322617409Z", - "initial_balance": "600000000", - "shares_dst": "600000000.000000000000000000" - }, - "balance": "600000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c5mxg532pq0aeq0u4v4dkrqf9tp8vf9p87vzvv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1675125, - "completion_time": "2022-01-31T07:13:24.86543886Z", - "initial_balance": "350000000", - "shares_dst": "350000000.000000000000000000" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c5ldnsp9xrzycnu99zpuu57gaslkd5jdct90wx", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713012, - "completion_time": "2022-02-02T23:17:12.870380593Z", - "initial_balance": "28183998", - "shares_dst": "28183998.000000000000000000" - }, - "balance": "28183998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c4cmz96r8u5cecky0wqnrp5hwf6y5vqgt7vs3p", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687854, - "completion_time": "2022-02-01T04:53:56.099351087Z", - "initial_balance": "9998999", - "shares_dst": "9998999.000000000000000000" - }, - "balance": "9998999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ch05geks54845zs53frfcvdyl39j2ut4rt3y8u", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684838, - "completion_time": "2022-01-31T23:46:27.039005416Z", - "initial_balance": "2915500000", - "shares_dst": "2916083187.144170822109365206" - }, - "balance": "2915500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ch05geks54845zs53frfcvdyl39j2ut4rt3y8u", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684824, - "completion_time": "2022-01-31T23:45:02.37607761Z", - "initial_balance": "2915499999", - "shares_dst": "2915499999.000000000000000000" - }, - "balance": "2915499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1chea346a3zq7sy24uzrhpedumv5hn4hlr6eszg", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736235, - "completion_time": "2022-02-04T14:36:13.353037365Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ce9rydsn6q7pck947cplz2xvrq2gd24s0s5xlk", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683539, - "completion_time": "2022-01-31T21:32:57.838903662Z", - "initial_balance": "5412000000", - "shares_dst": "5412000000.000000000000000000" - }, - "balance": "5412000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cefalx47rv68d9dj2lq6m9m2zng6x5lweuww3k", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731748, - "completion_time": "2022-02-04T07:02:17.07037783Z", - "initial_balance": "102499999", - "shares_dst": "102499999.000000000000000000" - }, - "balance": "102499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c62g2suart0wh2d9d492ffpf08sec4l334yn2w", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1698970, - "completion_time": "2022-02-01T23:35:37.581414161Z", - "initial_balance": "54328586", - "shares_dst": "54328586.000000000000000000" - }, - "balance": "54328586" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cmzmv94qc0t84dr5akhg59z3sjgl8erwkzcn8f", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680718, - "completion_time": "2022-01-31T16:42:23.626446755Z", - "initial_balance": "425000000", - "shares_dst": "425000000.000000000000000000" - }, - "balance": "425000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cudnqpd4s8q59zn46dhfsx6ds5zm5dezayf5lc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732984, - "completion_time": "2022-02-04T09:07:14.313858051Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cudnqpd4s8q59zn46dhfsx6ds5zm5dezayf5lc", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732994, - "completion_time": "2022-02-04T09:08:14.723733438Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cujhq72xqa5t5pvz3zjn0rfqmdl2sl0h8302nd", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1742449, - "completion_time": "2022-02-05T01:45:42.826851314Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cuk7ntlnq72pf3f7w560h4nr2ajtz4x5yvd29d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809814, - "completion_time": "2022-02-09T19:45:31.499414464Z", - "initial_balance": "46000000", - "shares_dst": "46000000.000000000000000000" - }, - "balance": "46000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cadwx320duhkkq5z7lesshk6r8j2s8crw6v76r", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1834559, - "completion_time": "2022-02-11T13:16:15.311392503Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cadwx320duhkkq5z7lesshk6r8j2s8crw6v76r", - "validator_src_address": "secretvaloper1404h4aet3jn8uw7660670nqej2plsgqul74mjp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1834604, - "completion_time": "2022-02-11T13:20:44.790658514Z", - "initial_balance": "4000000", - "shares_dst": "4000000.000000000000000000" - }, - "balance": "4000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cadwx320duhkkq5z7lesshk6r8j2s8crw6v76r", - "validator_src_address": "secretvaloper1uzskqhqmahu52vg4vazdzmphe8rx94ntt4alzg", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1626589, - "completion_time": "2022-01-27T21:29:54.246260732Z", - "initial_balance": "2500000", - "shares_dst": "2500500.074729310863783739" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1cadwx320duhkkq5z7lesshk6r8j2s8crw6v76r", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1834564, - "completion_time": "2022-02-11T13:16:45.134606133Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c723pc23pqjr442ur4p4fe23u9xx5lmmz75k5c", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829649, - "completion_time": "2022-02-11T05:03:51.909734008Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1c723pc23pqjr442ur4p4fe23u9xx5lmmz75k5c", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829646, - "completion_time": "2022-02-11T05:03:33.769567966Z", - "initial_balance": "14999999", - "shares_dst": "14999999.000000000000000000" - }, - "balance": "14999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eqqnxruycteqs342ufffjv0yg6pcfvc2ysgl5c", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649493, - "completion_time": "2022-01-29T12:03:54.256797512Z", - "initial_balance": "17000000", - "shares_dst": "17000000.000000000000000000" - }, - "balance": "17000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eq56txmy4lfemxxduj9y6vyz2m2vmnfg8hsylt", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689733, - "completion_time": "2022-02-01T08:02:59.159303476Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eq56txmy4lfemxxduj9y6vyz2m2vmnfg8hsylt", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689680, - "completion_time": "2022-02-01T07:57:38.534163213Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eqe7j932jpqpwfjn5xt2euftgwq0u6uws3rjrj", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1758585, - "completion_time": "2022-02-06T05:20:55.654577154Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1equd83qwq3wuapsj6902sf8z9lp26h8xaerkj9", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1855357, - "completion_time": "2022-02-13T04:11:26.258129463Z", - "initial_balance": "103000000", - "shares_dst": "103000000.000000000000000000" - }, - "balance": "103000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ep8y8v7nw8hly6v5vr5nnlpvrejrjc5dxmz8h5", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1633562, - "completion_time": "2022-01-28T09:12:55.459185643Z", - "initial_balance": "4585300", - "shares_dst": "4585300.000000000000000000" - }, - "balance": "4585300" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1epsg72sja3ehhmg00fltcul0wk5p844xv2rtu3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821681, - "completion_time": "2022-02-10T15:40:19.625720809Z", - "initial_balance": "1500000", - "shares_dst": "1500000.000000000000000000" - }, - "balance": "1500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1epsg72sja3ehhmg00fltcul0wk5p844xv2rtu3", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821736, - "completion_time": "2022-02-10T15:45:49.450099705Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ez4ev32pznjc6lp7yakdc7yj2quqhjrfh7cxsa", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1672967, - "completion_time": "2022-01-31T03:35:31.294490139Z", - "initial_balance": "10460000000", - "shares_dst": "10460000000.000000000000000000" - }, - "balance": "10460000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1erdt7cvddksrtrnr59srxgwe2zr2aghfv8mcrh", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837329, - "completion_time": "2022-02-11T17:54:35.932941668Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ere5wea2ffwlujllj3q92fv9nulw2m2nqdszd9", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795370, - "completion_time": "2022-02-08T19:18:52.153782863Z", - "initial_balance": "3000000", - "shares_dst": "3000600.089661732730660929" - }, - "balance": "3000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e9z9559m6qtvnwwv7fu0uc0ks6cyvhuqr9axaa", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1595894, - "completion_time": "2022-01-25T17:44:02.335016815Z", - "initial_balance": "1150000000", - "shares_dst": "1150000000.000000000000000000" - }, - "balance": "1150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e999rsyf8ss52vkadj8rsesyrdx52hkz32nx3q", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730071, - "completion_time": "2022-02-04T04:11:23.423200909Z", - "initial_balance": "1000900000", - "shares_dst": "1000900000.000000000000000000" - }, - "balance": "1000900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e93sm0n4sk4cwy9car25k27rjn78ml3acygcvk", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736262, - "completion_time": "2022-02-04T14:39:02.337516807Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1exphafj3zj2l0smwkav44x27tjkuz8yvze09va", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709688, - "completion_time": "2022-02-02T17:39:56.577720538Z", - "initial_balance": "512404000", - "shares_dst": "512404000.000000000000000000" - }, - "balance": "512404000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e8z8vx3kenpajumx4nlfeke6ssc67ut7cyxswx", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833535, - "completion_time": "2022-02-11T11:33:12.204264989Z", - "initial_balance": "5200000", - "shares_dst": "5200000.000000000000000000" - }, - "balance": "5200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1egg3fxxa7kq3rsxgs0nadwx52actfrzpd2at70", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599367, - "completion_time": "2022-01-25T23:37:08.73860269Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1egaj8q47mlzg569ds2nfa5ee53lmmttckquk8c", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654437, - "completion_time": "2022-01-29T20:25:06.976472216Z", - "initial_balance": "1633256753", - "shares_dst": "1633256753.000000000000000000" - }, - "balance": "1633256753" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ef2e3dutp8ydjj6206kqyhr27t20ndw8n3x0u4", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686811, - "completion_time": "2022-02-01T03:07:32.95735684Z", - "initial_balance": "1124399998", - "shares_dst": "1124399998.000000000000000000" - }, - "balance": "1124399998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ef2e3dutp8ydjj6206kqyhr27t20ndw8n3x0u4", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686822, - "completion_time": "2022-02-01T03:08:39.65530725Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ef2e3dutp8ydjj6206kqyhr27t20ndw8n3x0u4", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686818, - "completion_time": "2022-02-01T03:08:15.42307122Z", - "initial_balance": "2714319000", - "shares_dst": "2714319000.000000000000000000" - }, - "balance": "2714319000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ef3ngq5nau2jxwlzs4ukj8gyyc03xc8y8lper3", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730619, - "completion_time": "2022-02-04T05:07:15.484260725Z", - "initial_balance": "4426597", - "shares_dst": "4426597.000000000000000000" - }, - "balance": "4426597" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1efkr049k8enwqhsup89fhtx6lq66f34nte96gz", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1690203, - "completion_time": "2022-02-01T08:50:07.938772587Z", - "initial_balance": "275900000", - "shares_dst": "275900000.000000000000000000" - }, - "balance": "275900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1efhnahha2qez6g07ehch7zf8snfl6zvg5m5fps", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767099, - "completion_time": "2022-02-06T19:40:37.306603417Z", - "initial_balance": "50000000", - "shares_dst": "50020004.915613517355244703" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1efhnahha2qez6g07ehch7zf8snfl6zvg5m5fps", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767068, - "completion_time": "2022-02-06T19:37:30.079021545Z", - "initial_balance": "50000000", - "shares_dst": "50020004.915613517355244703" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1efhnahha2qez6g07ehch7zf8snfl6zvg5m5fps", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767027, - "completion_time": "2022-02-06T19:33:21.993564508Z", - "initial_balance": "49999999", - "shares_dst": "50020003.915213419042974356" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1efhnahha2qez6g07ehch7zf8snfl6zvg5m5fps", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766996, - "completion_time": "2022-02-06T19:30:08.285398635Z", - "initial_balance": "50000000", - "shares_dst": "50020004.915613517355244703" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1etg973ky7rkl7kqymyj6mxs0m3tdmwskxfwy5v", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739042, - "completion_time": "2022-02-04T19:39:08.314031388Z", - "initial_balance": "45000000", - "shares_dst": "45004500.444693436695334945" - }, - "balance": "45000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ettlkm48m998c3pydk2rmvswxqy08psg2acpy4", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1734304, - "completion_time": "2022-02-04T11:20:34.976161854Z", - "initial_balance": "59441458", - "shares_dst": "59441458.000000000000000000" - }, - "balance": "59441458" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1evgrx4ctdhk6tc5s7mh3szpmtyg9gq9q55z8r2", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1811675, - "completion_time": "2022-02-09T22:53:39.03946839Z", - "initial_balance": "15000000", - "shares_dst": "15003000.438538828031440904" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1evjj5gavttntpf2jr3jtw3mkjxaftvkpaaamm2", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854347, - "completion_time": "2022-02-13T02:17:07.237567364Z", - "initial_balance": "999999999", - "shares_dst": "999999999.000000000000000000" - }, - "balance": "999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1evjj5gavttntpf2jr3jtw3mkjxaftvkpaaamm2", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854352, - "completion_time": "2022-02-13T02:17:37.86832524Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ewpxmledyv2f6558gqg3dwj0pcklddvufayxry", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778652, - "completion_time": "2022-02-07T15:07:29.305433463Z", - "initial_balance": "330000000", - "shares_dst": "330000000.000000000000000000" - }, - "balance": "330000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ewdmka8pn40a49f0dzujzrzzxptds5wjylaft9", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1858203, - "completion_time": "2022-02-13T09:44:37.111854148Z", - "initial_balance": "256125538", - "shares_dst": "256125538.000000000000000000" - }, - "balance": "256125538" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ewwrcdgg0hhezzsczfv78nyact2ehaj5lvggz3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1706916, - "completion_time": "2022-02-02T12:58:29.158232734Z", - "initial_balance": "378148974", - "shares_dst": "378148974.000000000000000000" - }, - "balance": "378148974" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e0rwqzm9fz27f4m43j5xsnhu3g044pr8frphfh", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832854, - "completion_time": "2022-02-11T10:24:55.248623351Z", - "initial_balance": "151350700", - "shares_dst": "151350700.000000000000000000" - }, - "balance": "151350700" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e0fafwjn3qp4s8g5zd6k8nz84tj9w6x8fmzag8", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685050, - "completion_time": "2022-02-01T00:08:02.557261672Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ejxn6cm6jp6sghp0gw2lk7gmk83x2hnesvk9zq", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787502, - "completion_time": "2022-02-08T06:03:46.365845699Z", - "initial_balance": "324000000", - "shares_dst": "324000000.000000000000000000" - }, - "balance": "324000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ejxn6cm6jp6sghp0gw2lk7gmk83x2hnesvk9zq", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787510, - "completion_time": "2022-02-08T06:04:35.161480405Z", - "initial_balance": "330499999", - "shares_dst": "330499999.000000000000000000" - }, - "balance": "330499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1enmeeqccayd94x6lduhy9g6j5evdgmw9mf9nl9", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628904, - "completion_time": "2022-01-28T01:23:03.394121609Z", - "initial_balance": "89000000", - "shares_dst": "89000000.000000000000000000" - }, - "balance": "89000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ehmqqyrvjlk0u6pgzh8xk7w28hd58uu95rr7ga", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666224, - "completion_time": "2022-01-30T16:13:50.81858615Z", - "initial_balance": "21700000", - "shares_dst": "21700000.000000000000000000" - }, - "balance": "21700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e6sxhxnk34234h8ya3n9kdgpv3kjek6wp4crts", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600477, - "completion_time": "2022-01-26T01:29:01.963480333Z", - "initial_balance": "209999999", - "shares_dst": "209999999.000000000000000000" - }, - "balance": "209999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1e6sxhxnk34234h8ya3n9kdgpv3kjek6wp4crts", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600489, - "completion_time": "2022-01-26T01:30:14.319569033Z", - "initial_balance": "297000000", - "shares_dst": "297000000.000000000000000000" - }, - "balance": "297000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1emunsdlgyx2tgfj5w7amyc6x9awl0d9u6wdtn0", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1677338, - "completion_time": "2022-01-31T10:56:59.788713299Z", - "initial_balance": "500000", - "shares_dst": "500250.074890832979568945" - }, - "balance": "500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1euyphlhj25m39fdzhcukn58mgyr00q8x3j8t9m", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829676, - "completion_time": "2022-02-11T05:06:37.11721811Z", - "initial_balance": "6302236", - "shares_dst": "6302236.000000000000000000" - }, - "balance": "6302236" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ea4t575vqhdphrpcen3kgcgynuezlky8w38gg2", - "validator_src_address": "secretvaloper1c4sfkjh4s4unp88u0enwwrjpug6z7ckug8mc6s", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649672, - "completion_time": "2022-01-29T12:21:51.666312769Z", - "initial_balance": "1249749", - "shares_dst": "1249749.000000000000000000" - }, - "balance": "1249749" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ea4eh6yg8xq9dvg9u9k7kl4egt2v6pzwytgxug", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774469, - "completion_time": "2022-02-07T08:03:58.221930274Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eld6p06wkxw54d2ctew8gpaewau0yz6dh3mjzh", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749469, - "completion_time": "2022-02-05T14:00:54.720653115Z", - "initial_balance": "10000000", - "shares_dst": "10001000.098264357359045461" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1eljj8h8wc9me90s740qrl9n6slvn78lg78drg5", - "validator_src_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "validator_dst_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1824990, - "completion_time": "2022-02-10T21:13:31.438971615Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16qv8cfa0vxra7kwu0qc695cgd03q2yuxsurp54", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1717068, - "completion_time": "2022-02-03T06:08:53.259866848Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16yk2ljku83sys4wqqu5ayt5pjk23d7any7xd8k", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637907, - "completion_time": "2022-01-28T16:35:01.646595023Z", - "initial_balance": "65357218", - "shares_dst": "65357218.000000000000000000" - }, - "balance": "65357218" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16yk2ljku83sys4wqqu5ayt5pjk23d7any7xd8k", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1724559, - "completion_time": "2022-02-03T18:44:39.531857688Z", - "initial_balance": "608719573", - "shares_dst": "608719573.000000000000000000" - }, - "balance": "608719573" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817889, - "completion_time": "2022-02-10T09:18:11.812496663Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817849, - "completion_time": "2022-02-10T09:14:12.605889857Z", - "initial_balance": "500000000", - "shares_dst": "500050004.935641806710233116" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817856, - "completion_time": "2022-02-10T09:14:54.716513352Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817872, - "completion_time": "2022-02-10T09:16:30.46838569Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817906, - "completion_time": "2022-02-10T09:19:52.92186684Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817841, - "completion_time": "2022-02-10T09:13:24.833770909Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817833, - "completion_time": "2022-02-10T09:12:37.165836525Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817862, - "completion_time": "2022-02-10T09:15:30.454061333Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret169gdkpedcjjl2kevz8cynwfklhcd5ua44p4q9d", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817881, - "completion_time": "2022-02-10T09:17:23.838971563Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16xz079d6xka0frw8zhel7rzu3q0q9qemw8rm6m", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729944, - "completion_time": "2022-02-04T03:58:28.859207834Z", - "initial_balance": "1510849999", - "shares_dst": "1510849999.000000000000000000" - }, - "balance": "1510849999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16xusfl5g97d5cr9554pxhxywx8yg8gulm9370v", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1737369, - "completion_time": "2022-02-04T16:33:34.790727538Z", - "initial_balance": "72692000000", - "shares_dst": "72692000000.000000000000000000" - }, - "balance": "72692000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret168ry4n3lhct7gk4n4ff6xtw0ce9h2a5ucrtrlc", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1808772, - "completion_time": "2022-02-09T17:59:29.478444225Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1627x0uxnhrlfat3usvfmjce5kjpg88my5csk77", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666991, - "completion_time": "2022-01-30T17:31:16.912065122Z", - "initial_balance": "9899999", - "shares_dst": "9899999.000000000000000000" - }, - "balance": "9899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16tg63pqre3k8u38hk4cfg3ey85mwchr36dhu98", - "validator_src_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1825711, - "completion_time": "2022-02-10T22:26:29.782165277Z", - "initial_balance": "88000000", - "shares_dst": "88000000.000000000000000000" - }, - "balance": "88000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16tg63pqre3k8u38hk4cfg3ey85mwchr36dhu98", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1825735, - "completion_time": "2022-02-10T22:28:54.588652078Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16twfj4fy0s9x7fzq84ejleyp873u5rnq4527xt", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686713, - "completion_time": "2022-02-01T02:57:23.593030702Z", - "initial_balance": "240999999", - "shares_dst": "240999999.000000000000000000" - }, - "balance": "240999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16dx6hyae02eszfl7c7069lwte6v3sydvzpg5xj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1802221, - "completion_time": "2022-02-09T06:51:06.962544706Z", - "initial_balance": "66000000", - "shares_dst": "66000000.000000000000000000" - }, - "balance": "66000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret160x0xrvarcrzzyccxjq32ml4p5jyvymxjgclnk", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726494, - "completion_time": "2022-02-03T22:01:17.037339039Z", - "initial_balance": "974886399", - "shares_dst": "974886399.000000000000000000" - }, - "balance": "974886399" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16sr27zw0mc5nsdj3ud9vtlccqxc9pvqcd6dvp5", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1600077, - "completion_time": "2022-01-26T00:48:47.001601614Z", - "initial_balance": "61770000", - "shares_dst": "61782355.841575783827336898" - }, - "balance": "61770000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16jrycgj5cn3h4jmljpn9xdgkrdg9qv82p670q2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1796614, - "completion_time": "2022-02-08T21:24:56.450745564Z", - "initial_balance": "35800000", - "shares_dst": "35800000.000000000000000000" - }, - "balance": "35800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16jnqmvk0mrvxcnc25q8q5vmyqc4yp84pmcmh23", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700203, - "completion_time": "2022-02-02T01:40:24.319866645Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16jnqmvk0mrvxcnc25q8q5vmyqc4yp84pmcmh23", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700215, - "completion_time": "2022-02-02T01:41:36.344597123Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16jnqmvk0mrvxcnc25q8q5vmyqc4yp84pmcmh23", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700209, - "completion_time": "2022-02-02T01:41:00.081441503Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16jnqmvk0mrvxcnc25q8q5vmyqc4yp84pmcmh23", - "validator_src_address": "secretvaloper1u8cukungmt2mplg6g5kuwnmkxyjn2v8nspfywz", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1700220, - "completion_time": "2022-02-02T01:42:06.171979632Z", - "initial_balance": "29996999", - "shares_dst": "29996999.000000000000000000" - }, - "balance": "29996999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret165a36zvpk96m850d9wrt23fxqf23unjxqalx4e", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1597890, - "completion_time": "2022-01-25T21:07:55.817556299Z", - "initial_balance": "1400000000", - "shares_dst": "1400000000.000000000000000000" - }, - "balance": "1400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret164vfj9ys5g2cwcwhfvg7fcvuz442tmh6s7pun9", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596236, - "completion_time": "2022-01-25T18:19:08.521460678Z", - "initial_balance": "3151059410", - "shares_dst": "3151059410.000000000000000000" - }, - "balance": "3151059410" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16kgp9mtpd2pset9f9cr7v5r8ualfe8ca9fzl46", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681354, - "completion_time": "2022-01-31T17:48:07.903711085Z", - "initial_balance": "200000000", - "shares_dst": "200020001.961032449507889682" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16kgp9mtpd2pset9f9cr7v5r8ualfe8ca9fzl46", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681339, - "completion_time": "2022-01-31T17:46:37.70767016Z", - "initial_balance": "200000000", - "shares_dst": "200020001.763197252054867117" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16h32zjvzckmjfp0yatpgshhh35nfmcpzqyypk0", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1644397, - "completion_time": "2022-01-29T03:31:41.701188552Z", - "initial_balance": "85000000", - "shares_dst": "85000000.000000000000000000" - }, - "balance": "85000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16cx6efdfy9m7agtjpt5zsusk9thpjs82vs9a9h", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816980, - "completion_time": "2022-02-10T07:47:22.097806208Z", - "initial_balance": "320000000", - "shares_dst": "320000000.000000000000000000" - }, - "balance": "320000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16cf2008thq92r8c5t3f5um8dfwhlkccntaz8mv", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1864359, - "completion_time": "2022-02-13T21:09:04.7927273Z", - "initial_balance": "41300000", - "shares_dst": "42998440.510285578003179277" - }, - "balance": "41300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16c04gmlp2fa48wfnwuhy4fu5efdahg44th8cts", - "validator_src_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733782, - "completion_time": "2022-02-04T10:27:52.742823253Z", - "initial_balance": "22000000", - "shares_dst": "22000000.000000000000000000" - }, - "balance": "22000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847764, - "completion_time": "2022-02-12T13:01:30.429054644Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847756, - "completion_time": "2022-02-12T13:00:42.183491368Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847737, - "completion_time": "2022-02-12T12:58:47.768920926Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847786, - "completion_time": "2022-02-12T13:05:22.097326504Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847778, - "completion_time": "2022-02-12T13:02:54.285957461Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847771, - "completion_time": "2022-02-12T13:02:12.342943668Z", - "initial_balance": "9999999", - "shares_dst": "9999999.000000000000000000" - }, - "balance": "9999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret166zpf23y8ac8nns4jrlscew3t8lwag2azr3pmh", - "validator_src_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1847749, - "completion_time": "2022-02-12T12:59:59.326797028Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1665mhhxew53k2hvyk08lhfz4a07nnsy9cyuajq", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1666085, - "completion_time": "2022-01-30T15:59:51.384530697Z", - "initial_balance": "42300000", - "shares_dst": "42300000.000000000000000000" - }, - "balance": "42300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1667cxu90nrm6jp70kyts5rpf2ud6cgfs8j2tqx", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733567, - "completion_time": "2022-02-04T10:06:12.849593936Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16utjfjd5xukfhfgh0g2k2tsvp5rzfh4qrxzgdd", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837253, - "completion_time": "2022-02-11T17:47:00.512675853Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16afcxywcr4f0ya3lxnahszzr5hlluhx6ljhv5t", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669515, - "completion_time": "2022-01-30T21:47:29.835088917Z", - "initial_balance": "7902042", - "shares_dst": "7903622.643903900184658669" - }, - "balance": "7902042" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1678wk2gqeknrd6pj68ek76j2wuhpk560lkgswp", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728121, - "completion_time": "2022-02-04T00:49:32.543116906Z", - "initial_balance": "58956376", - "shares_dst": "58956376.000000000000000000" - }, - "balance": "58956376" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret167fudxs004vwpgk8t0229gt4n845s8r5keml4z", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1805391, - "completion_time": "2022-02-09T12:10:53.443077323Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret16l280j0kxd95q7au09hx0ry7s69mjxaltu20qd", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710119, - "completion_time": "2022-02-02T18:23:38.558000555Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mpc467qvkuhzd0namssvtnxf3k0zjm4qnz52qc", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797924, - "completion_time": "2022-02-08T23:37:59.794434755Z", - "initial_balance": "59999999", - "shares_dst": "59999999.000000000000000000" - }, - "balance": "59999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mpc467qvkuhzd0namssvtnxf3k0zjm4qnz52qc", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1798044, - "completion_time": "2022-02-08T23:50:05.737396042Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mz228lr5as605ammv4pkm0w53s45n0wqvnwaa2", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1629844, - "completion_time": "2022-01-28T02:57:52.757311315Z", - "initial_balance": "148361940", - "shares_dst": "148361940.000000000000000000" - }, - "balance": "148361940" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mz4n0w7vh2qtysnl2de50rzj784uht24yw2z6j", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749371, - "completion_time": "2022-02-05T13:51:05.640225495Z", - "initial_balance": "100100000", - "shares_dst": "100100000.000000000000000000" - }, - "balance": "100100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mr2he78cx6tyms7lwt8ae8re0xfhvp9j5cuuw7", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736225, - "completion_time": "2022-02-04T14:35:13.422984258Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mrmpusttwvy6y9w9lxl755y9eg3xtlfanwufng", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721775, - "completion_time": "2022-02-03T14:02:04.1231513Z", - "initial_balance": "112000000", - "shares_dst": "112000000.000000000000000000" - }, - "balance": "112000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1myjw63a0ec5y0qcyf9f08pmpf3xhl7und5rl8g", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1608756, - "completion_time": "2022-01-26T15:23:17.860084027Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m93plgs2mzxhy6jaxtmaqm48ra9hkua5vwtw2r", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1815553, - "completion_time": "2022-02-10T05:23:30.921896778Z", - "initial_balance": "240000000", - "shares_dst": "240000000.000000000000000000" - }, - "balance": "240000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m9captgl25m6u07aze3627vawljcerh8ejrrwp", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709329, - "completion_time": "2022-02-02T17:03:17.677154572Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m9captgl25m6u07aze3627vawljcerh8ejrrwp", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709345, - "completion_time": "2022-02-02T17:05:00.733071724Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m8rvnturxnaaetsw337fhggxckmaa6w3crjtpp", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842810, - "completion_time": "2022-02-12T03:25:29.626728479Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m8rvnturxnaaetsw337fhggxckmaa6w3crjtpp", - "validator_src_address": "secretvaloper13dryehdzcwj555fg9jwatyutvmhmskzna4azxq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842800, - "completion_time": "2022-02-12T03:23:01.856563156Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m8rvnturxnaaetsw337fhggxckmaa6w3crjtpp", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842791, - "completion_time": "2022-02-12T03:22:08.425384857Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m8rvnturxnaaetsw337fhggxckmaa6w3crjtpp", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842773, - "completion_time": "2022-02-12T03:20:20.193907191Z", - "initial_balance": "15000000", - "shares_dst": "15001500.147295171119979316" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mgpdlnc60cngdwdnqy57wdft2ctcdv84fp37y7", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795539, - "completion_time": "2022-02-08T19:36:07.810459311Z", - "initial_balance": "499650105", - "shares_dst": "499650105.000000000000000000" - }, - "balance": "499650105" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mgp7hla3vl4p9nfj4s6y66k25929l863y6eunc", - "validator_src_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "validator_dst_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838877, - "completion_time": "2022-02-11T20:29:57.152150713Z", - "initial_balance": "73366966", - "shares_dst": "73366966.000000000000000000" - }, - "balance": "73366966" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mfv5ejwfcvrrfg0ntx8c9xkgz9xmlf2r35mjrj", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1653819, - "completion_time": "2022-01-29T19:22:21.70681823Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m2d9ugauu62a7flaa0qrr9gt89365v7sa9758r", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1658707, - "completion_time": "2022-01-30T03:35:39.979920728Z", - "initial_balance": "9993208", - "shares_dst": "9993208.000000000000000000" - }, - "balance": "9993208" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m20mtklm56s95j2lrd8hzmeg37xn9taxfagfgr", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681387, - "completion_time": "2022-01-31T17:51:31.451196401Z", - "initial_balance": "221995498", - "shares_dst": "221995498.000000000000000000" - }, - "balance": "221995498" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mtp7twx8zu3kn2dmfwt83dky4elvly7fgn62hl", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1806665, - "completion_time": "2022-02-09T14:18:51.055900572Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mvqh5knt7hu2gr5veugt24mdhrm54fc433mnyw", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1685419, - "completion_time": "2022-02-01T00:45:33.694614616Z", - "initial_balance": "280000000", - "shares_dst": "280000000.000000000000000000" - }, - "balance": "280000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mvnrxvggfek0n5p6ze8q8nve7386cvsts06lzp", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1759750, - "completion_time": "2022-02-06T07:18:12.129864483Z", - "initial_balance": "19999999", - "shares_dst": "20010001.995019901604503796" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mv7errd8y90q4dams3jfj6x8m45zw78x8sua5p", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779495, - "completion_time": "2022-02-07T16:32:27.318532006Z", - "initial_balance": "17538726", - "shares_dst": "17538726.000000000000000000" - }, - "balance": "17538726" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mdgx7987zpx6c2tj63h8srysl8wwzml8c0pxmv", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1829663, - "completion_time": "2022-02-11T05:05:16.443429123Z", - "initial_balance": "5100000", - "shares_dst": "5100000.000000000000000000" - }, - "balance": "5100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mdvvtze56u6aknq042jntt0j74h37nwlvatq5c", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683490, - "completion_time": "2022-01-31T21:27:53.004799572Z", - "initial_balance": "1060010000", - "shares_dst": "1060010000.000000000000000000" - }, - "balance": "1060010000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mdvvtze56u6aknq042jntt0j74h37nwlvatq5c", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683516, - "completion_time": "2022-01-31T21:30:30.448204329Z", - "initial_balance": "15004577271", - "shares_dst": "15004577271.000000000000000000" - }, - "balance": "15004577271" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mddmz2h5a4scw73ffyveuhkhqdujn00vy8ewae", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736240, - "completion_time": "2022-02-04T14:36:44.020801315Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mdldvtvyx5wj59yqrk6puz7p0qehq2ddrqkf72", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730701, - "completion_time": "2022-02-04T05:15:38.89637904Z", - "initial_balance": "1623590000", - "shares_dst": "1623590000.000000000000000000" - }, - "balance": "1623590000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mw0yjsltsmwysds3stluzftad2dmx8khw0g56u", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725544, - "completion_time": "2022-02-03T20:24:58.16200636Z", - "initial_balance": "33700000", - "shares_dst": "33700000.000000000000000000" - }, - "balance": "33700000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mw0yjsltsmwysds3stluzftad2dmx8khw0g56u", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725534, - "completion_time": "2022-02-03T20:23:57.594028889Z", - "initial_balance": "10499999", - "shares_dst": "10499999.000000000000000000" - }, - "balance": "10499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mw0yjsltsmwysds3stluzftad2dmx8khw0g56u", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725538, - "completion_time": "2022-02-03T20:24:21.463846093Z", - "initial_balance": "49900000", - "shares_dst": "49900000.000000000000000000" - }, - "balance": "49900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mws7kdks92l0rl9qea0pkcm2vpvpm6532ejz84", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686708, - "completion_time": "2022-02-01T02:56:53.905858152Z", - "initial_balance": "50110901", - "shares_dst": "50110901.000000000000000000" - }, - "balance": "50110901" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mws7kdks92l0rl9qea0pkcm2vpvpm6532ejz84", - "validator_src_address": "secretvaloper1nnt3t7ms82vf86jwq88zvwvzvm2mkhxx67zl3z", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1686713, - "completion_time": "2022-02-01T02:57:23.593030702Z", - "initial_balance": "78000000", - "shares_dst": "78000000.000000000000000000" - }, - "balance": "78000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mwlc88gqmfmp2tkahngy9thskedsd8t7p4cn2m", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836926, - "completion_time": "2022-02-11T17:14:22.560361859Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mwlc88gqmfmp2tkahngy9thskedsd8t7p4cn2m", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801301, - "completion_time": "2022-02-09T05:18:54.125827724Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m05vkd3s5yjfxwx447g9vzv05dzx7lv5nnp25h", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680448, - "completion_time": "2022-01-31T16:14:42.049007443Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m05vkd3s5yjfxwx447g9vzv05dzx7lv5nnp25h", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680442, - "completion_time": "2022-01-31T16:14:04.436051148Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m06acrn2yv2u8rag26j9nc43mlnf4xe7xlm2xp", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736217, - "completion_time": "2022-02-04T14:34:24.473694095Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m0u4jgv67588gj0px8nn0py4uw2nznmcgcjter", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1816556, - "completion_time": "2022-02-10T07:04:54.133661387Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ms30kzspzsvrlglgx7jwssvxnwwvud9f4ec6ul", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729341, - "completion_time": "2022-02-04T02:55:48.484811574Z", - "initial_balance": "96686776", - "shares_dst": "96686776.000000000000000000" - }, - "balance": "96686776" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m3zyck2n8hsqmqaw4zdz87sxwry49vmkvq9cjf", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1834527, - "completion_time": "2022-02-11T13:13:03.199500296Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m367dtm6ucqs3nw7xlrajgfah270p9p47430ml", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678631, - "completion_time": "2022-01-31T13:08:16.735644749Z", - "initial_balance": "710262309", - "shares_dst": "710262309.000000000000000000" - }, - "balance": "710262309" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m5yeemyuf5a63ftt6hfm4v2c2celaamtgha5m7", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1781526, - "completion_time": "2022-02-07T19:59:49.370819963Z", - "initial_balance": "129500000", - "shares_dst": "129500000.000000000000000000" - }, - "balance": "129500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m4qk4uc3tw7aazmru8l696k6qps9ynfstxppxw", - "validator_src_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754843, - "completion_time": "2022-02-05T23:04:07.141213701Z", - "initial_balance": "2449999", - "shares_dst": "2449999.000000000000000000" - }, - "balance": "2449999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m4qk4uc3tw7aazmru8l696k6qps9ynfstxppxw", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1754852, - "completion_time": "2022-02-05T23:05:00.963876516Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m43kj549n7nu3k0pgvyls670gt2qgruy9crm93", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738263, - "completion_time": "2022-02-04T18:17:59.511997555Z", - "initial_balance": "12364000000", - "shares_dst": "12364000000.000000000000000000" - }, - "balance": "12364000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m4lwjyf4vpjnprqlxy2mt8vavhgdnzyts4rapg", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1636783, - "completion_time": "2022-01-28T14:40:28.744712106Z", - "initial_balance": "215000000", - "shares_dst": "215000000.000000000000000000" - }, - "balance": "215000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mkksvqu3ec0caa8g4dex3mm8tdpwjkwhlpcnqc", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1766137, - "completion_time": "2022-02-06T18:03:13.25913654Z", - "initial_balance": "52000000", - "shares_dst": "52000000.000000000000000000" - }, - "balance": "52000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mkksvqu3ec0caa8g4dex3mm8tdpwjkwhlpcnqc", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707859, - "completion_time": "2022-02-02T14:34:25.625070291Z", - "initial_balance": "105000000", - "shares_dst": "105000000.000000000000000000" - }, - "balance": "105000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mh6jdp74zf4qpwn735ks7z7y4hj2h8peurjdq8", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1771220, - "completion_time": "2022-02-07T02:36:25.730520379Z", - "initial_balance": "2824741", - "shares_dst": "2825306.032624991079983738" - }, - "balance": "2824741" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mcc5vel7qtjxryxs6hn2jlv5al568f7ggur88l", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1589215, - "completion_time": "2022-01-25T06:25:35.14297065Z", - "initial_balance": "7750000000", - "shares_dst": "7750000000.000000000000000000" - }, - "balance": "7750000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mca4vtnkyc32te5t2v0j9n0y30au77eyw9e9z4", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1830612, - "completion_time": "2022-02-11T06:40:28.790575625Z", - "initial_balance": "1179999", - "shares_dst": "1179999.000000000000000000" - }, - "balance": "1179999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1me9kfptfv5yn4shs7dd63je3n9v8hq6h78226c", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1607585, - "completion_time": "2022-01-26T13:24:52.933231012Z", - "initial_balance": "28000000", - "shares_dst": "28000000.000000000000000000" - }, - "balance": "28000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1me6jgljm5wtlj3ffsa9l46hk3ch4vxdagvzd9e", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655122, - "completion_time": "2022-01-29T21:34:13.683138103Z", - "initial_balance": "149000000", - "shares_dst": "149000000.000000000000000000" - }, - "balance": "149000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m60zlp7jf6c7vdad2vtzj3fxxrl9fagrpms5lt", - "validator_src_address": "secretvaloper1ykdk6s6awdnem7h6ae8tnpce4kfx2k0fyzt70x", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774353, - "completion_time": "2022-02-07T07:52:18.334099562Z", - "initial_balance": "999999", - "shares_dst": "999999.000000000000000000" - }, - "balance": "999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m60zlp7jf6c7vdad2vtzj3fxxrl9fagrpms5lt", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778620, - "completion_time": "2022-02-07T15:04:16.863091733Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m6mdj4hm5pcpugdn0c7n3lcwzqqdr4j7nr0e5w", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713891, - "completion_time": "2022-02-03T00:47:13.519944433Z", - "initial_balance": "50000000", - "shares_dst": "50010001.489738713375649097" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m6mdj4hm5pcpugdn0c7n3lcwzqqdr4j7nr0e5w", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812772, - "completion_time": "2022-02-10T00:44:01.570576552Z", - "initial_balance": "4950000", - "shares_dst": "5153566.114430191681716828" - }, - "balance": "4950000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m6mdj4hm5pcpugdn0c7n3lcwzqqdr4j7nr0e5w", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812765, - "completion_time": "2022-02-10T00:43:19.275631865Z", - "initial_balance": "3285000", - "shares_dst": "3285000.000000000000000000" - }, - "balance": "3285000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m6mdj4hm5pcpugdn0c7n3lcwzqqdr4j7nr0e5w", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1713899, - "completion_time": "2022-02-03T00:48:01.808722298Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m6mdj4hm5pcpugdn0c7n3lcwzqqdr4j7nr0e5w", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812779, - "completion_time": "2022-02-10T00:44:42.787057906Z", - "initial_balance": "11200000", - "shares_dst": "11200000.000000000000000000" - }, - "balance": "11200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mm98tuy9d5hvrp6l3gpku0ref5eys8g9vlq65g", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732051, - "completion_time": "2022-02-04T07:32:58.175434013Z", - "initial_balance": "90000000", - "shares_dst": "90000000.000000000000000000" - }, - "balance": "90000000" - }, - { - "redelegation_entry": { - "creation_height": 1732069, - "completion_time": "2022-02-04T07:34:45.998548367Z", - "initial_balance": "28000000", - "shares_dst": "28000000.000000000000000000" - }, - "balance": "28000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mu8dxd85k5aqwagv4en7tlhnvyesmvpjhvq8ju", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795142, - "completion_time": "2022-02-08T18:55:27.440596183Z", - "initial_balance": "256000000", - "shares_dst": "256000000.000000000000000000" - }, - "balance": "256000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mu8dxd85k5aqwagv4en7tlhnvyesmvpjhvq8ju", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795156, - "completion_time": "2022-02-08T18:56:52.595554006Z", - "initial_balance": "255999999", - "shares_dst": "255999999.000000000000000000" - }, - "balance": "255999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1mu8dxd85k5aqwagv4en7tlhnvyesmvpjhvq8ju", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1795150, - "completion_time": "2022-02-08T18:56:15.783137027Z", - "initial_balance": "256000000", - "shares_dst": "256000000.000000000000000000" - }, - "balance": "256000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m7skdjdhkyq6y7gzlp59f2j0d8rwss2r7nxag7", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730064, - "completion_time": "2022-02-04T04:10:40.707151134Z", - "initial_balance": "1000900000", - "shares_dst": "1000900000.000000000000000000" - }, - "balance": "1000900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1m7ahlhdwyrv62w20y9encu07x6vauvmv42lkdk", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1631543, - "completion_time": "2022-01-28T05:49:23.640974306Z", - "initial_balance": "1001000000", - "shares_dst": "1001000000.000000000000000000" - }, - "balance": "1001000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uq227zaq2w25v9k2aax6n58mcd9vvpm67wc0c9", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769487, - "completion_time": "2022-02-06T23:41:56.83861631Z", - "initial_balance": "8400000000", - "shares_dst": "8400000000.000000000000000000" - }, - "balance": "8400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1upsegq9l96gpgxg757m444a5rgxpxgfhksmpkx", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1707278, - "completion_time": "2022-02-02T13:35:19.0130026Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1up7p4uhgzfzrk6fnqjes0wty9rv7q0yxkte8cm", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649770, - "completion_time": "2022-01-29T12:31:43.63229776Z", - "initial_balance": "70000000", - "shares_dst": "70000000.000000000000000000" - }, - "balance": "70000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1up7p4uhgzfzrk6fnqjes0wty9rv7q0yxkte8cm", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649867, - "completion_time": "2022-01-29T12:41:29.138218629Z", - "initial_balance": "32000000", - "shares_dst": "32000000.000000000000000000" - }, - "balance": "32000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1up7p4uhgzfzrk6fnqjes0wty9rv7q0yxkte8cm", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649860, - "completion_time": "2022-01-29T12:40:45.522316811Z", - "initial_balance": "24000000", - "shares_dst": "24000000.000000000000000000" - }, - "balance": "24000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1up7p4uhgzfzrk6fnqjes0wty9rv7q0yxkte8cm", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1649877, - "completion_time": "2022-01-29T12:42:28.754739839Z", - "initial_balance": "7000000", - "shares_dst": "7000000.000000000000000000" - }, - "balance": "7000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1urfz4h8mru0f98gdq6v0m8p8tntnh482vs7ekl", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767669, - "completion_time": "2022-02-06T20:38:20.040427646Z", - "initial_balance": "499999999", - "shares_dst": "499999999.000000000000000000" - }, - "balance": "499999999" - }, - { - "redelegation_entry": { - "creation_height": 1767693, - "completion_time": "2022-02-06T20:40:45.915520545Z", - "initial_balance": "599999999", - "shares_dst": "599999999.000000000000000000" - }, - "balance": "599999999" - }, - { - "redelegation_entry": { - "creation_height": 1815559, - "completion_time": "2022-02-10T05:24:07.427837348Z", - "initial_balance": "899999999", - "shares_dst": "899999999.000000000000000000" - }, - "balance": "899999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uyumpluec98zcdz5s9ml0wv3tzpffl44fk53ft", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1657750, - "completion_time": "2022-01-30T01:59:07.316583333Z", - "initial_balance": "862085195", - "shares_dst": "862085195.000000000000000000" - }, - "balance": "862085195" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u9tv3g367l7awas8me0a9mqdjvlymmlr76jfkk", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1697074, - "completion_time": "2022-02-01T20:24:40.104131383Z", - "initial_balance": "304000000", - "shares_dst": "304000000.000000000000000000" - }, - "balance": "304000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ux3j2h446q9yf5dvsw4mwa5fnf07ja9v5f5x9r", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1793829, - "completion_time": "2022-02-08T16:43:13.092229562Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ux3j2h446q9yf5dvsw4mwa5fnf07ja9v5f5x9r", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1793824, - "completion_time": "2022-02-08T16:42:42.859401503Z", - "initial_balance": "2000000", - "shares_dst": "2000000.000000000000000000" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ugf2duadep0xep95hq56cc2dacvu87lxp3yy2n", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1831103, - "completion_time": "2022-02-11T07:29:52.469328293Z", - "initial_balance": "13010000", - "shares_dst": "13010000.000000000000000000" - }, - "balance": "13010000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ugtydhjumta4en5teu6tuqa8a73c4v2r9l5cq0", - "validator_src_address": "secretvaloper18acdn4vaxfkqj0ta25u3ulzdyzekrqe5w9q2n4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689720, - "completion_time": "2022-02-01T08:01:40.230265057Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ug3edgrhy7cpr846nuc7u8vnt63gap6z2kejxl", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1763028, - "completion_time": "2022-02-06T12:49:43.825055678Z", - "initial_balance": "111999999", - "shares_dst": "111999999.000000000000000000" - }, - "balance": "111999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ugcw8sg350zw6wn5g46gckklul88duueppevzp", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1716003, - "completion_time": "2022-02-03T04:22:01.820136146Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ugcw8sg350zw6wn5g46gckklul88duueppevzp", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1716011, - "completion_time": "2022-02-03T04:22:50.086265899Z", - "initial_balance": "26000000", - "shares_dst": "26000000.000000000000000000" - }, - "balance": "26000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ufppyphwfwlhxft05fuj0206kq9fhesl6jdxk9", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640219, - "completion_time": "2022-01-28T20:29:07.956680275Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uftc9xkwa44nm8qcfrlfz7m4p5ujl8nckym35x", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1838694, - "completion_time": "2022-02-11T20:11:33.227441407Z", - "initial_balance": "5350929653", - "shares_dst": "5351999998.847925223863446510" - }, - "balance": "5350929653" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u2xc5e5f78jjdwfanhkrn3km5knamceje5l2tm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1627861, - "completion_time": "2022-01-27T23:38:16.725103676Z", - "initial_balance": "10000100", - "shares_dst": "10000100.000000000000000000" - }, - "balance": "10000100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u22tag367q6seafdv824qlyyjxyx9vhmw9ca2y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654915, - "completion_time": "2022-01-29T21:13:26.247773756Z", - "initial_balance": "518000000", - "shares_dst": "518000000.000000000000000000" - }, - "balance": "518000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1588607, - "completion_time": "2022-01-25T05:23:13.425600238Z", - "initial_balance": "49999999", - "shares_dst": "50010000.490559699330058338" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752238, - "completion_time": "2022-02-05T18:41:17.903089962Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752230, - "completion_time": "2022-02-05T18:40:29.235720887Z", - "initial_balance": "49999999", - "shares_dst": "49999999.000000000000000000" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1d00jagq0lka3l9agaksmtjlg359dtg644kcxzc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752244, - "completion_time": "2022-02-05T18:41:53.301005629Z", - "initial_balance": "19998000", - "shares_dst": "19998000.000000000000000000" - }, - "balance": "19998000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752215, - "completion_time": "2022-02-05T18:38:58.453813001Z", - "initial_balance": "221999998", - "shares_dst": "221999998.000000000000000000" - }, - "balance": "221999998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752241, - "completion_time": "2022-02-05T18:41:35.581854148Z", - "initial_balance": "24999998", - "shares_dst": "24999998.000000000000000000" - }, - "balance": "24999998" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752227, - "completion_time": "2022-02-05T18:40:11.433418518Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752220, - "completion_time": "2022-02-05T18:39:28.898770005Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752235, - "completion_time": "2022-02-05T18:40:59.391233757Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u26e0z0xq630g2atzms2dwzfg5y768kuu637qt", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1752211, - "completion_time": "2022-02-05T18:38:34.719742403Z", - "initial_balance": "68999999", - "shares_dst": "68999999.000000000000000000" - }, - "balance": "68999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uv7jg7ae2k33ppu5xg9zd6799shnt4gc7vyse0", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1747940, - "completion_time": "2022-02-05T11:25:45.095434706Z", - "initial_balance": "349999999", - "shares_dst": "349999999.000000000000000000" - }, - "balance": "349999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uv7jg7ae2k33ppu5xg9zd6799shnt4gc7vyse0", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662065, - "completion_time": "2022-01-30T09:14:54.368606361Z", - "initial_balance": "421999999", - "shares_dst": "421999999.000000000000000000" - }, - "balance": "421999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwq6nmgwgkfu20vm9h8dr00886yne38nt9kuqs", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712993, - "completion_time": "2022-02-02T23:15:16.326419728Z", - "initial_balance": "79000000", - "shares_dst": "79000000.000000000000000000" - }, - "balance": "79000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwq6nmgwgkfu20vm9h8dr00886yne38nt9kuqs", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1712956, - "completion_time": "2022-02-02T23:11:32.079970316Z", - "initial_balance": "95999999", - "shares_dst": "95999999.000000000000000000" - }, - "balance": "95999999" - }, - { - "redelegation_entry": { - "creation_height": 1729328, - "completion_time": "2022-02-04T02:54:30.192328291Z", - "initial_balance": "7899999", - "shares_dst": "7899999.000000000000000000" - }, - "balance": "7899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661815, - "completion_time": "2022-01-30T08:49:42.697294314Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - }, - { - "redelegation_entry": { - "creation_height": 1730252, - "completion_time": "2022-02-04T04:29:57.018412386Z", - "initial_balance": "204510000", - "shares_dst": "204510000.000000000000000000" - }, - "balance": "204510000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730232, - "completion_time": "2022-02-04T04:27:56.161707329Z", - "initial_balance": "146800000", - "shares_dst": "146800000.000000000000000000" - }, - "balance": "146800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661843, - "completion_time": "2022-01-30T08:52:30.674441092Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661856, - "completion_time": "2022-01-30T08:53:49.168366888Z", - "initial_balance": "399999999", - "shares_dst": "399999999.000000000000000000" - }, - "balance": "399999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661824, - "completion_time": "2022-01-30T08:50:36.63982167Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwpk44vqrhaa9pflvuf0e7pqvyzusdxrzl463l", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1661849, - "completion_time": "2022-01-30T08:53:06.957211083Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwrpj6qdql96ut0xdngscg0whra783nlwnfalz", - "validator_src_address": "secretvaloper16p9uqwcq2gvz75y5p9zvhn7vek9ra9zfunwyf0", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1824174, - "completion_time": "2022-02-10T19:51:18.256161363Z", - "initial_balance": "2000000", - "shares_dst": "2000400.059772693908892597" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwa7jcy8wjew6pp29tpfuqkv0ug0n0r4nj50af", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732217, - "completion_time": "2022-02-04T07:49:37.496794307Z", - "initial_balance": "180000000", - "shares_dst": "180000000.000000000000000000" - }, - "balance": "180000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uwa7jcy8wjew6pp29tpfuqkv0ug0n0r4nj50af", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1732174, - "completion_time": "2022-02-04T07:45:17.869374398Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1us82wm745v5u2hts8cvntdwrdyv3q3gqc8atzx", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773526, - "completion_time": "2022-02-07T06:28:56.032577784Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1us82wm745v5u2hts8cvntdwrdyv3q3gqc8atzx", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773520, - "completion_time": "2022-02-07T06:28:19.872416961Z", - "initial_balance": "550000000", - "shares_dst": "550000000.000000000000000000" - }, - "balance": "550000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1us82wm745v5u2hts8cvntdwrdyv3q3gqc8atzx", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773524, - "completion_time": "2022-02-07T06:28:43.753444871Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1us82wm745v5u2hts8cvntdwrdyv3q3gqc8atzx", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773514, - "completion_time": "2022-02-07T06:27:44.000223423Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1usml7w3traqdmyngmk6pwgmrajdvfx303sv4f5", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1814521, - "completion_time": "2022-02-10T03:39:33.513274744Z", - "initial_balance": "49999999", - "shares_dst": "50004999.435617978355789326" - }, - "balance": "49999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u3xfkj3vx4nh3zxf2pwm4lf2gtgr20avw0uru2", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749457, - "completion_time": "2022-02-05T13:59:42.749994283Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u33svrxlym7nplr6w7wgrr9788ukpz9256qw9y", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780021, - "completion_time": "2022-02-07T17:25:41.820102228Z", - "initial_balance": "14999999", - "shares_dst": "14999999.000000000000000000" - }, - "balance": "14999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ujdmd4lzqzwgdmvd4rz07caqxa60dne4nagj0w", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1842187, - "completion_time": "2022-02-12T02:04:32.485926221Z", - "initial_balance": "1404000000", - "shares_dst": "1404000000.000000000000000000" - }, - "balance": "1404000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750422, - "completion_time": "2022-02-05T15:37:43.72597839Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750435, - "completion_time": "2022-02-05T15:39:02.044567111Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750430, - "completion_time": "2022-02-05T15:38:32.40058412Z", - "initial_balance": "700000000", - "shares_dst": "700000000.000000000000000000" - }, - "balance": "700000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750456, - "completion_time": "2022-02-05T15:41:20.250781872Z", - "initial_balance": "99999999", - "shares_dst": "99999999.000000000000000000" - }, - "balance": "99999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750445, - "completion_time": "2022-02-05T15:40:03.269534311Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750460, - "completion_time": "2022-02-05T15:41:43.918047844Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750451, - "completion_time": "2022-02-05T15:40:49.224826051Z", - "initial_balance": "305000000", - "shares_dst": "305000000.000000000000000000" - }, - "balance": "305000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750473, - "completion_time": "2022-02-05T15:43:03.180762686Z", - "initial_balance": "800000000", - "shares_dst": "800000000.000000000000000000" - }, - "balance": "800000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750417, - "completion_time": "2022-02-05T15:37:13.765294325Z", - "initial_balance": "949999999", - "shares_dst": "949999999.000000000000000000" - }, - "balance": "949999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unxpwwdpq4xr5wv0acgpyavmnnn45ugtfu6z7p", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750440, - "completion_time": "2022-02-05T15:39:33.391102589Z", - "initial_balance": "304999999", - "shares_dst": "304999999.000000000000000000" - }, - "balance": "304999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1unwaunmd48pt4uxv7t48a0cm0h60zss7th83ha", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774858, - "completion_time": "2022-02-07T08:43:12.702811637Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1un5jap5dsfwg3ahmw5s7fhgycz4cvkx36f5jrh", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1814428, - "completion_time": "2022-02-10T03:30:14.164354011Z", - "initial_balance": "3823744700", - "shares_dst": "3824509563.219476459804582821" - }, - "balance": "3823744700" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1un6pday2vavn7w3rx7mz43nuhxyqrxh0ks0wj3", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1623234, - "completion_time": "2022-01-27T15:49:10.821756443Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u52fgvd5r209lv5zyf6uf2neydy7p8ykl7vfgr", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1716958, - "completion_time": "2022-02-03T05:57:50.589257253Z", - "initial_balance": "30819999", - "shares_dst": "30819999.000000000000000000" - }, - "balance": "30819999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u5cnr85sgkpj8mn4xw5kpsf9qmyw9jn9q65esn", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769380, - "completion_time": "2022-02-06T23:31:10.481525512Z", - "initial_balance": "750000", - "shares_dst": "750150.022333548743078003" - }, - "balance": "750000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u5cnr85sgkpj8mn4xw5kpsf9qmyw9jn9q65esn", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769361, - "completion_time": "2022-02-06T23:29:15.806437851Z", - "initial_balance": "13950000", - "shares_dst": "13952790.415404006621250855" - }, - "balance": "13950000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u4s77a05f673awlv29yhw979uuy7qrwmqlt2vz", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1738274, - "completion_time": "2022-02-04T18:19:20.934701025Z", - "initial_balance": "101000000", - "shares_dst": "101000000.000000000000000000" - }, - "balance": "101000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uh82sl5wy2g4r2x6dmf34lp2nr9e4jy7qgttkv", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681896, - "completion_time": "2022-01-31T18:44:03.756710689Z", - "initial_balance": "36300000", - "shares_dst": "36300000.000000000000000000" - }, - "balance": "36300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ueq2h2chlk262yjdxggx4sa6yr7e6wlk96use8", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1616564, - "completion_time": "2022-01-27T04:37:15.313326226Z", - "initial_balance": "41000000", - "shares_dst": "41000000.000000000000000000" - }, - "balance": "41000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ueth4wtv8d7uaaetmgh0w73dq525qnzfnfe83j", - "validator_src_address": "secretvaloper15q3f508smwa0v79qd0rjkdpfs475yd8vm0lr2n", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736825, - "completion_time": "2022-02-04T15:38:07.705401503Z", - "initial_balance": "116296267692", - "shares_dst": "116296267692.000000000000000000" - }, - "balance": "116296267692" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uesym2s8hxj6kv79a3j2a3ehykjt75fk43uetp", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1672523, - "completion_time": "2022-01-31T02:50:57.052997828Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uesym2s8hxj6kv79a3j2a3ehykjt75fk43uetp", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1672500, - "completion_time": "2022-01-31T02:48:39.475398322Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u6plw5v2atha3grsfrw9cgn2q0rwudxarzwqpc", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812662, - "completion_time": "2022-02-10T00:32:59.858610417Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - }, - { - "redelegation_entry": { - "creation_height": 1812685, - "completion_time": "2022-02-10T00:35:20.918681044Z", - "initial_balance": "15999999", - "shares_dst": "15999999.000000000000000000" - }, - "balance": "15999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u6plw5v2atha3grsfrw9cgn2q0rwudxarzwqpc", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper182dg8p7nshdjjt5sypcx6hw9p8vlwqpntpm5k6", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812676, - "completion_time": "2022-02-10T00:34:23.625054248Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u6plw5v2atha3grsfrw9cgn2q0rwudxarzwqpc", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812703, - "completion_time": "2022-02-10T00:37:08.563426811Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u6yt9h5znpy3zcu8wktxc89zny20uqzly8kq3z", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736208, - "completion_time": "2022-02-04T14:33:26.356821215Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u6dwqq6q0n805kwalazyayl9775zqa75yzpj3u", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1778115, - "completion_time": "2022-02-07T14:13:14.387066521Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1umqgnt3s5mfjdwmy9fddxqsvm2lc5zefsz5r52", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642055, - "completion_time": "2022-01-28T23:35:52.20649922Z", - "initial_balance": "82900000", - "shares_dst": "82900000.000000000000000000" - }, - "balance": "82900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1umqgnt3s5mfjdwmy9fddxqsvm2lc5zefsz5r52", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1642052, - "completion_time": "2022-01-28T23:35:33.843038363Z", - "initial_balance": "422990000", - "shares_dst": "422990000.000000000000000000" - }, - "balance": "422990000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1umm5wl2ahd2u52kt502mludme59ddly8qtnwqy", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1774614, - "completion_time": "2022-02-07T08:18:33.971415933Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uaje8ps489ef80j875ft5uauypgk82mhe3cr0e", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779398, - "completion_time": "2022-02-07T16:22:25.200359896Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1uaje8ps489ef80j875ft5uauypgk82mhe3cr0e", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779393, - "completion_time": "2022-02-07T16:21:55.366712508Z", - "initial_balance": "2500000000", - "shares_dst": "2500000000.000000000000000000" - }, - "balance": "2500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ua754nyfmvg3e335zwd5l4cyq53hxzzesxutk6", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1718119, - "completion_time": "2022-02-03T07:54:21.752406085Z", - "initial_balance": "219999999", - "shares_dst": "220044005.554650309058081763" - }, - "balance": "219999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1u7lechrdqt6rjfkwl3vc3p2s7dzx37eelywjzy", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1586447, - "completion_time": "2022-01-25T01:43:06.617663841Z", - "initial_balance": "175000000", - "shares_dst": "175000000.000000000000000000" - }, - "balance": "175000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aqz5cvkyvcmuhhw4khv0yexepe3uqfxp5c6m0e", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839958, - "completion_time": "2022-02-11T22:20:00.652742499Z", - "initial_balance": "1100000000", - "shares_dst": "1100000000.000000000000000000" - }, - "balance": "1100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aplgpkmwy6g047xlcyawl0vcy8x0a8a2npj4nm", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1748691, - "completion_time": "2022-02-05T12:42:27.335562251Z", - "initial_balance": "1000008590", - "shares_dst": "1000008590.000000000000000000" - }, - "balance": "1000008590" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1azdrtlapdrnv0zkjxyftrvtca8t4kjck84sq8u", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1841021, - "completion_time": "2022-02-12T00:07:10.956974096Z", - "initial_balance": "619000000", - "shares_dst": "619000000.000000000000000000" - }, - "balance": "619000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ar25j5pct8mngtryfrhwk5hskyu7scncgttru9", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640790, - "completion_time": "2022-01-28T21:27:11.477269428Z", - "initial_balance": "7401000000", - "shares_dst": "7401000000.000000000000000000" - }, - "balance": "7401000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ar25j5pct8mngtryfrhwk5hskyu7scncgttru9", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1640794, - "completion_time": "2022-01-28T21:27:35.851250325Z", - "initial_balance": "3789600000", - "shares_dst": "3789600000.000000000000000000" - }, - "balance": "3789600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ar4ppykxs7q95mfpsuavvfwskalwz9errytawr", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1645356, - "completion_time": "2022-01-29T05:07:54.876250611Z", - "initial_balance": "350000000", - "shares_dst": "350000000.000000000000000000" - }, - "balance": "350000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ay5qsgavuakzw6rucj6qctywla6vsc3nu40lfe", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726364, - "completion_time": "2022-02-03T21:48:01.774296726Z", - "initial_balance": "2086769999", - "shares_dst": "2086769999.000000000000000000" - }, - "balance": "2086769999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a85n4xvul4379d9p6a6v46q0yrenyy3ac3472l", - "validator_src_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812966, - "completion_time": "2022-02-10T01:03:25.046373504Z", - "initial_balance": "28000000", - "shares_dst": "28000000.000000000000000000" - }, - "balance": "28000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a85n4xvul4379d9p6a6v46q0yrenyy3ac3472l", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1812958, - "completion_time": "2022-02-10T01:02:37.026665311Z", - "initial_balance": "59698433", - "shares_dst": "59710374.463657860750158762" - }, - "balance": "59698433" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1agn6f0dsw22zda0kvrpadlspkrudmdluz0qzgc", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819232, - "completion_time": "2022-02-10T11:33:08.034851755Z", - "initial_balance": "5250000", - "shares_dst": "5250000.000000000000000000" - }, - "balance": "5250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aftk7np22ys5t0ru4dgfxpw97z3glxu2qnkkk9", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1647654, - "completion_time": "2022-01-29T08:58:39.548843152Z", - "initial_balance": "495000005478", - "shares_dst": "495000005478.000000000000000000" - }, - "balance": "495000005478" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a2xhdyh29wdd0rw6c0afyday9fcql36e4h5ec7", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1678976, - "completion_time": "2022-01-31T13:43:23.545505865Z", - "initial_balance": "31600000", - "shares_dst": "31600000.000000000000000000" - }, - "balance": "31600000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a2sevf430w8rfnsxg8jym9qccdqc472xnrvl6s", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693413, - "completion_time": "2022-02-01T14:14:21.205482384Z", - "initial_balance": "36000000", - "shares_dst": "36007201.078321480866082153" - }, - "balance": "36000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1atyn8vmqwz2mgrg0qkflj3tys89ant7ecer8xw", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1791254, - "completion_time": "2022-02-08T12:23:05.910426984Z", - "initial_balance": "14800000", - "shares_dst": "14800000.000000000000000000" - }, - "balance": "14800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1adx0xqng2zvd8tmsgdc5ukk5z9h5rd9cgn2r65", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727467, - "completion_time": "2022-02-03T23:42:03.479756021Z", - "initial_balance": "15000000000", - "shares_dst": "15000000000.000000000000000000" - }, - "balance": "15000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a0nu0r5hm8asqfydx69ty6kgaq6r3cv5wxk90y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1596379, - "completion_time": "2022-01-25T18:33:34.841825523Z", - "initial_balance": "1500000000", - "shares_dst": "1500000000.000000000000000000" - }, - "balance": "1500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aszpxp86gq9qnw8yyyxfkcfcau0870u3g9jh6n", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780248, - "completion_time": "2022-02-07T17:49:05.499160742Z", - "initial_balance": "3999999999", - "shares_dst": "3999999999.000000000000000000" - }, - "balance": "3999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1asyza8sx9d77kgvtmjfwanvr3vjgwa9l29hrlf", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693266, - "completion_time": "2022-02-01T13:59:23.681756894Z", - "initial_balance": "2015699999", - "shares_dst": "2015699999.000000000000000000" - }, - "balance": "2015699999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1asyza8sx9d77kgvtmjfwanvr3vjgwa9l29hrlf", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1693271, - "completion_time": "2022-02-01T13:59:53.42672759Z", - "initial_balance": "1826900000", - "shares_dst": "1826900000.000000000000000000" - }, - "balance": "1826900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a3evplj5ud82vqc5un6rpjxefj5cvrdgzr4kte", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668854, - "completion_time": "2022-01-30T20:40:33.997222146Z", - "initial_balance": "1200000", - "shares_dst": "1200000.000000000000000000" - }, - "balance": "1200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ans8uegfu93t4sytpa6889nz4d5eju29lef53n", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1597428, - "completion_time": "2022-01-25T20:20:42.446718783Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1anc4znu6aj6kvr464rwl6yvxkqcxrr0hze8w4h", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1705889, - "completion_time": "2022-02-02T11:14:53.210926918Z", - "initial_balance": "5915000000", - "shares_dst": "5915000000.000000000000000000" - }, - "balance": "5915000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a4283ae7tvrxhwt564wec03vxgdj8yd4exc0pc", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1615173, - "completion_time": "2022-01-27T02:16:45.517418575Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ahpsm8ah0sdg2rhrxlhcmfmv9fx2fm285mqvek", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1704083, - "completion_time": "2022-02-02T08:10:59.550264834Z", - "initial_balance": "87775034", - "shares_dst": "87775034.000000000000000000" - }, - "balance": "87775034" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ahg837mxaue8kprcd0c3u9tkthgx68v9ztnh6v", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731943, - "completion_time": "2022-02-04T07:22:04.426718873Z", - "initial_balance": "51642442", - "shares_dst": "51642442.000000000000000000" - }, - "balance": "51642442" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ahwd90kmact0uewv9084dtlmvck8x2zwavlnx5", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1624657, - "completion_time": "2022-01-27T18:13:09.412790439Z", - "initial_balance": "24000000", - "shares_dst": "24000000.000000000000000000" - }, - "balance": "24000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1acdfanqnsm7kwuhvq2m4tgghvecpzzj284wcfu", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1708633, - "completion_time": "2022-02-02T15:52:42.07841874Z", - "initial_balance": "2550000000", - "shares_dst": "2550000000.000000000000000000" - }, - "balance": "2550000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1acswx48zy648ldwwqwln5nk62vj20grej3pavz", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1749483, - "completion_time": "2022-02-05T14:02:18.871799216Z", - "initial_balance": "10000000", - "shares_dst": "10411244.675619157005898439" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ach4qtd022asl2nd48asglxagq2hwp63sa49cz", - "validator_src_address": "secretvaloper1kn73a34p004dzjyf0mzwmluh2692nptxkkaft9", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1689181, - "completion_time": "2022-02-01T07:07:41.258569559Z", - "initial_balance": "199999999", - "shares_dst": "199999999.000000000000000000" - }, - "balance": "199999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1acavl9f5f0lu325u6qmcg2e76gvtraw8uzfcza", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741665, - "completion_time": "2022-02-05T00:22:33.032997974Z", - "initial_balance": "613000000", - "shares_dst": "613000000.000000000000000000" - }, - "balance": "613000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aezgvzjayvpg66rxqyffemdw2clw2dr3vkk3l2", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1720459, - "completion_time": "2022-02-03T11:49:36.436398614Z", - "initial_balance": "61533000008", - "shares_dst": "61533000008.000000000000000000" - }, - "balance": "61533000008" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1au2yxrpna8avd6yunzy3map0e9nqzvkpjfk8dv", - "validator_src_address": "secretvaloper1cpp4s3t962tsn737fj4v8jr7net50qgxpn3nap", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681460, - "completion_time": "2022-01-31T17:58:57.32864279Z", - "initial_balance": "222000000", - "shares_dst": "222000000.000000000000000000" - }, - "balance": "222000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aayr0hfasddx49g9hamru9kqs7cwh8eerm3x8j", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1701430, - "completion_time": "2022-02-02T03:44:01.736535707Z", - "initial_balance": "950000000", - "shares_dst": "950000000.000000000000000000" - }, - "balance": "950000000" - }, - { - "redelegation_entry": { - "creation_height": 1701444, - "completion_time": "2022-02-02T03:45:30.736880332Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1aa69dsx0udv4wrnqv3ghzyxrhr355gc29pdaaw", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731831, - "completion_time": "2022-02-04T07:10:48.690320403Z", - "initial_balance": "118544992", - "shares_dst": "118544992.000000000000000000" - }, - "balance": "118544992" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a7gxt8ctnpwf8uwgrmadmsutcjq9lvy86z5ccv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1593867, - "completion_time": "2022-01-25T14:16:21.673482413Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a7gxt8ctnpwf8uwgrmadmsutcjq9lvy86z5ccv", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1583012, - "completion_time": "2022-01-24T19:47:09.265065313Z", - "initial_balance": "16058534", - "shares_dst": "16058534.000000000000000000" - }, - "balance": "16058534" - }, - { - "redelegation_entry": { - "creation_height": 1619765, - "completion_time": "2022-01-27T09:59:47.480516658Z", - "initial_balance": "30000000", - "shares_dst": "30000000.000000000000000000" - }, - "balance": "30000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a73tdmyzauvsqept3mgvjn0jdt207zeu0jp7tm", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1784409, - "completion_time": "2022-02-08T00:52:26.567491379Z", - "initial_balance": "5500000", - "shares_dst": "5501100.164699469287137995" - }, - "balance": "5500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1a73tdmyzauvsqept3mgvjn0jdt207zeu0jp7tm", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1784398, - "completion_time": "2022-02-08T00:51:20.017964725Z", - "initial_balance": "7162100", - "shares_dst": "7163532.634471648905711097" - }, - "balance": "7162100" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1alx7h23djler97qex0jrkr5fauh6x0nslyd746", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692237, - "completion_time": "2022-02-01T12:15:41.241337955Z", - "initial_balance": "45999999", - "shares_dst": "45999999.000000000000000000" - }, - "balance": "45999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1alx7h23djler97qex0jrkr5fauh6x0nslyd746", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692223, - "completion_time": "2022-02-01T12:14:17.482925347Z", - "initial_balance": "263010000", - "shares_dst": "263010000.000000000000000000" - }, - "balance": "263010000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1alx7h23djler97qex0jrkr5fauh6x0nslyd746", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692243, - "completion_time": "2022-02-01T12:16:17.749599348Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1alx7h23djler97qex0jrkr5fauh6x0nslyd746", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692250, - "completion_time": "2022-02-01T12:17:04.704527592Z", - "initial_balance": "56000000", - "shares_dst": "56000000.000000000000000000" - }, - "balance": "56000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1alx7h23djler97qex0jrkr5fauh6x0nslyd746", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1692241, - "completion_time": "2022-02-01T12:16:05.5407036Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17q2q6lyp76y9z5y4ahhhdekgl2lzxgrghfypxl", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643413, - "completion_time": "2022-01-29T01:52:44.125418503Z", - "initial_balance": "1874466009", - "shares_dst": "1874466009.000000000000000000" - }, - "balance": "1874466009" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17qeuyjv256l2mh6juasjrphx4m9sxmunggngu5", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655456, - "completion_time": "2022-01-29T22:08:01.228941614Z", - "initial_balance": "14619594727", - "shares_dst": "14619594727.000000000000000000" - }, - "balance": "14619594727" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17pvylv7gzd9ml2wh589fg6djch9983jau4eq5a", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1638949, - "completion_time": "2022-01-28T18:20:46.174099291Z", - "initial_balance": "1999984", - "shares_dst": "2000384.056581865417899103" - }, - "balance": "1999984" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17p6mrjx7dmwpm88eu0c9nkhmvjlzz9he0mxhgw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683730, - "completion_time": "2022-01-31T21:52:36.096870177Z", - "initial_balance": "287000000", - "shares_dst": "287000000.000000000000000000" - }, - "balance": "287000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17p6mrjx7dmwpm88eu0c9nkhmvjlzz9he0mxhgw", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1683735, - "completion_time": "2022-01-31T21:53:06.037446182Z", - "initial_balance": "286999999", - "shares_dst": "286999999.000000000000000000" - }, - "balance": "286999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17z2sym0eduldkhwx40nf5sknlfp3j0y9h27nmg", - "validator_src_address": "secretvaloper1nsf2zmhe3ktn5fqtrpffnktc4g7uag05ggse54", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1791318, - "completion_time": "2022-02-08T12:29:30.83136029Z", - "initial_balance": "300000000", - "shares_dst": "300000000.000000000000000000" - }, - "balance": "300000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17ztazy7gk9r5z90unj2752kq6p69vsazqan0pr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1606953, - "completion_time": "2022-01-26T12:21:07.922638456Z", - "initial_balance": "13000000", - "shares_dst": "13000000.000000000000000000" - }, - "balance": "13000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17z6r7z0hjytrcxqeutefzgdrax80lkd59849dc", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1750192, - "completion_time": "2022-02-05T15:14:31.133298171Z", - "initial_balance": "17800000", - "shares_dst": "17800000.000000000000000000" - }, - "balance": "17800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17rt5ny8earrvpxq9xdvf9z6y67wwm2t92p7ppm", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1588304, - "completion_time": "2022-01-25T04:52:16.314543639Z", - "initial_balance": "19000000", - "shares_dst": "19000000.000000000000000000" - }, - "balance": "19000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17y47zthh32xf07gmwf8w9udlp8ek3f5kvexhr3", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1793659, - "completion_time": "2022-02-08T16:25:50.563847777Z", - "initial_balance": "1859999", - "shares_dst": "1859999.000000000000000000" - }, - "balance": "1859999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17y47zthh32xf07gmwf8w9udlp8ek3f5kvexhr3", - "validator_src_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "validator_dst_address": "secretvaloper1404h4aet3jn8uw7660670nqej2plsgqul74mjp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1851653, - "completion_time": "2022-02-12T20:48:57.402788082Z", - "initial_balance": "1232771", - "shares_dst": "1232771.000000000000000000" - }, - "balance": "1232771" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret179thtmh3gwaqwn47y2dze7k3zdgf6vnzxjcsxq", - "validator_src_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725403, - "completion_time": "2022-02-03T20:10:38.586897139Z", - "initial_balance": "50500000", - "shares_dst": "50500000.000000000000000000" - }, - "balance": "50500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17xlvkaj69qnlnp8ny53hlapxxgmfseutg5d9dr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804439, - "completion_time": "2022-02-09T10:35:18.334845833Z", - "initial_balance": "295340000", - "shares_dst": "295340000.000000000000000000" - }, - "balance": "295340000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret178klqh738rw36juca07x7shwjykzpew2072ekv", - "validator_src_address": "secretvaloper1mp97ajv30nrd3zmzmuyu926y4dkkh0xndrss2l", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1603965, - "completion_time": "2022-01-26T07:20:09.172055142Z", - "initial_balance": "77702000", - "shares_dst": "77702000.000000000000000000" - }, - "balance": "77702000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17gsfhjtcj5d33f0zxnhmks6hldulqsv7p73zt6", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1837277, - "completion_time": "2022-02-11T17:49:24.624942509Z", - "initial_balance": "1250000", - "shares_dst": "1250000.000000000000000000" - }, - "balance": "1250000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17gczvn7syh0ejp7vuu4vw3u9ruutr2pqsd6kf2", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740623, - "completion_time": "2022-02-04T22:27:40.269358872Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17ftm6693y30jtpfgrdyhw3sphya34ermmp90q9", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681021, - "completion_time": "2022-01-31T17:13:23.693931561Z", - "initial_balance": "325000000", - "shares_dst": "325000000.000000000000000000" - }, - "balance": "325000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret172p68kr6295cqjq6ra94vgqf2s4x9qvrecehqn", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1688158, - "completion_time": "2022-02-01T05:24:51.961237922Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret172p68kr6295cqjq6ra94vgqf2s4x9qvrecehqn", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1688152, - "completion_time": "2022-02-01T05:24:16.400505904Z", - "initial_balance": "50000000", - "shares_dst": "50000000.000000000000000000" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret172hxdt6we3w7qmjelxyf7ul3xuq0nntc3nug99", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1739366, - "completion_time": "2022-02-04T20:12:23.539979266Z", - "initial_balance": "905000000", - "shares_dst": "905000000.000000000000000000" - }, - "balance": "905000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17t08gk6tehycwc3cza0myqu2kyxrf6k8qevw2y", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769241, - "completion_time": "2022-02-06T23:17:11.587014938Z", - "initial_balance": "6000000", - "shares_dst": "6000000.000000000000000000" - }, - "balance": "6000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17tey2w4x3rpy45qzz680v03gug72ryxjkym830", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1840351, - "completion_time": "2022-02-11T22:59:55.35495252Z", - "initial_balance": "11000000", - "shares_dst": "11000000.000000000000000000" - }, - "balance": "11000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17tu8n0x98073r5c3sht076336ujqtnxcmsnnqg", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728345, - "completion_time": "2022-02-04T01:14:24.147161678Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17tu8n0x98073r5c3sht076336ujqtnxcmsnnqg", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728188, - "completion_time": "2022-02-04T00:56:45.0882575Z", - "initial_balance": "7000000509", - "shares_dst": "7000000509.000000000000000000" - }, - "balance": "7000000509" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17tu8n0x98073r5c3sht076336ujqtnxcmsnnqg", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1728184, - "completion_time": "2022-02-04T00:56:20.777507471Z", - "initial_balance": "7000000150", - "shares_dst": "7000000150.000000000000000000" - }, - "balance": "7000000150" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17vzpsk3vhqh9lyyeeu2kp5jn9m4xc4mw2tn98k", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1589899, - "completion_time": "2022-01-25T07:35:24.140331355Z", - "initial_balance": "2714632575", - "shares_dst": "2714632575.000000000000000000" - }, - "balance": "2714632575" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17dx5mvctduxdwn289tg9dcl7ctmz4r72f5wf6y", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736199, - "completion_time": "2022-02-04T14:32:32.333778204Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17df84egxgtzv0taqftwtdnq4ltvnc8qke2vtf8", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1763291, - "completion_time": "2022-02-06T13:16:18.076415746Z", - "initial_balance": "506999999", - "shares_dst": "506999999.000000000000000000" - }, - "balance": "506999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17dea2f3yg075qupn07dl2fqkhz0t2wutmmz2l7", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1721550, - "completion_time": "2022-02-03T13:39:20.466341626Z", - "initial_balance": "5000000000", - "shares_dst": "5000000000.000000000000000000" - }, - "balance": "5000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret170qnl6nulm2eu94d6y5qr6ujlch2f5r632h5nj", - "validator_src_address": "secretvaloper1qwk76cwj9l0hqjftjwks4g6auyzwye3raqg7kp", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1736113, - "completion_time": "2022-02-04T14:23:47.478598101Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1708ufuun5xwfmnxqam6l4744knnvqnystqqjgf", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682465, - "completion_time": "2022-01-31T19:42:38.489828569Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1708ufuun5xwfmnxqam6l4744knnvqnystqqjgf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1682475, - "completion_time": "2022-01-31T19:43:38.404766566Z", - "initial_balance": "500157585", - "shares_dst": "500157585.000000000000000000" - }, - "balance": "500157585" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1708ufuun5xwfmnxqam6l4744knnvqnystqqjgf", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740564, - "completion_time": "2022-02-04T22:21:37.641102134Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret170mnvq98tc6a46sckduss3qeu8n9683kmq6qq3", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1769295, - "completion_time": "2022-02-06T23:22:36.521938757Z", - "initial_balance": "45100000", - "shares_dst": "45100000.000000000000000000" - }, - "balance": "45100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret170mnvq98tc6a46sckduss3qeu8n9683kmq6qq3", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1765675, - "completion_time": "2022-02-06T17:16:25.174588494Z", - "initial_balance": "29100000", - "shares_dst": "29100000.000000000000000000" - }, - "balance": "29100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17s4pats94699k3ylczh9g8p9628vtnfr4ca3jc", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797124, - "completion_time": "2022-02-08T22:16:52.203111345Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17s4pats94699k3ylczh9g8p9628vtnfr4ca3jc", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1dywc4mruhhhrhc75088cud6ag4yvpdqdpf3p06", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1797132, - "completion_time": "2022-02-08T22:17:41.02112829Z", - "initial_balance": "40000000", - "shares_dst": "40000000.000000000000000000" - }, - "balance": "40000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret173vm0hlupt2pch5ae2crw5jkjwpzrxp3cv6qmx", - "validator_src_address": "secretvaloper1sa8av4qw3xerr58kwvnm8wvd87zgp36mv6cnyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1807603, - "completion_time": "2022-02-09T15:55:15.042240917Z", - "initial_balance": "356999999", - "shares_dst": "356999999.000000000000000000" - }, - "balance": "356999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17nzlp3ht3ucpdv67d9clej524v50r6sr8q4cj9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1804463, - "completion_time": "2022-02-09T10:37:47.051189146Z", - "initial_balance": "673819999", - "shares_dst": "673819999.000000000000000000" - }, - "balance": "673819999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17nwyzxjck76cd3aj2fsz5rvnzr7svprgzu9trp", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1794578, - "completion_time": "2022-02-08T17:58:33.735854484Z", - "initial_balance": "5744678", - "shares_dst": "5744678.000000000000000000" - }, - "balance": "5744678" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17nsukgx6v4c2j7qj35m6v542dz8fw7gjjnslhs", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725734, - "completion_time": "2022-02-03T20:44:14.268811578Z", - "initial_balance": "2800000", - "shares_dst": "2800000.000000000000000000" - }, - "balance": "2800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17nsukgx6v4c2j7qj35m6v542dz8fw7gjjnslhs", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725743, - "completion_time": "2022-02-03T20:45:09.281390817Z", - "initial_balance": "37000000", - "shares_dst": "37000000.000000000000000000" - }, - "balance": "37000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17n34j0wq0068d3psmfu5c8v3kpgu7hqt6gvk8r", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1643147, - "completion_time": "2022-01-29T01:25:55.606833316Z", - "initial_balance": "105000000", - "shares_dst": "105000000.000000000000000000" - }, - "balance": "105000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret175n3x9khmzlrfwsyr9j8tlxk9pxu4vur8g3mct", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1784577, - "completion_time": "2022-02-08T01:09:19.890549908Z", - "initial_balance": "41000000", - "shares_dst": "41000000.000000000000000000" - }, - "balance": "41000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret175n3x9khmzlrfwsyr9j8tlxk9pxu4vur8g3mct", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1784590, - "completion_time": "2022-02-08T01:10:37.798757406Z", - "initial_balance": "500000", - "shares_dst": "500000.000000000000000000" - }, - "balance": "500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret174z97jyvfz2wsyzwxtk6uf4u98x6grg99ypjr3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599559, - "completion_time": "2022-01-25T23:56:28.167878094Z", - "initial_balance": "15000000", - "shares_dst": "15000000.000000000000000000" - }, - "balance": "15000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1740s3f009yvxn42w3zwq8rc9ccwasztvx5dxv2", - "validator_src_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1699213, - "completion_time": "2022-02-02T00:00:09.654489451Z", - "initial_balance": "1999934", - "shares_dst": "2000334.046576427422822908" - }, - "balance": "1999934" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1740s3f009yvxn42w3zwq8rc9ccwasztvx5dxv2", - "validator_src_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1699224, - "completion_time": "2022-02-02T00:01:16.105350115Z", - "initial_balance": "1808938", - "shares_dst": "1809299.841667709769115594" - }, - "balance": "1808938" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17kfdznhwckhd783lmgnykak3g34pladrm5rahk", - "validator_src_address": "secretvaloper1fy2s7er0c6uxc8hmnqfgukvkf7xh22s4yr6jqe", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731513, - "completion_time": "2022-02-04T06:38:36.184005629Z", - "initial_balance": "100499999", - "shares_dst": "100499999.000000000000000000" - }, - "balance": "100499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17h6xpn58l3k7g52h6lrdvpuql325wrxj4e0vke", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726891, - "completion_time": "2022-02-03T22:42:13.346410912Z", - "initial_balance": "276972300", - "shares_dst": "276972300.000000000000000000" - }, - "balance": "276972300" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17h6xpn58l3k7g52h6lrdvpuql325wrxj4e0vke", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1726897, - "completion_time": "2022-02-03T22:42:49.557193003Z", - "initial_balance": "59999999", - "shares_dst": "59999999.000000000000000000" - }, - "balance": "59999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17c0ecltxgy49mm39rev726xjr5faw6jug8u62n", - "validator_src_address": "secretvaloper1qx5pppsfrqwlnmxj7prpx8rysxm2u5vzhaux25", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1833005, - "completion_time": "2022-02-11T10:40:02.308948736Z", - "initial_balance": "200000", - "shares_dst": "200020.001964058509682936" - }, - "balance": "200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17c0ecltxgy49mm39rev726xjr5faw6jug8u62n", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832997, - "completion_time": "2022-02-11T10:39:14.87812104Z", - "initial_balance": "199999", - "shares_dst": "200019.001864048689390388" - }, - "balance": "199999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176rsym4rpa8cn852kxycex2xsq0hde0w9zavmr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767103, - "completion_time": "2022-02-06T19:41:01.462889651Z", - "initial_balance": "400000000", - "shares_dst": "400000000.000000000000000000" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176rsym4rpa8cn852kxycex2xsq0hde0w9zavmr", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1767096, - "completion_time": "2022-02-06T19:40:19.577393713Z", - "initial_balance": "400000000", - "shares_dst": "400080011.911873030168576170" - }, - "balance": "400000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1768jll7r48hpg07ucj34pwfrv363h96wpx5fku", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1873748, - "completion_time": "2022-02-14T14:59:07.378765177Z", - "initial_balance": "1001000000", - "shares_dst": "1001000000.000000000000000000" - }, - "balance": "1001000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176s0ju84w0xrsr7merd3mvpqngfgzm5auhd7nw", - "validator_src_address": "secretvaloper1vws5gh9pcpd6xeljl9qgu28mkqtvket49aqn7e", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850349, - "completion_time": "2022-02-12T18:13:05.009704318Z", - "initial_balance": "8499999", - "shares_dst": "8499999.000000000000000000" - }, - "balance": "8499999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176jmp0sqnunezh0xc0lxkw6tlls4d7sgxsflzj", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632444, - "completion_time": "2022-01-28T07:20:02.090173672Z", - "initial_balance": "120000000", - "shares_dst": "120000000.000000000000000000" - }, - "balance": "120000000" - }, - { - "redelegation_entry": { - "creation_height": 1670458, - "completion_time": "2022-01-30T23:22:39.783136254Z", - "initial_balance": "84134852", - "shares_dst": "84134852.000000000000000000" - }, - "balance": "84134852" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176jmp0sqnunezh0xc0lxkw6tlls4d7sgxsflzj", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632471, - "completion_time": "2022-01-28T07:22:50.974099737Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176jmp0sqnunezh0xc0lxkw6tlls4d7sgxsflzj", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670451, - "completion_time": "2022-01-30T23:21:57.667416981Z", - "initial_balance": "84977500", - "shares_dst": "84977500.000000000000000000" - }, - "balance": "84977500" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176c2uvnu3uw5wgz2n05l09dwyukcsczt8c8pyy", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1662291, - "completion_time": "2022-01-30T09:37:34.95814823Z", - "initial_balance": "10000000", - "shares_dst": "10000000.000000000000000000" - }, - "balance": "10000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176ear2r30620aeqaqew0xahgx75hpnqgnz60rh", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1687343, - "completion_time": "2022-02-01T04:01:45.019945173Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret176a5r6cfdgmsvwrmlxw984udmjwsagg3ju0yg9", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1584482, - "completion_time": "2022-01-24T22:20:01.760715444Z", - "initial_balance": "61850096", - "shares_dst": "61850096.000000000000000000" - }, - "balance": "61850096" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17mvdvpuctxtn8uhep44wr2laghq4454eecek2y", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648477, - "completion_time": "2022-01-29T10:21:40.02794349Z", - "initial_balance": "519000000", - "shares_dst": "519000000.000000000000000000" - }, - "balance": "519000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17mvdvpuctxtn8uhep44wr2laghq4454eecek2y", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648467, - "completion_time": "2022-01-29T10:20:39.964450351Z", - "initial_balance": "528000000", - "shares_dst": "528000000.000000000000000000" - }, - "balance": "528000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17mvdvpuctxtn8uhep44wr2laghq4454eecek2y", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1648472, - "completion_time": "2022-01-29T10:21:10.309251339Z", - "initial_balance": "524000000", - "shares_dst": "524000000.000000000000000000" - }, - "balance": "524000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17mekc49xvnmln5r33t4gmvnu5533x9udwgc0vw", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1710929, - "completion_time": "2022-02-02T19:45:41.925483503Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17adhtckv7c2ttw35l4e3xp5gtykmew59crnsm5", - "validator_src_address": "secretvaloper1uzskqhqmahu52vg4vazdzmphe8rx94ntt4alzg", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1819243, - "completion_time": "2022-02-10T11:34:13.869097631Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17a5427fqzuxmufn8wdxfrtt9t6wczjwhh8x8vg", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832088, - "completion_time": "2022-02-11T09:08:21.183253346Z", - "initial_balance": "21274342", - "shares_dst": "21274342.000000000000000000" - }, - "balance": "21274342" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17a5427fqzuxmufn8wdxfrtt9t6wczjwhh8x8vg", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832059, - "completion_time": "2022-02-11T09:05:27.781625523Z", - "initial_balance": "20500000", - "shares_dst": "20500000.000000000000000000" - }, - "balance": "20500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17a5427fqzuxmufn8wdxfrtt9t6wczjwhh8x8vg", - "validator_src_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1832071, - "completion_time": "2022-02-11T09:06:39.879502422Z", - "initial_balance": "10200000", - "shares_dst": "10201020.100166983993829776" - }, - "balance": "10200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1778wapthj3ewqjndkkm4k58xzs6960evn6uqzz", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1670547, - "completion_time": "2022-01-30T23:31:34.821296479Z", - "initial_balance": "736000000", - "shares_dst": "736000000.000000000000000000" - }, - "balance": "736000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret177wwal5mpysewpqaeqp7ezwm2y0uqttesldalp", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1757484, - "completion_time": "2022-02-06T03:29:58.237531719Z", - "initial_balance": "59513055", - "shares_dst": "59513055.000000000000000000" - }, - "balance": "59513055" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17lylzwkdgm97g0tpsmarxp5w4tghrulths50sa", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1630395, - "completion_time": "2022-01-28T03:53:25.02280643Z", - "initial_balance": "2810000", - "shares_dst": "2810000.000000000000000000" - }, - "balance": "2810000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17l8dyqr25svw86yld8ennragsf0q0a2k02atte", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1698676, - "completion_time": "2022-02-01T23:05:58.203376381Z", - "initial_balance": "1800000000", - "shares_dst": "1800000000.000000000000000000" - }, - "balance": "1800000000" - }, - { - "redelegation_entry": { - "creation_height": 1711216, - "completion_time": "2022-02-02T20:14:56.644313943Z", - "initial_balance": "80000000", - "shares_dst": "80000000.000000000000000000" - }, - "balance": "80000000" - }, - { - "redelegation_entry": { - "creation_height": 1727256, - "completion_time": "2022-02-03T23:20:35.174719434Z", - "initial_balance": "21749999", - "shares_dst": "21749999.000000000000000000" - }, - "balance": "21749999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17l6vvlmhfd9guzdcfk2jpxcywzc3vfs2p3tad9", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1667902, - "completion_time": "2022-01-30T19:03:42.955094416Z", - "initial_balance": "27736000000", - "shares_dst": "27736000000.000000000000000000" - }, - "balance": "27736000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret17l6vvlmhfd9guzdcfk2jpxcywzc3vfs2p3tad9", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1727309, - "completion_time": "2022-02-03T23:25:56.248878269Z", - "initial_balance": "18441000000", - "shares_dst": "18441000000.000000000000000000" - }, - "balance": "18441000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lqx8punvj2yda6vn3gg4h5c8zahjy2y0x60qyt", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801385, - "completion_time": "2022-02-09T05:27:17.015001401Z", - "initial_balance": "281500000", - "shares_dst": "281500000.000000000000000000" - }, - "balance": "281500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lqhyrrmqyv75846utuctzjjdca9dr4xmatna5g", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1621287, - "completion_time": "2022-01-27T12:32:41.401841413Z", - "initial_balance": "321849999", - "shares_dst": "321849999.000000000000000000" - }, - "balance": "321849999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lp4kljqfrplh9n8nvh606u3sakfvvgknm054xh", - "validator_src_address": "secretvaloper13nddx75w3fggn8x6awf2u4wv30hha27lx64mec", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1780918, - "completion_time": "2022-02-07T18:58:17.475090451Z", - "initial_balance": "11900000", - "shares_dst": "11900000.000000000000000000" - }, - "balance": "11900000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lpku3pkrg0nwwv3u5p7dljn5tyg7x3ggav3ryx", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1yfkkr7krkaudr3tm8tp3jhmu7xn4ncf9tthhsp", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839337, - "completion_time": "2022-02-11T21:16:18.198401695Z", - "initial_balance": "26999999", - "shares_dst": "26999999.000000000000000000" - }, - "balance": "26999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lpku3pkrg0nwwv3u5p7dljn5tyg7x3ggav3ryx", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1839318, - "completion_time": "2022-02-11T21:14:24.875064706Z", - "initial_balance": "23000000", - "shares_dst": "23000000.000000000000000000" - }, - "balance": "23000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lpuzhrjyyvcawd0exzuxgu0ajlsy3exp9jnd0t", - "validator_src_address": "secretvaloper1gvupp942d0nqta55n53gxaaqg8zwr0m8lme83y", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1817726, - "completion_time": "2022-02-10T09:01:56.975596639Z", - "initial_balance": "697472511", - "shares_dst": "697472511.000000000000000000" - }, - "balance": "697472511" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lzdjpn3aw7k2y3rquyl2zjj26xcng8nqf98mct", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1625535, - "completion_time": "2022-01-27T19:42:37.301433645Z", - "initial_balance": "179018600", - "shares_dst": "179018600.000000000000000000" - }, - "balance": "179018600" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lzdcgsqmkgrqeu06nwrzjwfy5g0z47nrvdmkn9", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1822612, - "completion_time": "2022-02-10T17:14:23.487378127Z", - "initial_balance": "22000000", - "shares_dst": "22000000.000000000000000000" - }, - "balance": "22000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lzdcgsqmkgrqeu06nwrzjwfy5g0z47nrvdmkn9", - "validator_src_address": "secretvaloper1hjd20hjvkx06y8p42xl0uzr3gr3ue3nkvd79jj", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1821695, - "completion_time": "2022-02-10T15:41:43.387731811Z", - "initial_balance": "7800000", - "shares_dst": "7800000.000000000000000000" - }, - "balance": "7800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lrfx72qes7mu8gn43cy39aqfla2s5nu6c2vwj0", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1733339, - "completion_time": "2022-02-04T09:43:13.3956923Z", - "initial_balance": "1000000", - "shares_dst": "1000000.000000000000000000" - }, - "balance": "1000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l98zs7mr8jfn37yr4xs2ekplvne9jzcgvc695q", - "validator_src_address": "secretvaloper1lyafdwwzwfmjc8zhsew5pdcdu46na6pg09fql4", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1702326, - "completion_time": "2022-02-02T05:14:16.851318983Z", - "initial_balance": "5191300001", - "shares_dst": "5191300001.000000000000000000" - }, - "balance": "5191300001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lxfgnvn2saaqxa8dwvg95hvj5gvj0vhygl65xg", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1809775, - "completion_time": "2022-02-09T19:41:36.510341624Z", - "initial_balance": "31288870", - "shares_dst": "31288870.000000000000000000" - }, - "balance": "31288870" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8qnlhrkmzhut323l5e7v490pz43lw05dx4nn8", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787886, - "completion_time": "2022-02-08T06:42:33.753750734Z", - "initial_balance": "61200000", - "shares_dst": "61200000.000000000000000000" - }, - "balance": "61200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8qnlhrkmzhut323l5e7v490pz43lw05dx4nn8", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1743552, - "completion_time": "2022-02-05T03:43:19.973208371Z", - "initial_balance": "70330000", - "shares_dst": "70330000.000000000000000000" - }, - "balance": "70330000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8qnlhrkmzhut323l5e7v490pz43lw05dx4nn8", - "validator_src_address": "secretvaloper10d8ka27mt3t3uyrqqva3j6ztwj3jl4zxpppskf", - "validator_dst_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1743564, - "completion_time": "2022-02-05T03:44:31.782039617Z", - "initial_balance": "23200000", - "shares_dst": "23200000.000000000000000000" - }, - "balance": "23200000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8qnlhrkmzhut323l5e7v490pz43lw05dx4nn8", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787936, - "completion_time": "2022-02-08T06:47:43.239656266Z", - "initial_balance": "72313999", - "shares_dst": "72313999.000000000000000000" - }, - "balance": "72313999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8qnlhrkmzhut323l5e7v490pz43lw05dx4nn8", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1787892, - "completion_time": "2022-02-08T06:43:09.750658111Z", - "initial_balance": "31100000", - "shares_dst": "31100000.000000000000000000" - }, - "balance": "31100000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8tyl9x0npk3cc7etpjws0k7lwmn9n9qc27p47", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599227, - "completion_time": "2022-01-25T23:23:03.99376292Z", - "initial_balance": "2200000000", - "shares_dst": "2200000000.000000000000000000" - }, - "balance": "2200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l8tyl9x0npk3cc7etpjws0k7lwmn9n9qc27p47", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1599191, - "completion_time": "2022-01-25T23:19:27.401948149Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l86pcy2avrvv8knpm637092juytemr034c3uqz", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1654912, - "completion_time": "2022-01-29T21:13:07.857712414Z", - "initial_balance": "60000000", - "shares_dst": "60000000.000000000000000000" - }, - "balance": "60000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602271, - "completion_time": "2022-01-26T04:29:31.147812319Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602259, - "completion_time": "2022-01-26T04:28:19.781320935Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602247, - "completion_time": "2022-01-26T04:27:06.427348026Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602254, - "completion_time": "2022-01-26T04:27:49.67278339Z", - "initial_balance": "2000000000", - "shares_dst": "2000000000.000000000000000000" - }, - "balance": "2000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1725647, - "completion_time": "2022-02-03T20:35:22.89302485Z", - "initial_balance": "500000000", - "shares_dst": "500000000.000000000000000000" - }, - "balance": "500000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg9hu49zxetge30x36pf8nccy5xeq7vz22ct2j", - "validator_src_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1602265, - "completion_time": "2022-01-26T04:28:55.083323012Z", - "initial_balance": "1499999999", - "shares_dst": "1499999999.000000000000000000" - }, - "balance": "1499999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg7336l534p0n4z3h9qtvxrr9k8d25j0sghw3g", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850471, - "completion_time": "2022-02-12T18:25:30.59814962Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lg7336l534p0n4z3h9qtvxrr9k8d25j0sghw3g", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1850494, - "completion_time": "2022-02-12T18:27:50.329454358Z", - "initial_balance": "200000000", - "shares_dst": "200000000.000000000000000000" - }, - "balance": "200000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lfjtsnzdy09lsl4n3mmmqxau76fgraaud2a3gm", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1815231, - "completion_time": "2022-02-10T04:51:13.164278884Z", - "initial_balance": "2000000", - "shares_dst": "2000800.196604407788248440" - }, - "balance": "2000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lfna5hf4xketg5ada780v66eusf7v6q0n2x2hy", - "validator_src_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669038, - "completion_time": "2022-01-30T20:59:14.121730487Z", - "initial_balance": "5000000", - "shares_dst": "5000000.000000000000000000" - }, - "balance": "5000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lfna5hf4xketg5ada780v66eusf7v6q0n2x2hy", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1669034, - "completion_time": "2022-01-30T20:58:49.871632578Z", - "initial_balance": "95000000", - "shares_dst": "95000000.000000000000000000" - }, - "balance": "95000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lf70l23a5zfkj5u5aez90vtfx3y5rcgpmtzrnd", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1681931, - "completion_time": "2022-01-31T18:47:40.088087736Z", - "initial_balance": "53000000", - "shares_dst": "53021205.211425290764746510" - }, - "balance": "53000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ltzrz32wnnxjjj0vdwd7tmymjctrf09szjm5e3", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1746539, - "completion_time": "2022-02-05T09:04:35.563799613Z", - "initial_balance": "197300000", - "shares_dst": "197300000.000000000000000000" - }, - "balance": "197300000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ltkrnks0swq9uc682qj6yh26y6zseswk27l2ds", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1635585, - "completion_time": "2022-01-28T12:38:01.066064535Z", - "initial_balance": "42500000", - "shares_dst": "42500000.000000000000000000" - }, - "balance": "42500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt6rc7ntcep4anf2zhll37rtv3dw5gst2sgkxa", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1729952, - "completion_time": "2022-02-04T03:59:17.278722137Z", - "initial_balance": "13028072", - "shares_dst": "13028072.000000000000000000" - }, - "balance": "13028072" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt6rc7ntcep4anf2zhll37rtv3dw5gst2sgkxa", - "validator_src_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1616141, - "completion_time": "2022-01-27T03:54:48.351684719Z", - "initial_balance": "13029549", - "shares_dst": "13029549.000000000000000000" - }, - "balance": "13029549" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1q89ynugndrlh79c6n8lk8qxkjspn9t8rvnv9el", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684198, - "completion_time": "2022-01-31T22:40:51.918236454Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684223, - "completion_time": "2022-01-31T22:43:22.519885526Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1qup4hqzvjrqlzqgzndheny29wh25q3w0ga80v6", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684243, - "completion_time": "2022-01-31T22:45:26.614528482Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684259, - "completion_time": "2022-01-31T22:47:07.274146658Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684228, - "completion_time": "2022-01-31T22:43:52.638782402Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684213, - "completion_time": "2022-01-31T22:42:22.220194266Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684246, - "completion_time": "2022-01-31T22:45:49.277663462Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684255, - "completion_time": "2022-01-31T22:46:43.295726142Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1vzkdmu0sa8gaj686jh5all7hpmmsp8x87vyz8z", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684194, - "completion_time": "2022-01-31T22:40:27.784009353Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684218, - "completion_time": "2022-01-31T22:42:51.883351231Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684208, - "completion_time": "2022-01-31T22:41:52.008025699Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper14cmhv376dth9tm3shcuextyhksu8cnfs0kq76p", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684186, - "completion_time": "2022-01-31T22:39:39.591732662Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684190, - "completion_time": "2022-01-31T22:40:03.450626419Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684251, - "completion_time": "2022-01-31T22:46:19.600600796Z", - "initial_balance": "19999999", - "shares_dst": "19999999.000000000000000000" - }, - "balance": "19999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper16w5hlcf389le2n60t32eqf43plp539ged9sruy", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684203, - "completion_time": "2022-01-31T22:41:22.021987752Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lt7464jsche92fslwm2tdy4gxfpa5l5vk4p9td", - "validator_src_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1684181, - "completion_time": "2022-01-31T22:39:09.606378002Z", - "initial_balance": "20000000", - "shares_dst": "20000000.000000000000000000" - }, - "balance": "20000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lv64h29wzuv4z2zy7mpgz73k40qkr53zqhgh5j", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1709717, - "completion_time": "2022-02-02T17:42:53.202356425Z", - "initial_balance": "1250000000", - "shares_dst": "1250000000.000000000000000000" - }, - "balance": "1250000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lwkpyc07zta670uuz750xet787czp6uc2v6x30", - "validator_src_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1668679, - "completion_time": "2022-01-30T20:22:59.760047393Z", - "initial_balance": "10999999", - "shares_dst": "10999999.000000000000000000" - }, - "balance": "10999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l0nf6cddsnes35fktaasxe8x6wszrcg8evq9s9", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1704251, - "completion_time": "2022-02-02T08:27:50.389755808Z", - "initial_balance": "116000000", - "shares_dst": "116000000.000000000000000000" - }, - "balance": "116000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ls62y5fd78vsv93k078uf2ha96gfxkx967h74l", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1835912, - "completion_time": "2022-02-11T15:31:47.522189606Z", - "initial_balance": "256000000", - "shares_dst": "256051207.650827795448091464" - }, - "balance": "256000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ls7g4ty7k8myw7whgprdfnxljx23sxxpqt9hl3", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1680724, - "completion_time": "2022-01-31T16:43:04.950833955Z", - "initial_balance": "41909491", - "shares_dst": "41909491.000000000000000000" - }, - "balance": "41909491" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lslhzl2anhsc40kxadx476jwqjcq4zpf0tc332", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730354, - "completion_time": "2022-02-04T04:40:26.444823884Z", - "initial_balance": "440000000", - "shares_dst": "440000000.000000000000000000" - }, - "balance": "440000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lslhzl2anhsc40kxadx476jwqjcq4zpf0tc332", - "validator_src_address": "secretvaloper1njvnz9dyd2suqzsuetxvfdsu6pjx5yxrpt3wr0", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1730359, - "completion_time": "2022-02-04T04:40:56.67669028Z", - "initial_balance": "5619000000", - "shares_dst": "5619000000.000000000000000000" - }, - "balance": "5619000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljd7msknlc3gnf0xg0gm0d2qxrappnmjsqald8", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655105, - "completion_time": "2022-01-29T21:32:32.257148593Z", - "initial_balance": "13000000", - "shares_dst": "13000000.000000000000000000" - }, - "balance": "13000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljd7msknlc3gnf0xg0gm0d2qxrappnmjsqald8", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655095, - "completion_time": "2022-01-29T21:31:31.825934599Z", - "initial_balance": "25000000", - "shares_dst": "25000000.000000000000000000" - }, - "balance": "25000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljd7msknlc3gnf0xg0gm0d2qxrappnmjsqald8", - "validator_src_address": "secretvaloper16k26akna7h295rfjx3278s7xusnt736vy437y8", - "validator_dst_address": "secretvaloper1nqxdqq6qhtaj9m2t2mgvzds0xa6fa2g9sk5ymu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1655101, - "completion_time": "2022-01-29T21:32:08.220331231Z", - "initial_balance": "25999999", - "shares_dst": "25999999.000000000000000000" - }, - "balance": "25999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljsll5q094p67qug8zcepl9j02uswdrr2u46wf", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823806, - "completion_time": "2022-02-10T19:14:13.74599877Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljsll5q094p67qug8zcepl9j02uswdrr2u46wf", - "validator_src_address": "secretvaloper18762353s6ulgla3efvf0hpe5rjjxp5ndfvl8z7", - "validator_dst_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823828, - "completion_time": "2022-02-10T19:16:25.712688512Z", - "initial_balance": "100000000", - "shares_dst": "100000000.000000000000000000" - }, - "balance": "100000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljsll5q094p67qug8zcepl9j02uswdrr2u46wf", - "validator_src_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "validator_dst_address": "secretvaloper1arfql9hv2m8nq3ssyjd0z8t4r4vh5senz5sj00", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1823854, - "completion_time": "2022-02-10T19:19:03.3512472Z", - "initial_balance": "150000000", - "shares_dst": "150000000.000000000000000000" - }, - "balance": "150000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1ljngm9qp3m0rdxguyt3gnzpskrnglv8ff7hkr4", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper16p3vgawu8vpfd74l7lx78cap2jhq4ql4gf0kew", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1867211, - "completion_time": "2022-02-14T01:53:37.520254958Z", - "initial_balance": "12000000000", - "shares_dst": "12002400357.096458819644459914" - }, - "balance": "12000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l4twv0qesyrmjmamz2hgw5pe4szt9rwp9tul4y", - "validator_src_address": "secretvaloper13456m8z3kqlkh8xhkyupzjlx96g8g7f6yhnne7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632062, - "completion_time": "2022-01-28T06:41:36.213407472Z", - "initial_balance": "109999999", - "shares_dst": "109999999.000000000000000000" - }, - "balance": "109999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l4twv0qesyrmjmamz2hgw5pe4szt9rwp9tul4y", - "validator_src_address": "secretvaloper1hf2y3x956cw9v43ruj060zjdamwh9xs2h02gyg", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1632356, - "completion_time": "2022-01-28T07:11:11.334532096Z", - "initial_balance": "190000000", - "shares_dst": "190000000.000000000000000000" - }, - "balance": "190000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lkh49pvche3527sll7gc7kcl8axgyu33ykx094", - "validator_src_address": "secretvaloper1rfnmcuwzf3zn7r025j9zr3ncc7mt9ge56l7se7", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1836921, - "completion_time": "2022-02-11T17:13:51.308592984Z", - "initial_balance": "1180000", - "shares_dst": "1180000.000000000000000000" - }, - "balance": "1180000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lkh49pvche3527sll7gc7kcl8axgyu33ykx094", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper15urq2dtp9qce4fyc85m6upwm9xul30490eylnc", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1801210, - "completion_time": "2022-02-09T05:09:38.844609419Z", - "initial_balance": "2500000", - "shares_dst": "2501250.374436422804205348" - }, - "balance": "2500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lk72h6jz38rj58tr4v9y0pxgvfj2syjrr9hyew", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1595337, - "completion_time": "2022-01-25T16:46:25.234671228Z", - "initial_balance": "22027350", - "shares_dst": "22027350.000000000000000000" - }, - "balance": "22027350" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lk72h6jz38rj58tr4v9y0pxgvfj2syjrr9hyew", - "validator_src_address": "secretvaloper14mwwdad00y7lwwmmk3yw2l2qhn6jzjpy28fmfw", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1617646, - "completion_time": "2022-01-27T06:26:19.801477386Z", - "initial_balance": "8627350", - "shares_dst": "8627350.000000000000000000" - }, - "balance": "8627350" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lhfx9m03yckcgpvlwczy0c37k6a8efpqjxrjwd", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1859600, - "completion_time": "2022-02-13T12:31:42.959325039Z", - "initial_balance": "10195039", - "shares_dst": "10196058.603999472081422891" - }, - "balance": "10195039" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lhath9cjm23qq9cpndtjj2kqva3jg5fzffnr7d", - "validator_src_address": "secretvaloper16zkp5ngqkxtpr4wz3ew7jhyq2elsyaer6xj32s", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731655, - "completion_time": "2022-02-04T06:52:53.806578738Z", - "initial_balance": "102500000", - "shares_dst": "102500000.000000000000000000" - }, - "balance": "102500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lefclsw0vtptxal0q56eg7d69xvxkaz87nwnq3", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1fpf4rt42pr34ccef4wwuw4ljpm4flath8cwfgh", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731277, - "completion_time": "2022-02-04T06:14:32.230891398Z", - "initial_balance": "4274961999", - "shares_dst": "4274961999.000000000000000000" - }, - "balance": "4274961999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lefclsw0vtptxal0q56eg7d69xvxkaz87nwnq3", - "validator_src_address": "secretvaloper1wymh574639erejzntw8n3lh4sk5lwhgp9at2gd", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1650997, - "completion_time": "2022-01-29T14:35:43.305815035Z", - "initial_balance": "93634663398", - "shares_dst": "93634663398.000000000000000000" - }, - "balance": "93634663398" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lefclsw0vtptxal0q56eg7d69xvxkaz87nwnq3", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1y7zw4uv8xw8gw3kpefxh2la5aay58vx6m6zemr", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1731316, - "completion_time": "2022-02-04T06:18:30.139685104Z", - "initial_balance": "11999999999", - "shares_dst": "12001200080.238233853394090271" - }, - "balance": "11999999999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1le3skpq756zf0ehhzsqwka0yr9m24n8msdltms", - "validator_src_address": "secretvaloper1a26frgj0c90q8y00crsmsd60na79l6kzet3uqu", - "validator_dst_address": "secretvaloper1ahawe276d250zpxt0xgpfg63ymmu63a0svuvgw", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1790130, - "completion_time": "2022-02-08T10:29:46.239582171Z", - "initial_balance": "19996500000", - "shares_dst": "19996500000.000000000000000000" - }, - "balance": "19996500000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lmgtjyxlpxdds9te2ca0j0lfdkaslhl8dgqvff", - "validator_src_address": "secretvaloper12y30xefd0wg53xtyv9lw7mjcdvf8nxgzzva3sr", - "validator_dst_address": "secretvaloper12ancx2qcgk04rrkexuhjq93etgktq4nn58z9yu", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1637468, - "completion_time": "2022-01-28T15:50:07.609652864Z", - "initial_balance": "351800000", - "shares_dst": "351800000.000000000000000000" - }, - "balance": "351800000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lmg3924gccw0jvtj79ektfmk7l39jzje7d4dkk", - "validator_src_address": "secretvaloper1x76f2c2cuwa4e3lttjgqeqva0725ftmqvgvfnv", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1779867, - "completion_time": "2022-02-07T17:10:06.207075695Z", - "initial_balance": "339276948", - "shares_dst": "339276948.000000000000000000" - }, - "balance": "339276948" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lmd5yu2ylm54gajpk8tu96e0797nezgddrgn7m", - "validator_src_address": "secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1773865, - "completion_time": "2022-02-07T07:03:05.541397656Z", - "initial_balance": "355899999", - "shares_dst": "355899999.000000000000000000" - }, - "balance": "355899999" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lmde3zpdw56t6gsac0xywnvp3szrxd8qs66pcy", - "validator_src_address": "secretvaloper1ddxa7g76yc23jfg93lj8kdzke7ak4t9vkaza42", - "validator_dst_address": "secretvaloper1hzryhvapnq4x6cvx0yakd49vzkld5wx25h00fd", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1628959, - "completion_time": "2022-01-28T01:28:37.539511607Z", - "initial_balance": "50000000000", - "shares_dst": "50020004916.815162638670052252" - }, - "balance": "50000000001" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lmcqy9j9fe8dhfrjmx9fupt2vnuzr33pvqw37w", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper1rg3gp7rcu2yfu7e88nqquntpa65m29pmzulcmy", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854730, - "completion_time": "2022-02-13T03:02:39.599961254Z", - "initial_balance": "50000000", - "shares_dst": "50005000.500050005000500050" - }, - "balance": "50000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lupdfs5uzgvvjlexz3lcwystwxps94tl02jxlf", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1741355, - "completion_time": "2022-02-04T23:49:24.711545304Z", - "initial_balance": "8000000", - "shares_dst": "8000000.000000000000000000" - }, - "balance": "8000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1luzxl6r5hfc6v025v7myfwvfda5cv2n7uafzhq", - "validator_src_address": "secretvaloper19dw5tuep06ke9smem3df0lqvhpd25ke3we95n3", - "validator_dst_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1772965, - "completion_time": "2022-02-07T05:32:15.260223941Z", - "initial_balance": "53400000", - "shares_dst": "53400000.000000000000000000" - }, - "balance": "53400000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lufvmz793ety8ef6rlgxzmduyl5v6acghfju20", - "validator_src_address": "secretvaloper1xj5ykuzn0mkq9642yxgqmh4ycplzhr2pza25mk", - "validator_dst_address": "secretvaloper17ch6g4ukgd7zyjsj2kcnvkhe4dtn08mu2angye", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1757678, - "completion_time": "2022-02-06T03:49:31.104044914Z", - "initial_balance": "100050000", - "shares_dst": "100050000.000000000000000000" - }, - "balance": "100050000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lauuqxx8yyclm3aqn80m86vcssz58cef2fjn96", - "validator_src_address": "secretvaloper1t5wtcuwjkdct9qkw2h6m48zu2hectpd6ulmekk", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854207, - "completion_time": "2022-02-13T02:00:02.804333907Z", - "initial_balance": "1000000000", - "shares_dst": "1000000000.000000000000000000" - }, - "balance": "1000000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1lauuqxx8yyclm3aqn80m86vcssz58cef2fjn96", - "validator_src_address": "secretvaloper1nc2justrp64paes6vrkk5atqxheqkjnl5sc76q", - "validator_dst_address": "secretvaloper1q0rth4fu4svxnw63vjd7w74nadzsdp0fmkhj3d", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1854214, - "completion_time": "2022-02-13T02:00:47.350164763Z", - "initial_balance": "708000000", - "shares_dst": "708000000.000000000000000000" - }, - "balance": "708000000" - } - ] - }, - { - "redelegation": { - "delegator_address": "secret1l7gjyer3uh5ww357tnpxa53rlfqx92wn45xh5v", - "validator_src_address": "secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka", - "validator_dst_address": "secretvaloper1jmd0h669t0dg9hz2yesuy80ahq0wm8segghg4y", - "entries": null - }, - "entries": [ - { - "redelegation_entry": { - "creation_height": 1740399, - "completion_time": "2022-02-04T22:04:39.848018011Z", - "initial_balance": "24501795", - "shares_dst": "24501795.000000000000000000" - }, - "balance": "24501795" - } - ] - } -] \ No newline at end of file diff --git a/tests/json_examples/StdTx.data.json b/tests/json_examples/StdTx.data.json deleted file mode 100644 index 6e1aba1..0000000 --- a/tests/json_examples/StdTx.data.json +++ /dev/null @@ -1 +0,0 @@ -{"total_count":"3","count":"3","page_number":"1","page_total":"1","limit":"30","txs":[{"height":"1781815","txhash":"4FD31667705DDDBC19E561982025821E8E6269E622297257932E10F7BE292B67","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up\"},{\"key\":\"amount\",\"value\":\"44650876uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44650876uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"44650876uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"44650876uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up"},{"key":"amount","value":"44650876uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"44650876uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"44650876uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"44650876uscrt"},{"key":"validator","value":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}]}]}],"gas_wanted":"25000","gas_used":"20437","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret18tgpcerhn50m2pqy9nmwshst8xva9eaert84up","validator_address":"secretvaloper1hscf4cjrhzsea5an5smt4z9aezhh4sf5jjrqka"}}],"fee":{"amount":[{"denom":"uscrt","amount":"6250"}],"gas":"25000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A3v8ahisaNlWNCIXN82M3kE9LUJegOZzrlNuqmrg3SDh"},"signature":"uc7tvOpDuBsCs2Hy3640OtVwJre5rdy/OqDn5wV++Qonsw+HZ90qpqawjTGfBzJayZVkzR2Y0R1oZOgyV5vUAw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2022-01-17T20:29:49Z"},{"height":"1781815","txhash":"BE769AFDC968532903A3598816EFEC839E984F91DFAA99007F24B106B31F7146","data":"0A390A372F636F736D6F732E646973747269627574696F6E2E763162657461312E4D7367576974686472617744656C656761746F72526577617264","raw_log":"[{\"events\":[{\"type\":\"coin_received\",\"attributes\":[{\"key\":\"receiver\",\"value\":\"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l\"},{\"key\":\"amount\",\"value\":\"3828911uscrt\"}]},{\"type\":\"coin_spent\",\"attributes\":[{\"key\":\"spender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3828911uscrt\"}]},{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"module\",\"value\":\"distribution\"},{\"key\":\"sender\",\"value\":\"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l\"}]},{\"type\":\"transfer\",\"attributes\":[{\"key\":\"recipient\",\"value\":\"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l\"},{\"key\":\"sender\",\"value\":\"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r\"},{\"key\":\"amount\",\"value\":\"3828911uscrt\"}]},{\"type\":\"withdraw_rewards\",\"attributes\":[{\"key\":\"amount\",\"value\":\"3828911uscrt\"},{\"key\":\"validator\",\"value\":\"secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq\"}]}]}]","logs":[{"events":[{"type":"coin_received","attributes":[{"key":"receiver","value":"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l"},{"key":"amount","value":"3828911uscrt"}]},{"type":"coin_spent","attributes":[{"key":"spender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3828911uscrt"}]},{"type":"message","attributes":[{"key":"action","value":"/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"module","value":"distribution"},{"key":"sender","value":"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l"}]},{"type":"transfer","attributes":[{"key":"recipient","value":"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l"},{"key":"sender","value":"secret1jv65s3grqf6v6jl3dp4t6c9t9rk99cd896s45r"},{"key":"amount","value":"3828911uscrt"}]},{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"3828911uscrt"},{"key":"validator","value":"secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq"}]}]}],"gas_wanted":"25000","gas_used":"20160","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"cosmos-sdk/MsgWithdrawDelegationReward","value":{"delegator_address":"secret1gytzfdxff2rrrzpr7dncqdwlms2k6hpjvdjz9l","validator_address":"secretvaloper14r0rrde5wjwfq8zmnu5jt9kmd636wgsf8shedq"}}],"fee":{"amount":[{"denom":"uscrt","amount":"7500"}],"gas":"25000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"A8cDiWfz/OXAjnutmAH/9grSWQdYRqvt2FHDskVt17jK"},"signature":"ztY1KCRITtql3AjRckNvsVHozQyu1IVjF8CQUwkR+dlLx3fcYb0vkAcns3f6TxZWVjhC2NovHZ38Hrxu/D7tWw=="}],"memo":"","timeout_height":"0"}},"timestamp":"2022-01-17T20:29:49Z"},{"height":"1781815","txhash":"A469B513237C7F2FCBE99E16CBF5BF7EDE4FCA7A96FB2C31EC74DA4B84BD3F46","data":"0A97030A2A2F7365637265742E636F6D707574652E763162657461312E4D736745786563757465436F6E747261637412E80244F6119CB0500B4DA1CCD3DDC2D592BA0DFD7ADE57838ECA68F6725A4DAFF45C80FC649C7714EC442BF3C52FB9A43BAFE135DD02229B65DAFFF642718300E9684CC1728D31B41AF737DFC151D7B7C5CA42CDFF4626A2FB32A7EB93CB299C66F26ACB34F6E85B7512313F8E96A0761F3E81657956B0CF34AE3DCBBD1DD8A8952AE32E1BE382CD277C8D6D548D401DE74181843CE9FB0C16030CA3D83563E3776E039E587D5ACB32A5A35F4D914BB8C0B7A4882F8D5C5E98BC422309156131CB62452DFDF74DF0CD22585B5637F629130CE270D0499BCBDBFE1108B8B037036500E7853E989AE3879381CA3E433BB4C64CA0BEE811E5D98A753088562EC5E66DF71648B1A1C69384C8C284C9B80434114E4D2298BCD04E038D76418BE79DCAAAA64DA5C01F666CF65943A68CFC1770ABAB76B3FCBF4847DC0F9B63824CAF44A98C34580A8192BFAC05BAE5442C9401F920A4CF040F6BDD23A57EADC6DAE77229FCEAB0BA0B96C445CE","raw_log":"[{\"events\":[{\"type\":\"message\",\"attributes\":[{\"key\":\"action\",\"value\":\"execute\"},{\"key\":\"module\",\"value\":\"compute\"},{\"key\":\"signer\",\"value\":\"secret1zcjl9t2jtnlrernqxxqvpg4c0eef6q3qg9sp3y\"},{\"key\":\"contract_address\",\"value\":\"secret15l9cqgz5uezgydrglaak5ahfac69kmx2qpd6xt\"}]},{\"type\":\"wasm\",\"attributes\":[{\"key\":\"contract_address\",\"value\":\"secret15l9cqgz5uezgydrglaak5ahfac69kmx2qpd6xt\"}]}]}]","logs":[{"events":[{"type":"message","attributes":[{"key":"action","value":"execute"},{"key":"module","value":"compute"},{"key":"signer","value":"secret1zcjl9t2jtnlrernqxxqvpg4c0eef6q3qg9sp3y"},{"key":"contract_address","value":"secret15l9cqgz5uezgydrglaak5ahfac69kmx2qpd6xt"}]},{"type":"wasm","attributes":[{"key":"contract_address","value":"secret15l9cqgz5uezgydrglaak5ahfac69kmx2qpd6xt"}]}]}],"gas_wanted":"50000","gas_used":"23792","tx":{"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"wasm/MsgExecuteContract","value":{"sender":"secret1zcjl9t2jtnlrernqxxqvpg4c0eef6q3qg9sp3y","contract":"secret15l9cqgz5uezgydrglaak5ahfac69kmx2qpd6xt","msg":"eApcuuWI11n8BQ4I28wUSi1TJcfbuTZUy6r2ArNj2QpQNHfbQD4ja26LAUAJvHhSxHFf/Ovvx85cHi+VT9/pNd8JJ2LcsmMJt7J5fppZWRSYZixBQvy22Uu53byvJDvq5+osCSk7FIMeMDqV+zREdqB/m9oZqg9rLklDDKYweizuwyhrehYuVMMxIkru/Tc7p+8IL2+r5pcotR1J8w/vFlwxiIvc5edz2/+NnJUf+5A91nPTEmWKuUojbb17d1vxG/ijS3qihvhUb04pv/5nutQB+w==","sent_funds":[]}}],"fee":{"amount":[{"denom":"uscrt","amount":"12500"}],"gas":"50000"},"signatures":[{"pub_key":{"type":"tendermint/PubKeySecp256k1","value":"Awdl0FFwm1TlGX+RLAHRp+sCV1ssUm7qFjVDoNELEr9L"},"signature":"vHnm1xRLg7n/2J4yV0Idr5ACtLQDKKfGyv/YoPfB4+hvlHbsbq39Bsuzqoe9XzH/x3zdI17kwCrEcpm+XH6h8g=="}],"memo":"","timeout_height":"0"}},"timestamp":"2022-01-17T20:29:49Z"}]} \ No newline at end of file diff --git a/tests/json_examples/UnbondingDelegation.data.json b/tests/json_examples/UnbondingDelegation.data.json deleted file mode 100644 index e790746..0000000 --- a/tests/json_examples/UnbondingDelegation.data.json +++ /dev/null @@ -1,14 +0,0 @@ -[ - { - "delegator_address": "secret1axk8d8hmpradn7k33x95r8dvq77tajg8v6hn5e", - "validator_address": "secretvaloper1rtx7h36z9u0pd8kt3detrz5mg5ulys5zupfa35", - "entries": [ - { - "creation_height": "1875439", - "completion_time": "2022-02-14T18:39:20.153068957Z", - "initial_balance": "88431141", - "balance": "88431141" - } - ] - } -] \ No newline at end of file diff --git a/tests/key/mnemonic_test.py b/tests/key/mnemonic_test.py index c95c65a..a17517f 100644 --- a/tests/key/mnemonic_test.py +++ b/tests/key/mnemonic_test.py @@ -3,7 +3,7 @@ from secret_sdk.core import SignDoc import base64 -from secret_sdk.core.tx import AuthInfo, SignerInfo, SignMode, Tx, TxBody +from secret_sdk.core.tx import AuthInfo, TxBody from secret_sdk.core.fee import Fee from secret_sdk.core import Coins, Numeric @@ -41,9 +41,9 @@ def test_signature(): dict(uscrt="1000000"), ) - tx_body=TxBody([send]) + tx_body = TxBody([send]) - auth_info=AuthInfo(signer_infos=[], fee=Fee(Numeric.parse(46467), Coins('698uscrt'))) + auth_info = AuthInfo(signer_infos=[], fee=Fee(Numeric.parse(46467), Coins('698uscrt'))) signDoc = SignDoc( chain_id="holodeck-2", From a4b63aebdaa3959a44c6763c97a8381beb96c77e Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 6 Nov 2022 15:27:53 +0000 Subject: [PATCH 44/47] Fix json log decrypt parsing on errors and test --- secret_sdk/client/lcd/api/tx.py | 6 ++-- secret_sdk/util/tx.py | 17 +++++++++++ tests/test.py | 51 +++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 secret_sdk/util/tx.py diff --git a/secret_sdk/client/lcd/api/tx.py b/secret_sdk/client/lcd/api/tx.py index 1fdb620..3d103b6 100644 --- a/secret_sdk/client/lcd/api/tx.py +++ b/secret_sdk/client/lcd/api/tx.py @@ -242,15 +242,15 @@ def decrypt_txs_response(self, txs_response) -> TxInfo: ) rgx_matches = error_message_rgx.findall(raw_log) if rgx_matches: - msg_index,error_cipher_b64 = rgx_matches[0] + msg_index, error_cipher_b64 = rgx_matches[0] error_cipher_bz = base64.b64decode(error_cipher_b64) error_plain_bz = self._c.encrypt_utils.decrypt(error_cipher_bz, nonces[int(msg_index)]) raw_log = raw_log.replace( - f'encrypted: {error_cipher_b64}', error_plain_bz + f'encrypted: {error_cipher_b64}', error_plain_bz.decode('utf-8') ) try: - json_log = TxLog(0, json.loads(error_plain_bz), [{}]) + json_log = TxLog(0, json.loads(error_plain_bz), []) except: pass except: diff --git a/secret_sdk/util/tx.py b/secret_sdk/util/tx.py new file mode 100644 index 0000000..13a224c --- /dev/null +++ b/secret_sdk/util/tx.py @@ -0,0 +1,17 @@ +import json + + +def get_value_from_raw_log( + raw_log: str, + key: str, +): + if not raw_log: + return '' + + raw_log = json.loads(raw_log) + for l in raw_log: + for e in l['events']: + for a in e['attributes']: + if f'{e["type"]}.{a["key"]}' == key: + return str(a['value']) + return '' \ No newline at end of file diff --git a/tests/test.py b/tests/test.py index 48e06b3..6a4eae5 100644 --- a/tests/test.py +++ b/tests/test.py @@ -139,6 +139,8 @@ def test_store_code(): code_info = pytest.secret.wasm.code_info(code_id) code_hash = code_info['code_info']['code_hash'] + pytest.sscrt_code_info = code_info + pytest.sscrt_code_hash = code_hash msg_init = MsgInstantiateContract( sender=pytest.accounts[0]['address'], @@ -216,6 +218,55 @@ def test_store_code(): assert '{"create_viewing_key":{"key":"' in tx_execute.data[0].data.decode('utf-8') +def test_get_tx_error(): + msg_execute = MsgExecuteContract( + sender=pytest.accounts[0]['address'], + contract=pytest.sscrt_contract_address, + code_hash=pytest.sscrt_code_hash, + msg={ + 'transfer': { + 'recipient': pytest.accounts[1]['address'], + 'amount': '2' + } + }, + encryption_utils=pytest.secret.encrypt_utils + ) + tx_execute = pytest.accounts[0]['wallet'].create_and_broadcast_tx( + [msg_execute], + gas='5000000', + gas_prices=Coins('0.25uscrt') + ) + assert 'failed to execute message; message index: 0' in tx_execute.rawlog + assert tx_execute.logs.log == {'generic_err': {'msg': 'insufficient funds: balance=1, required=2'}} + + def test_query_compute(): + res = pytest.secret.wasm.contract_query( + contract_address=pytest.sscrt_contract_address, + query={'token_info': {}}, + contract_code_hash=pytest.sscrt_code_hash + ) + assert res == {'token_info': {'name': 'Secret SCRT', 'symbol': 'SSCRT', 'decimals': 6, 'total_supply': '1'}} + + +def test_query_compute_without_code_hash(): res = pytest.secret.wasm.contract_query(contract_address=pytest.sscrt_contract_address, query={'token_info': {}}) assert res == {'token_info': {'name': 'Secret SCRT', 'symbol': 'SSCRT', 'decimals': 6, 'total_supply': '1'}} + + +def test_query_compute_std_error(): + res = pytest.secret.wasm.contract_query( + contract_address=pytest.sscrt_contract_address, + query={'balance': {'address': pytest.accounts[0]['address'], 'key': 'wrong'}} + ) + assert res == {'viewing_key_error': {'msg': 'Wrong viewing key for this address or viewing key not set'}} + + +# raise LCDError and not decrypting error message +# : {'code': 3, 'message': 'encrypted: 8RyuV/YLcY9TccteFzCBB1i2YBj4r3wTfP/xa87SDpO9w++j1sUNQI6uF6jp4mX+zoNq0fl3RcILgwt+YkYgnUZmYGsyMbuF/fdsKeGJYzjUuuPORlRmI9kxfrXI47CNR1G58OXn34QBAKXUGDpiPkh4kcODlDZThclCiTKJDatVivnfS/HEt6AggaDKOMMZohvB/hCAX9MFrnqtQDEekV80+fWhbsSWgbEkXDpcLaLpwdgsJHDovDwDXg1u2MPtUHFQJrVNwmmbX0/5sopn3owEN4BobjMywlRcVAynJgusJS8ewfcNilonUHR3Ycw3fq4gvdOU6Yad6ZVhq2O4fdOTU1ukRU1XqJ9QOC1TrgbgdjI5y4AKqkRrIgXb/j5KxkyxGNeVFKEmmDw=: query contract failed: invalid request', 'details': []} +# def test_query_compute_vm_error(): +# res = pytest.secret.wasm.contract_query( +# contract_address=pytest.sscrt_contract_address, +# query={'non_existent_query': {}} +# ) +# assert res == {"parse_err": {"msg": "unknown variant `non_existent_query`, expected one of `token_info`, `token_config`, `contract_status`, `exchange_rate`, `allowance`, `balance`, `transfer_history`, `transaction_history`, `minters`, `with_permit`", "target": "snip20_reference_impl::msg::QueryMsg"}} From 6971df99d47717937d437143e4bf898b21dd8902 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 6 Nov 2022 15:34:12 +0000 Subject: [PATCH 45/47] Move local chain tests to pytest --- tests/conftest.py | 2 ++ tests/{test.py => local_chain_test.py} | 0 2 files changed, 2 insertions(+) rename tests/{test.py => local_chain_test.py} (100%) diff --git a/tests/conftest.py b/tests/conftest.py index 0d5d6bc..cd188a2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,4 @@ +import time import json from pathlib import Path @@ -34,3 +35,4 @@ def pytest_configure(): setup_localsecret() secret = LCDClient(url='http://localhost:1317', chain_id='secretdev-1') pytest.secret = secret + time.sleep(1) diff --git a/tests/test.py b/tests/local_chain_test.py similarity index 100% rename from tests/test.py rename to tests/local_chain_test.py From 6eb98b1ba9fffe4623f7dfd531ef35783a446d75 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 6 Nov 2022 15:41:45 +0000 Subject: [PATCH 46/47] 1.4.0 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 39f9c78..ff119cd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ license = "MIT" packages = [{ include = "secret_sdk" }] readme = "README.md" repository = "https://github.com/stephanegg/secret-sdk-python" -version = "1.0" +version = "1.4.0" [tool.poetry.dependencies] aiohttp = "^3.7.3" From e978704fd6099627f4f8c55547ddbe5ccc675e99 Mon Sep 17 00:00:00 2001 From: Stephane Guilherme Gomes Date: Sun, 6 Nov 2022 15:42:24 +0000 Subject: [PATCH 47/47] 1.4.0 --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 5b073c4..b11cfe0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,7 +24,7 @@ author = "SCRT LabRador, Secret analytics" # The full version, including alpha/beta/rc tags -release = "1.0.0" +release = "1.4.0" # -- General configuration ---------------------------------------------------