From 39ddf908fbf9ea7941907d07972d6adcd02438e5 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Fri, 10 Jun 2022 21:07:42 +0900 Subject: [PATCH 01/10] chore: add simapp script used lbm-sdk docker image Signed-off-by: zemyblue --- scripts/simapp/env | 4 + scripts/simapp/start.sh | 45 ++ scripts/simapp/stop.sh | 11 + .../simapp/template/.simapp/config/app.toml | 215 +++++++ .../template/.simapp/config/client.toml | 17 + .../template/.simapp/config/config.toml | 439 ++++++++++++++ .../template/.simapp/config/genesis.json | 574 ++++++++++++++++++ ...b8105f14f63184661236f0089ee5415f5ec4d.json | 1 + .../template/.simapp/config/node_key.json | 1 + .../.simapp/config/priv_validator_key.json | 11 + .../.simapp/data/priv_validator_state.json | 5 + scripts/simapp/template/.simapp/keyhash | 1 + ...727439683865756176346865726679756d.address | 1 + ...7477337a32757339727066643230756430.address | 1 + ...3835713938783435347768396676617361.address | 1 + ...74716667657061677967656c656c303068.address | 1 + ...636537776d36746b7134633478736b3939.address | 1 + ...6e393734366d6d6c6a7134386577326b33.address | 1 + ...6d656e6d3967737978387461377239747a.address | 1 + ...38676a786637336863796633786b6a6636.address | 1 + ...72777538683963386d6833727478373035.address | 1 + ...736a7873773932706b366a347875673239.address | 1 + .../template/.simapp/keyring-test/add01.info | 1 + .../template/.simapp/keyring-test/add02.info | 1 + .../template/.simapp/keyring-test/add03.info | 1 + .../template/.simapp/keyring-test/add04.info | 1 + .../template/.simapp/keyring-test/add05.info | 1 + .../template/.simapp/keyring-test/add06.info | 1 + .../template/.simapp/keyring-test/add07.info | 1 + .../template/.simapp/keyring-test/add08.info | 1 + .../template/.simapp/keyring-test/add09.info | 1 + .../template/.simapp/keyring-test/jack.info | 1 + .../.simapp/keyring-test/validator0.info | 1 + scripts/simapp/template/run_simd.sh | 7 + scripts/simapp/template/setup.sh | 47 ++ 35 files changed, 1399 insertions(+) create mode 100644 scripts/simapp/env create mode 100755 scripts/simapp/start.sh create mode 100755 scripts/simapp/stop.sh create mode 100644 scripts/simapp/template/.simapp/config/app.toml create mode 100644 scripts/simapp/template/.simapp/config/client.toml create mode 100644 scripts/simapp/template/.simapp/config/config.toml create mode 100644 scripts/simapp/template/.simapp/config/genesis.json create mode 100644 scripts/simapp/template/.simapp/config/gentx/gentx-9feb8105f14f63184661236f0089ee5415f5ec4d.json create mode 100644 scripts/simapp/template/.simapp/config/node_key.json create mode 100644 scripts/simapp/template/.simapp/config/priv_validator_key.json create mode 100644 scripts/simapp/template/.simapp/data/priv_validator_state.json create mode 100755 scripts/simapp/template/.simapp/keyhash create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b3130303877656e677232387a357175617432647a7270727439683865756176346865726679756d.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b313074717275753976366e363767636e6c666a7830677477337a32757339727066643230756430.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b31327377326764656574656676706b6a396c6b356c6b3835713938783435347768396676617361.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b31343661736179636d7479647134356b78633865766e74716667657061677967656c656c303068.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b316838326c6c77376d35727630356e616c366e6a3932636537776d36746b7134633478736b3939.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b31686c647436797368356a6871326c713564336a396c6e393734366d6d6c6a7134386577326b33.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b316a386d393739647776307268373479707a646368636d656e6d3967737978387461377239747a.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b317461356c786c6763326e75386d7372636735336d3438676a786637336863796633786b6a6636.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b31747773666d756a32386e64706835346b346e77386372777538683963386d6833727478373035.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/6c696e6b3178716b67386c326d7268377a666474746b63726e6b736a7873773932706b366a347875673239.address create mode 100644 scripts/simapp/template/.simapp/keyring-test/add01.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add02.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add03.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add04.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add05.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add06.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add07.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add08.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/add09.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/jack.info create mode 100644 scripts/simapp/template/.simapp/keyring-test/validator0.info create mode 100755 scripts/simapp/template/run_simd.sh create mode 100755 scripts/simapp/template/setup.sh diff --git a/scripts/simapp/env b/scripts/simapp/env new file mode 100644 index 000000000..34a9943a8 --- /dev/null +++ b/scripts/simapp/env @@ -0,0 +1,4 @@ +# Choose from https://hub.docker.com/r/line/lbm-simapp/tags +REPOSITORY="line/lbm-simapp" +VERSION="0.46.0-rc2" +CONTAINER_NAME="lbmapp" diff --git a/scripts/simapp/start.sh b/scripts/simapp/start.sh new file mode 100755 index 000000000..318635bb1 --- /dev/null +++ b/scripts/simapp/start.sh @@ -0,0 +1,45 @@ +#!/bin/bash +set -o errexit -o nounset -o pipefail +command -v shellcheck >/dev/null && shellcheck "$0" + +# Please keep this in sync with the Ports overview in HACKING.md +TENDERMINT_PORT_GUEST="26657" +TENDERMINT_PORT_HOST="26658" +API_PORT_GUEST="1317" +API_PORT_HOST="1317" +GRPC_PORT_GUEST="9090" +GRPC_PORT_HOST="9090" + +SCRIPT_DIR="$(realpath "$(dirname "$0")")" +# shellcheck source=./env +# shellcheck disable=SC1091 +source "$SCRIPT_DIR"/env + +TMP_DIR=$(mktemp -d "${TMPDIR:-/tmp}/simapp.XXXXXXXXX") +chmod 777 "$TMP_DIR" +echo "Using temporary dir $TMP_DIR" +SIMD_LOGFILE="$TMP_DIR/simd.log" + +# Use a fresh volume for every start +docker volume rm -f simapp_data + +docker run --rm \ + --name "$CONTAINER_NAME" \ + -p "$TENDERMINT_PORT_HOST":"$TENDERMINT_PORT_GUEST" \ + -p "$API_PORT_HOST":"$API_PORT_GUEST" \ + -p "$GRPC_PORT_HOST":"$GRPC_PORT_GUEST" \ + --mount type=bind,source="$SCRIPT_DIR/template",target=/template \ + --mount type=volume,source=simapp_data,target=/root \ + "$REPOSITORY:$VERSION" \ + /template/run_simd.sh \ + >"$SIMD_LOGFILE" 2>&1 & + +echo "simd running on http://localhost:$TENDERMINT_PORT_HOST and logging into $SIMD_LOGFILE" + +if [ -n "${CI:-}" ]; then + # Give process some time to come alive. No idea why this helps. Needed for CI. + sleep 0.5 + + # Follow the logs in CI's background job + tail -f "$SIMD_LOGFILE" +fi diff --git a/scripts/simapp/stop.sh b/scripts/simapp/stop.sh new file mode 100755 index 000000000..9497d937c --- /dev/null +++ b/scripts/simapp/stop.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -o errexit -o nounset -o pipefail +command -v shellcheck >/dev/null && shellcheck "$0" + +SCRIPT_DIR="$(realpath "$(dirname "$0")")" +# shellcheck source=./env +# shellcheck disable=SC1091 +source "$SCRIPT_DIR"/env + +echo "Killing simapp container..." +docker container kill "$CONTAINER_NAME" diff --git a/scripts/simapp/template/.simapp/config/app.toml b/scripts/simapp/template/.simapp/config/app.toml new file mode 100644 index 000000000..0c43962fc --- /dev/null +++ b/scripts/simapp/template/.simapp/config/app.toml @@ -0,0 +1,215 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +############################################################################### +### Base Configuration ### +############################################################################### + +# The minimum gas prices a validator is willing to accept for processing a +# transaction. A transaction's fees must meet the minimum of any denomination +# specified in this config (e.g. 0.25token1;0.0001token2). +minimum-gas-prices = "0stake" + +# default: the last 100 states are kept in addition to every 500th state; pruning at 10 block intervals +# nothing: all historic states will be saved, nothing will be deleted (i.e. archiving node) +# everything: all saved states will be deleted, storing only the current state; pruning at 10 block intervals +# custom: allow pruning options to be manually specified through 'pruning-keep-recent', 'pruning-keep-every', and 'pruning-interval' +pruning = "nothing" + +# These are applied if and only if the pruning strategy is custom. +pruning-keep-recent = "0" +pruning-keep-every = "0" +pruning-interval = "0" + +# HaltHeight contains a non-zero block height at which a node will gracefully +# halt and shutdown that can be used to assist upgrades and testing. +# +# Note: Commitment of state will be attempted on the corresponding block. +halt-height = 0 + +# HaltTime contains a non-zero minimum block time (in Unix seconds) at which +# a node will gracefully halt and shutdown that can be used to assist upgrades +# and testing. +# +# Note: Commitment of state will be attempted on the corresponding block. +halt-time = 0 + +# MinRetainBlocks defines the minimum block height offset from the current +# block being committed, such that all blocks past this offset are pruned +# from Tendermint. It is used as part of the process of determining the +# ResponseCommit.RetainHeight value during ABCI Commit. A value of 0 indicates +# that no blocks should be pruned. +# +# This configuration value is only responsible for pruning Tendermint blocks. +# It has no bearing on application state pruning which is determined by the +# "pruning-*" configurations. +# +# Note: Tendermint block pruning is dependant on this parameter in conunction +# with the unbonding (safety threshold) period, state pruning and state sync +# snapshot parameters to determine the correct minimum value of +# ResponseCommit.RetainHeight. +min-retain-blocks = 0 + +# InterBlockCache enables inter-block caching. +inter-block-cache = true + +# InterBlockCacheSize is the maximum bytes size of the inter-block cache. +inter-block-cache-size = 104857600 + +# IAVLCacheSize is the maximum bytes size of iavl node cache +iavl-cache-size = 104857600 + +# Bech32CacheSize is the maximum bytes size of bech32 cache (Default : 1GB) +bech32-cache-size = 1073741824 + +# IndexEvents defines the set of events in the form {eventType}.{attributeKey}, +# which informs Tendermint what to index. If empty, all events will be indexed. +# +# Example: +# ["message.sender", "message.recipient"] +index-events = [] + +# When true, Prometheus metrics are served under /metrics on prometheus_listen_addr in config.toml. +# It works when tendermint's prometheus option (config.toml) is set to true. +prometheus = false + +############################################################################### +### Telemetry Configuration ### +############################################################################### + +[telemetry] + +# Prefixed with keys to separate services. +service-name = "" + +# Enabled enables the application telemetry functionality. When enabled, +# an in-memory sink is also enabled by default. Operators may also enabled +# other sinks such as Prometheus. +enabled = false + +# Enable prefixing gauge values with hostname. +enable-hostname = false + +# Enable adding hostname to labels. +enable-hostname-label = false + +# Enable adding service to labels. +enable-service-label = false + +# PrometheusRetentionTime, when positive, enables a Prometheus metrics sink. +prometheus-retention-time = 0 + +# GlobalLabels defines a global set of name/value label tuples applied to all +# metrics emitted using the wrapper functions defined in telemetry package. +# +# Example: +# [["chain_id", "cosmoshub-1"]] +global-labels = [ +] + +############################################################################### +### API Configuration ### +############################################################################### + +[api] + +# Enable defines if the API server should be enabled. +enable = true + +# Swagger defines if swagger documentation should automatically be registered. +swagger = true + +# Address defines the API server to listen on. +address = "tcp://0.0.0.0:1317" + +# MaxOpenConnections defines the number of maximum open connections. +max-open-connections = 1000 + +# RPCReadTimeout defines the Ostracon RPC read timeout (in seconds). +rpc-read-timeout = 10 + +# RPCWriteTimeout defines the Ostracon RPC write timeout (in seconds). +rpc-write-timeout = 10 + +# RPCIdleTimeout defines the Ostracon RPC idle timeout (in seconds). +rpc-idle-timeout = 60 + +# RPCMaxBodyBytes defines the Ostracon maximum response body (in bytes). +rpc-max-body-bytes = 1000000 + +# EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk). +enabled-unsafe-cors = false + +############################################################################### +### Rosetta Configuration ### +############################################################################### + +[rosetta] + +# Enable defines if the Rosetta API server should be enabled. +enable = false + +# Address defines the Rosetta API server to listen on. +address = ":8080" + +# Network defines the name of the blockchain that will be returned by Rosetta. +blockchain = "app" + +# Network defines the name of the network that will be returned by Rosetta. +network = "network" + +# Retries defines the number of retries when connecting to the node before failing. +retries = 3 + +# Offline defines if Rosetta server should run in offline mode. +offline = false + +############################################################################### +### gRPC Configuration ### +############################################################################### + +[grpc] + +# Enable defines if the gRPC server should be enabled. +enable = true + +# Address defines the gRPC server address to bind to. +address = "0.0.0.0:9090" + +############################################################################### +### gRPC Web Configuration ### +############################################################################### + +[grpc-web] + +# GRPCWebEnable defines if the gRPC-web should be enabled. +# NOTE: gRPC must also be enabled, otherwise, this configuration is a no-op. +enable = true + +# Address defines the gRPC-web server address to bind to. +address = "0.0.0.0:9091" + +# EnableUnsafeCORS defines if CORS should be enabled (unsafe - use it at your own risk). +enable-unsafe-cors = false + +############################################################################### +### State Sync Configuration ### +############################################################################### + +# State sync snapshots allow other nodes to rapidly join the network without replaying historical +# blocks, instead downloading and applying a snapshot of the application state at a given height. +[state-sync] + +# snapshot-interval specifies the block interval at which local state sync snapshots are +# taken (0 to disable). Must be a multiple of pruning-keep-every. +snapshot-interval = 0 + +# snapshot-keep-recent specifies the number of recent snapshots to keep and serve (0 to keep all). +snapshot-keep-recent = 2 + +[wasm] +# This is the maximum sdk gas (wasm and storage) that we allow for any x/wasm "smart" queries +query_gas_limit = 300000 +# This is the number of wasm vm instances we keep cached in memory for speed-up +# Warning: this is currently unstable and may lead to crashes, best to keep for 0 unless testing locally +lru_size = 0 diff --git a/scripts/simapp/template/.simapp/config/client.toml b/scripts/simapp/template/.simapp/config/client.toml new file mode 100644 index 000000000..c61fc8676 --- /dev/null +++ b/scripts/simapp/template/.simapp/config/client.toml @@ -0,0 +1,17 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +############################################################################### +### Client Configuration ### +############################################################################### + +# The network chain ID +chain-id = "" +# The keyring's backend, where the keys are stored (os|file|kwallet|pass|test|memory) +keyring-backend = "os" +# CLI output format (text|json), it will override the default values of both query and tx +output = "" +# : to Tendermint RPC interface for this chain +node = "tcp://localhost:26658" +# Transaction broadcasting mode (sync|async|block) +broadcast-mode = "sync" diff --git a/scripts/simapp/template/.simapp/config/config.toml b/scripts/simapp/template/.simapp/config/config.toml new file mode 100644 index 000000000..aa3b3dc0c --- /dev/null +++ b/scripts/simapp/template/.simapp/config/config.toml @@ -0,0 +1,439 @@ +# This is a TOML config file. +# For more information, see https://github.com/toml-lang/toml + +# NOTE: Any path below can be absolute (e.g. "/var/myawesomeapp/data") or +# relative to the home directory (e.g. "data"). The home directory is +# "$HOME/.ostracon" by default, but could be changed via $OCHOME env variable +# or --home cmd flag. + +####################################################################### +### Main Base Config Options ### +####################################################################### + +# TCP or UNIX socket address of the ABCI application, +# or the name of an ABCI application compiled in with the Ostracon binary +proxy_app = "tcp://127.0.0.1:26658" + +# A custom human readable name for this node +moniker = "simd-testing" + +# If this node is many blocks behind the tip of the chain, FastSync +# allows them to catchup quickly by downloading blocks in parallel +# and verifying their commits +fast_sync = true + +# Database backend: goleveldb | cleveldb | boltdb | rocksdb | badgerdb +# * goleveldb (github.com/syndtr/goleveldb - most popular implementation) +# - pure go +# - stable +# * cleveldb (uses levigo wrapper) +# - fast +# - requires gcc +# - use cleveldb build tag (go build -tags cleveldb) +# * boltdb (uses etcd's fork of bolt - github.com/etcd-io/bbolt) +# - EXPERIMENTAL +# - may be faster is some use-cases (random reads - indexer) +# - use boltdb build tag (go build -tags boltdb) +# * rocksdb (uses github.com/tecbot/gorocksdb) +# - EXPERIMENTAL +# - requires gcc +# - use rocksdb build tag (go build -tags rocksdb) +# * badgerdb (uses github.com/dgraph-io/badger) +# - EXPERIMENTAL +# - use badgerdb build tag (go build -tags badgerdb) +db_backend = "goleveldb" + +# Database directory +db_dir = "data" + +# Output level for logging, including package level options +log_level = "info" + +# Output format: 'plain' (colored text) or 'json' +log_format = "plain" + +##### additional base config options ##### + +# Path to the JSON file containing the initial validator set and other meta data +genesis_file = "config/genesis.json" + +# Path to the JSON file containing the private key to use as a validator in the consensus protocol +priv_validator_key_file = "config/priv_validator_key.json" + +# Path to the JSON file containing the last sign state of a validator +priv_validator_state_file = "data/priv_validator_state.json" + +# TCP or UNIX socket address for Ostracon to listen on for +# connections from an external PrivValidator process +priv_validator_laddr = "" + +# Path to the JSON file containing the private key to use for node authentication in the p2p protocol +node_key_file = "config/node_key.json" + +# Mechanism to connect to the ABCI application: socket | grpc +abci = "socket" + +# If true, query the ABCI app on connecting to a new peer +# so the app can decide if we should keep the connection or not +filter_peers = false + + +####################################################################### +### Advanced Configuration Options ### +####################################################################### + +####################################################### +### RPC Server Configuration Options ### +####################################################### +[rpc] + +# TCP or UNIX socket address for the RPC server to listen on +laddr = "tcp://0.0.0.0:26658" + +# A list of origins a cross-domain request can be executed from +# Default value '[]' disables cors support +# Use '["*"]' to allow any origin +cors_allowed_origins = [] + +# A list of methods the client is allowed to use with cross-domain requests +cors_allowed_methods = ["HEAD", "GET", "POST", ] + +# A list of non simple headers the client is allowed to use with cross-domain requests +cors_allowed_headers = ["Origin", "Accept", "Content-Type", "X-Requested-With", "X-Server-Time", ] + +# TCP or UNIX socket address for the gRPC server to listen on +# NOTE: This server only supports /broadcast_tx_commit +grpc_laddr = "" + +# Maximum number of simultaneous connections. +# Does not include RPC (HTTP&WebSocket) connections. See max_open_connections +# If you want to accept a larger number than the default, make sure +# you increase your OS limits. +# 0 - unlimited. +# Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} +# 1024 - 40 - 10 - 50 = 924 = ~900 +grpc_max_open_connections = 900 + +# Activate unsafe RPC commands like /dial_seeds and /unsafe_flush_mempool +unsafe = false + +# Maximum number of simultaneous connections (including WebSocket). +# Does not include gRPC connections. See grpc_max_open_connections +# If you want to accept a larger number than the default, make sure +# you increase your OS limits. +# 0 - unlimited. +# Should be < {ulimit -Sn} - {MaxNumInboundPeers} - {MaxNumOutboundPeers} - {N of wal, db and other open files} +# 1024 - 40 - 10 - 50 = 924 = ~900 +max_open_connections = 900 + +# mirrors http.Server#ReadTimeout +# ReadTimeout is the maximum duration for reading the entire +# request, including the body. +# Because ReadTimeout does not let Handlers make per-request +# decisions on each request body's acceptable deadline or +# upload rate, most users will prefer to use +# ReadHeaderTimeout. It is valid to use them both. +read_timeout = "10s" + +# mirrors http.Server#WriteTimeout +# WriteTimeout is the maximum duration before timing out +# writes of the response. It is reset whenever a new +# request's header is read. Like ReadTimeout, it does not +# let Handlers make decisions on a per-request basis. +write_timeout = "10s" + +# mirrors http.Server#IdleTimeout +# IdleTimeout is the maximum amount of time to wait for the +# next request when keep-alives are enabled. If IdleTimeout +# is zero, the value of ReadTimeout is used. If both are +# zero, there is no timeout. +idle_timeout = "1m0s" + +# Maximum number of unique clientIDs that can /subscribe +# If you're using /broadcast_tx_commit, set to the estimated maximum number +# of broadcast_tx_commit calls per block. +max_subscription_clients = 100 + +# Maximum number of unique queries a given client can /subscribe to +# If you're using GRPC (or Local RPC client) and /broadcast_tx_commit, set to +# the estimated # maximum number of broadcast_tx_commit calls per block. +max_subscriptions_per_client = 5 + +# How long to wait for a tx to be committed during /broadcast_tx_commit. +# WARNING: Using a value larger than 'WriteTimeout' will result in increasing the +# global HTTP write timeout, which applies to all connections and endpoints. +# See https://github.com/line/ostracon/issues/3435 +timeout_broadcast_tx_commit = "10s" + +# Maximum size of request body, in bytes +max_body_bytes = 1000000 + +# Maximum size of request header, in bytes +max_header_bytes = 1048576 + +# The path to a file containing certificate that is used to create the HTTPS server. +# Might be either absolute path or path related to Ostracon's config directory. +# If the certificate is signed by a certificate authority, +# the certFile should be the concatenation of the server's certificate, any intermediates, +# and the CA's certificate. +# NOTE: both tls_cert_file and tls_key_file must be present for Ostracon to create HTTPS server. +# Otherwise, HTTP server is run. +tls_cert_file = "" + +# The path to a file containing matching private key that is used to create the HTTPS server. +# Might be either absolute path or path related to Ostracon's config directory. +# NOTE: both tls-cert-file and tls-key-file must be present for Ostracon to create HTTPS server. +# Otherwise, HTTP server is run. +tls_key_file = "" + +# pprof listen address (https://golang.org/pkg/net/http/pprof) +pprof_laddr = "localhost:6060" + +####################################################### +### P2P Configuration Options ### +####################################################### +[p2p] + +# Address to listen for incoming connections +laddr = "tcp://0.0.0.0:26656" + +# Address to advertise to peers for them to dial +# If empty, will use the same port as the laddr, +# and will introspect on the listener or use UPnP +# to figure out the address. ip and port are required +# example: 159.89.10.97:26656 +external_address = "" + +# Comma separated list of seed nodes to connect to +seeds = "" + +# Comma separated list of nodes to keep persistent connections to +persistent_peers = "" + +# UPNP port forwarding +upnp = false + +# Path to address book +addr_book_file = "config/addrbook.json" + +# Set true for strict address routability rules +# Set false for private or local networks +addr_book_strict = false + +# Maximum number of inbound peers +max_num_inbound_peers = 40 + +# Maximum number of outbound peers to connect to, excluding persistent peers +max_num_outbound_peers = 10 + +# List of node IDs, to which a connection will be (re)established ignoring any existing limits +unconditional_peer_ids = "" + +# Maximum pause when redialing a persistent peer (if zero, exponential backoff is used) +persistent_peers_max_dial_period = "0s" + +# Time to wait before flushing messages out on the connection +flush_throttle_timeout = "100ms" + +# Maximum size of a message packet payload, in bytes +max_packet_msg_payload_size = 1024 + +# Rate at which packets can be sent, in bytes/second +send_rate = 5120000 + +# Rate at which packets can be received, in bytes/second +recv_rate = 5120000 + +# Set true to enable the peer-exchange reactor +pex = true + +# Seed mode, in which node constantly crawls the network and looks for +# peers. If another node asks it for addresses, it responds and disconnects. +# +# Does not work if the peer-exchange reactor is disabled. +seed_mode = false + +# Comma separated list of peer IDs to keep private (will not be gossiped to other peers) +private_peer_ids = "" + +# Toggle to disable guard against peers connecting from the same ip. +allow_duplicate_ip = true + +# Peer connection configuration. +handshake_timeout = "20s" +dial_timeout = "3s" + +# Sync/async of reactor's receive function +recv_async = true + +# Size of channel buffer of reactor +pex_recv_buf_size = 10000 +mempool_recv_buf_size = 100000 +evidence_recv_buf_size = 10000 +consensus_recv_buf_size = 10000 +blockchain_recv_buf_size = 10000 +statesync_recv_buf_size = 1000 + +####################################################### +### Mempool Configuration Option ### +####################################################### +[mempool] + +recheck = true +broadcast = true +wal_dir = "" + +# Maximum number of transactions in the mempool +size = 5000 + +# Limit the total size of all txs in the mempool. +# This only accounts for raw transactions (e.g. given 1MB transactions and +# max_txs_bytes=5MB, mempool will only accept 5 transactions). +max_txs_bytes = 1073741824 + +# Size of the cache (used to filter transactions we saw earlier) in transactions +cache_size = 10000 + +# Do not remove invalid transactions from the cache (default: false) +# Set to true if it's not possible for any invalid transaction to become valid +# again in the future. +keep-invalid-txs-in-cache = false + +# Maximum size of a single transaction. +# NOTE: the max size of a tx transmitted over the network is {max_tx_bytes}. +max_tx_bytes = 1048576 + +# Maximum size of a batch of transactions to send to a peer +# Including space needed by encoding (one varint per transaction). +# XXX: Unused due to https://github.com/line/ostracon/issues/5796 +max_batch_bytes = 0 + +####################################################### +### State Sync Configuration Options ### +####################################################### +[statesync] +# State sync rapidly bootstraps a new node by discovering, fetching, and restoring a state machine +# snapshot from peers instead of fetching and replaying historical blocks. Requires some peers in +# the network to take and serve state machine snapshots. State sync is not attempted if the node +# has any local state (LastBlockHeight > 0). The node will have a truncated block history, +# starting from the height of the snapshot. +enable = false + +# RPC servers (comma-separated) for light client verification of the synced state machine and +# retrieval of state data for node bootstrapping. Also needs a trusted height and corresponding +# header hash obtained from a trusted source, and a period during which validators can be trusted. +# +# For Cosmos SDK-based chains, trust_period should usually be about 2/3 of the unbonding time (~2 +# weeks) during which they can be financially punished (slashed) for misbehavior. +rpc_servers = "" +trust_height = 0 +trust_hash = "" +trust_period = "168h0m0s" + +# Time to spend discovering snapshots before initiating a restore. +discovery_time = "15s" + +# Temporary directory for state sync snapshot chunks, defaults to the OS tempdir (typically /tmp). +# Will create a new, randomly named directory within, and remove it when done. +temp_dir = "" + +# The timeout duration before re-requesting a chunk, possibly from a different +# peer (default: 1 minute). +chunk_request_timeout = "10s" + +# The number of concurrent chunk fetchers to run (default: 1). +chunk_fetchers = "4" + +####################################################### +### Fast Sync Configuration Connections ### +####################################################### +[fastsync] + +# Fast Sync version to use: +# 1) "v0" (default) - the legacy fast sync implementation +# 2) "v1" - refactor of v0 version for better testability +# 2) "v2" - complete redesign of v0, optimized for testability & readability +version = "v0" + +####################################################### +### Consensus Configuration Options ### +####################################################### +[consensus] + +wal_file = "data/cs.wal/wal" + +# How long we wait for a proposal block before prevoting nil +timeout_propose = "300ms" +# How much timeout_propose increases with each round +timeout_propose_delta = "100ms" +# How long we wait after receiving +2/3 prevotes for “anything” (ie. not a single block or nil) +timeout_prevote = "300ms" +# How much the timeout_prevote increases with each round +timeout_prevote_delta = "100ms" +# How long we wait after receiving +2/3 precommits for “anything” (ie. not a single block or nil) +timeout_precommit = "300ms" +# How much the timeout_precommit increases with each round +timeout_precommit_delta = "100ms" +# How long we wait after committing a block, before starting on the new +# height (this gives us a chance to receive some more precommits, even +# though we already have +2/3). +timeout_commit = "1s" + + +# How many blocks to look back to check existence of the node's consensus votes before joining consensus +# When non-zero, the node will panic upon restart +# if the same consensus key was used to sign {double_sign_check_height} last blocks. +# So, validators should stop the state machine, wait for some blocks, and then restart the state machine to avoid panic. +double_sign_check_height = 0 + +# Make progress as soon as we have all the precommits (as if TimeoutCommit = 0) +skip_timeout_commit = false + +# EmptyBlocks mode and possible interval between empty blocks +create_empty_blocks = true +create_empty_blocks_interval = "0s" + +# Max transactions per block. No limit if <= 0. +max_txs = 0 + +# Reactor sleep duration parameters +peer_gossip_sleep_duration = "100ms" +peer_query_maj23_sleep_duration = "2s" + +####################################################### +### Transaction Indexer Configuration Options ### +####################################################### +[tx_index] + +# What indexer to use for transactions +# +# The application will set which txs to index. In some cases a node operator will be able +# to decide which txs to index based on configuration set in the application. +# +# Options: +# 1) "null" +# 2) "kv" (default) - the simplest possible indexer, backed by key-value storage (defaults to levelDB; see DBBackend). +# - When "kv" is chosen "tx.height" and "tx.hash" will always be indexed. +indexer = "kv" + +####################################################### +### Instrumentation Configuration Options ### +####################################################### +[instrumentation] + +# When true, Prometheus metrics are served under /metrics on +# PrometheusListenAddr. +# Check out the documentation for the list of available metrics. +prometheus = false + +# Address to listen for Prometheus collector(s) connections +prometheus_listen_addr = ":26660" + +# Maximum number of simultaneous connections. +# If you want to accept a larger number than the default, make sure +# you increase your OS limits. +# 0 - unlimited. +max_open_connections = 3 + +# Instrumentation namespace +namespace = "ostracon" diff --git a/scripts/simapp/template/.simapp/config/genesis.json b/scripts/simapp/template/.simapp/config/genesis.json new file mode 100644 index 000000000..fbe2b51d2 --- /dev/null +++ b/scripts/simapp/template/.simapp/config/genesis.json @@ -0,0 +1,574 @@ +{ + "genesis_time": "2022-05-12T11:50:06.297423Z", + "chain_id": "simd-testing", + "initial_height": "1", + "consensus_params": { + "block": { + "max_bytes": "22020096", + "max_gas": "-1", + "time_iota_ms": "1000" + }, + "evidence": { + "max_age_num_blocks": "100000", + "max_age_duration": "172800000000000", + "max_bytes": "1048576" + }, + "validator": { + "pub_key_types": [ + "ed25519", + "composite(bls12-381,ed25519)" + ] + }, + "version": {} + }, + "voter_params": { + "voter_election_threshold": 33, + "max_tolerable_byzantine_percentage": 20 + }, + "app_hash": "", + "app_state": { + "auth": { + "params": { + "max_memo_characters": "256", + "tx_sig_limit": "7", + "tx_size_cost_per_byte": "10", + "sig_verify_cost_ed25519": "590", + "sig_verify_cost_secp256k1": "1000" + }, + "accounts": [ + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1aaffxdz4dwcnjzumjm7h89yjw5c5wul88zvzuu", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1ey0w0xj9v48vk82ht6mhqdlh9wqkx8enkpjwpr", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1dfyywjglcfptn72axxhsslpy8ep6wq7wujasma", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1equ4n3uwyhapak5g3leq0avz85k0q6jcdy5w0f", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link14nvvrk4dz3k695t8740vqzjnvrwszwm69hw0ls", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1efpqqvlu9pv0he5t8qvft95e8delhf05w8zkzj", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1g07927q5ca8cvwl2fx6r8egkw6lanx7p37txs6", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1g7gsgktl9yjqatacswlwvns5yzy4u5jehsx2pz", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link1tfcuj70ssvwnxv9ryk4p9xywyq626asgfktaxv", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link146asaycmtydq45kxc8evntqfgepagygelel00h", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link164fvwlqv6actq6tvzqwmxjnu3ry7vr4rpskl8p", + "pub_key": null, + "sequence": "0" + }, + { + "@type": "/lbm.auth.v1.BaseAccount", + "address": "link15l2sszad8s390zpshtas030j48xav6nt9kp3dl", + "pub_key": null, + "sequence": "0" + } + ] + }, + "authz": { + "authorization": [] + }, + "bank": { + "params": { + "send_enabled": [], + "default_send_enabled": true + }, + "balances": [ + { + "address": "link1aaffxdz4dwcnjzumjm7h89yjw5c5wul88zvzuu", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1ey0w0xj9v48vk82ht6mhqdlh9wqkx8enkpjwpr", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1dfyywjglcfptn72axxhsslpy8ep6wq7wujasma", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1equ4n3uwyhapak5g3leq0avz85k0q6jcdy5w0f", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link14nvvrk4dz3k695t8740vqzjnvrwszwm69hw0ls", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1efpqqvlu9pv0he5t8qvft95e8delhf05w8zkzj", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1g07927q5ca8cvwl2fx6r8egkw6lanx7p37txs6", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1g7gsgktl9yjqatacswlwvns5yzy4u5jehsx2pz", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link1tfcuj70ssvwnxv9ryk4p9xywyq626asgfktaxv", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link146asaycmtydq45kxc8evntqfgepagygelel00h", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link164fvwlqv6actq6tvzqwmxjnu3ry7vr4rpskl8p", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + }, + { + "address": "link15l2sszad8s390zpshtas030j48xav6nt9kp3dl", + "coins": [ + { + "denom": "cony", + "amount": "100000000000" + }, + { + "denom": "stake", + "amount": "20000000000" + } + ] + } + ], + "supply": [ + { + "denom": "cony", + "amount": "1200000000000" + }, + { + "denom": "stake", + "amount": "240000000000" + } + ], + "denom_metadata": [ + { + "description": "The fee token of this test chain", + "denom_units": [ + { + "denom": "cony", + "exponent": 0, + "aliases": [] + }, + { + "denom": "LN", + "exponent": 6, + "aliases": [] + } + ], + "base": "LINK", + "display": "LN" + } + ] + }, + "capability": { + "index": "1", + "owners": [] + }, + "crisis": { + "constant_fee": { + "denom": "stake", + "amount": "1000" + } + }, + "distribution": { + "params": { + "community_tax": "0.020000000000000000", + "base_proposer_reward": "0.010000000000000000", + "bonus_proposer_reward": "0.040000000000000000", + "withdraw_addr_enabled": true + }, + "fee_pool": { + "community_pool": [] + }, + "delegator_withdraw_infos": [], + "previous_proposer": "", + "outstanding_rewards": [], + "validator_accumulated_commissions": [], + "validator_historical_rewards": [], + "validator_current_rewards": [], + "delegator_starting_infos": [], + "validator_slash_events": [] + }, + "evidence": { + "evidence": [] + }, + "feegrant": { + "allowances": [] + }, + "foundation": { + "params": { + "enabled": false, + "foundation_tax": "0.000000000000000000" + }, + "foundation": { + "operator": "link1gx2dzurw686q340q94njwacpnax48pw824tksx", + "version": "1", + "decision_policy": { + "@type": "/lbm.foundation.v1.ThresholdDecisionPolicy", + "threshold": "4.000000000000000000", + "windows": { + "min_execution_period": "0s", + "voting_period": "600s" + } + } + }, + "members": [ + { + "address": "link146asaycmtydq45kxc8evntqfgepagygelel00h", + "participating": true + } + ], + "previous_proposal_id": "0", + "proposals": [], + "votes": [], + "authorizations": [] + }, + "genutil": { + "gen_txs": [ + { + "body": { + "messages": [ + { + "@type": "/lbm.staking.v1.MsgCreateValidator", + "description": { + "moniker": "simd-testing", + "identity": "", + "website": "", + "security_contact": "", + "details": "" + }, + "commission": { + "rate": "0.100000000000000000", + "max_rate": "0.200000000000000000", + "max_change_rate": "0.010000000000000000" + }, + "min_self_delegation": "1", + "delegator_address": "link146asaycmtydq45kxc8evntqfgepagygelel00h", + "validator_address": "linkvaloper146asaycmtydq45kxc8evntqfgepagygeddajpy", + "pubkey": { + "@type": "/lbm.crypto.ed25519.PubKey", + "key": "u4Fmddkj4xiw9nDtQS15/oWAEPPyfQXWiba+N1H+lBg=" + }, + "value": { + "denom": "stake", + "amount": "10000000000" + } + } + ], + "memo": "66fcbb1f4681f21783749a8c5c7acbdf894ba8b0@192.168.0.53:26656", + "timeout_height": "0", + "extension_options": [], + "non_critical_extension_options": [] + }, + "auth_info": { + "signer_infos": [ + { + "public_key": { + "@type": "/lbm.crypto.secp256k1.PubKey", + "key": "AgT2QPS4Eu6M+cfHeba+3tumsM/hNEBGdM7nRojSZRjF" + }, + "mode_info": { + "single": { + "mode": "SIGN_MODE_DIRECT" + } + }, + "sequence": "0" + } + ], + "fee": { + "amount": [], + "gas_limit": "200000", + "payer": "", + "granter": "" + } + }, + "signatures": [ + "nfowN08t6qk7vK4SSJj97857esAJOItdnSoD0qnFVrFLeYIqnB5MHem9TXiIux9NO/5640ZdH+ScE1y/K65FFg==" + ] + } + ] + }, + "gov": { + "starting_proposal_id": "1", + "deposits": [], + "votes": [], + "proposals": [], + "deposit_params": { + "min_deposit": [ + { + "denom": "stake", + "amount": "10000000" + } + ], + "max_deposit_period": "172800s" + }, + "voting_params": { + "voting_period": "172800s" + }, + "tally_params": { + "quorum": "0.334000000000000000", + "threshold": "0.500000000000000000", + "veto_threshold": "0.334000000000000000" + } + }, + "ibc": { + "client_genesis": { + "clients": [], + "clients_consensus": [], + "clients_metadata": [], + "params": { + "allowed_clients": [ + "06-solomachine", + "99-ostracon" + ] + }, + "create_localhost": false, + "next_client_sequence": "0" + }, + "connection_genesis": { + "connections": [], + "client_connection_paths": [], + "next_connection_sequence": "0" + }, + "channel_genesis": { + "channels": [], + "acknowledgements": [], + "commitments": [], + "receipts": [], + "send_sequences": [], + "recv_sequences": [], + "ack_sequences": [], + "next_channel_sequence": "0" + } + }, + "mint": { + "minter": { + "inflation": "0.130000000000000000", + "annual_provisions": "0.000000000000000000" + }, + "params": { + "mint_denom": "stake", + "inflation_rate_change": "0.130000000000000000", + "inflation_max": "0.200000000000000000", + "inflation_min": "0.070000000000000000", + "goal_bonded": "0.670000000000000000", + "blocks_per_year": "6311520" + } + }, + "params": null, + "slashing": { + "params": { + "signed_blocks_window": "100", + "min_signed_per_window": "0.500000000000000000", + "downtime_jail_duration": "600s", + "slash_fraction_double_sign": "0.050000000000000000", + "slash_fraction_downtime": "0.010000000000000000" + }, + "signing_infos": [], + "missed_blocks": [] + }, + "staking": { + "params": { + "unbonding_time": "1814400s", + "max_validators": 100, + "max_entries": 7, + "historical_entries": 10000, + "bond_denom": "stake" + }, + "last_total_power": "0", + "last_validator_powers": [], + "validators": [], + "delegations": [], + "unbonding_delegations": [], + "redelegations": [], + "exported": false + }, + "token": { + "params": {}, + "class_state": { + "nonce": "0", + "ids": [] + }, + "balances": [], + "classes": [], + "grants": [], + "approves": [], + "supplies": [], + "mints": [], + "burns": [] + }, + "transfer": { + "port_id": "transfer", + "denom_traces": [], + "params": { + "send_enabled": true, + "receive_enabled": true + } + }, + "upgrade": {}, + "vesting": {}, + "wasm": { + "params": { + "code_upload_access": { + "permission": "Everybody", + "address": "" + }, + "instantiate_default_permission": "Everybody", + "max_wasm_code_size": "1228800", + "gas_multiplier": "100", + "instance_cost": "40000", + "compile_cost": "2" + }, + "codes": [], + "contracts": [], + "sequences": [], + "gen_msgs": [] + } + } +} diff --git a/scripts/simapp/template/.simapp/config/gentx/gentx-9feb8105f14f63184661236f0089ee5415f5ec4d.json b/scripts/simapp/template/.simapp/config/gentx/gentx-9feb8105f14f63184661236f0089ee5415f5ec4d.json new file mode 100644 index 000000000..81b6da7ac --- /dev/null +++ b/scripts/simapp/template/.simapp/config/gentx/gentx-9feb8105f14f63184661236f0089ee5415f5ec4d.json @@ -0,0 +1 @@ +{"body":{"messages":[{"@type":"/lbm.staking.v1.MsgCreateValidator","description":{"moniker":"simd-testing","identity":"","website":"","security_contact":"","details":""},"commission":{"rate":"0.100000000000000000","max_rate":"0.200000000000000000","max_change_rate":"0.010000000000000000"},"min_self_delegation":"1","delegator_address":"link146asaycmtydq45kxc8evntqfgepagygelel00h","validator_address":"linkvaloper146asaycmtydq45kxc8evntqfgepagygeddajpy","pubkey":{"@type":"/lbm.crypto.ed25519.PubKey","key":"YAaZRZKag9lpRkKjZ1mI8i4FwkUzWI2DEcB64NTj5j4="},"value":{"denom":"stake","amount":"10000000000"}}],"memo":"9feb8105f14f63184661236f0089ee5415f5ec4d@192.168.0.53:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/lbm.crypto.secp256k1.PubKey","key":"AgT2QPS4Eu6M+cfHeba+3tumsM/hNEBGdM7nRojSZRjF"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""}},"signatures":["XJWAifT4H79y6dlTty3VRKnXghdPk3ZnPTKxDUt5S+MjDsU3/yiBHt7Pr+KxxLkJwVX6yK5HiBYYgywHlFLlNQ=="]} diff --git a/scripts/simapp/template/.simapp/config/node_key.json b/scripts/simapp/template/.simapp/config/node_key.json new file mode 100644 index 000000000..4558fc192 --- /dev/null +++ b/scripts/simapp/template/.simapp/config/node_key.json @@ -0,0 +1 @@ +{"priv_key":{"type":"ostracon/PrivKeyEd25519","value":"ptFyiGElD3uL6wqIXNPxy0bDkEL0ipY1v37U8Lhi9fIHCu7ICq3FlFwbhaXWNlClvXE7brDpBJOzKAiGOBLO5g=="}} \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/config/priv_validator_key.json b/scripts/simapp/template/.simapp/config/priv_validator_key.json new file mode 100644 index 000000000..9faa5b16c --- /dev/null +++ b/scripts/simapp/template/.simapp/config/priv_validator_key.json @@ -0,0 +1,11 @@ +{ + "address": "072C979CA629E19CB20E4461B18F6B488F8863CE", + "pub_key": { + "type": "ostracon/PubKeyEd25519", + "value": "u4Fmddkj4xiw9nDtQS15/oWAEPPyfQXWiba+N1H+lBg=" + }, + "priv_key": { + "type": "ostracon/PrivKeyEd25519", + "value": "nH10em+y9cEjqLA4wmSUgcnNBN80IDVQpsqiP4OZ0uO7gWZ12SPjGLD2cO1BLXn+hYAQ8/J9BdaJtr43Uf6UGA==" + } +} \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/data/priv_validator_state.json b/scripts/simapp/template/.simapp/data/priv_validator_state.json new file mode 100644 index 000000000..48f3b67e3 --- /dev/null +++ b/scripts/simapp/template/.simapp/data/priv_validator_state.json @@ -0,0 +1,5 @@ +{ + "height": "0", + "round": 0, + "step": 0 +} \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyhash b/scripts/simapp/template/.simapp/keyhash new file mode 100755 index 000000000..80f4992a5 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyhash @@ -0,0 +1 @@ +$2a$10$PUzdQ9WON1SgvDtewSKIUerA9LxW51qGoHj2EGZ5TT6oKfHXU7hcK \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b3130303877656e677232387a357175617432647a7270727439683865756176346865726679756d.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b3130303877656e677232387a357175617432647a7270727439683865756176346865726679756d.address new file mode 100644 index 000000000..703acd18c --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b3130303877656e677232387a357175617432647a7270727439683865756176346865726679756d.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MjozMi41MjY3NTIgKzA5MDAgS1NUIG09KzIyLjA1OTMwMDIxNCIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6InRrTUFabkpfRG5mS21QdWMifQ.3j7XXEoPCiQ4IrRIZS54O6h7fTBXD-lXyqS-owwTUhncfsLyVmVLvQ.GQ96VpC8ZdZHCCzd.bccKYosOXw6PdjCrXKWiIsGLjottF0kTWx9VTZT2Sv_dYRVCIEKVDQ2VRu100JZh4NAP88IoTL4ZdsPs0IJAAqWg5NVWR5WcriHJHoDNQhlNj0PZ3GLqx9aFiwtme3PVbkRJh72Z4ohH8iFBVtEXmZepwWW7Yv7KZPU3CLgzeyVDATwqguuT49qDqqbOGfThuABxX_h8fACUElmoBZWFQWQ5wczycsVg69TKOtEGcgfFVEe8q6WL6p9_rEhk7WyV9n0SpI-UVXMM_XPeRMJEhpoBgoThv_vPkHoNoTymYeVedCtv.VlPjkMFsCKx7RwL7uoQh5A \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b313074717275753976366e363767636e6c666a7830677477337a32757339727066643230756430.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b313074717275753976366e363767636e6c666a7830677477337a32757339727066643230756430.address new file mode 100644 index 000000000..c576bd477 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b313074717275753976366e363767636e6c666a7830677477337a32757339727066643230756430.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzozNC4zNDI2NCArMDkwMCBLU1QgbT0rMi44OTkzODA2MzQiLCJlbmMiOiJBMjU2R0NNIiwicDJjIjo4MTkyLCJwMnMiOiJ5Y3dUUW1mckJDSFp1TEFrIn0.zouZ59bb2k0JzPzRPiHSYzju2zfWqXXNRtyJaLwWQUuRISKnADPnGg.O3YhQtAC3GIxFhYK.jgPVpcS6kAFDS2c3wnk5LSaUbvAxmREfskoItYO7GWLaKgw4ziaAmOFX2OCw1sZHiEq95Tl8yTqg_G_ble_PQ1Q9c1eeTv2uwuJLUsFiPUElyBilfKdm_XnMqNwrqFTLC-nizASf5NFhb3WHIjB9bB0CzdhfDLTnO_GpnXQ3wsrDTHtyzgqSiP8Xw6SG9MzvusQeihIfV_erCaIhxbxipwfau0WNktvERGYT5XvE1433MwIo1eW8LGhxGPb5avYoHdY91L3DFZ3_ljC9TXXpy2PgN5mdkRBjI3zjUtTATazJIM4n.DCiM7eAYkDD730NJYsOzow \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b31327377326764656574656676706b6a396c6b356c6b3835713938783435347768396676617361.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31327377326764656574656676706b6a396c6b356c6b3835713938783435347768396676617361.address new file mode 100644 index 000000000..f44733d93 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31327377326764656574656676706b6a396c6b356c6b3835713938783435347768396676617361.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mzo1MS4yNDE5NzkgKzA5MDAgS1NUIG09KzIuMTI5NzA3NzY1IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiQW5mcGd0VWlQcVB2blJ2RCJ9.CvYyQKh120WY1ESlsup-Gh49tQKQKEvRLJoHAzjF3P82BjYch-KMyg.lfxtnMuqNrZXpXO_.KZKRoFGabqu3yLwyMLiHOclpp3xpghgN1E87BSMFEzRNO66DCqePBxmxjToB9RuCJ7rBEK1XI1GRlaGGCjW0LlcyfEFaCIWNjYP3ceKDT576DfBnF3FREiOukrm-SsAD9hatUnRxtDXUOZ9wpnlWG-8LlYutjUv6KZrfH1MzqD8JcSMdPUs-N1P9Tx81a6X0IjQtOVEtZv9MwRAiwkLI2PV5tzI36FuG6qpFd2cgCFZgc4KoHGsU3mv6QaiaglGqNZ_Dt-Szi1bYaHAKVAK3zsJOgDJ02QVrVFwBPv8Gq6bkISuk.pOIN7fOhUYCsLbD05uaplQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b31343661736179636d7479647134356b78633865766e74716667657061677967656c656c303068.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31343661736179636d7479647134356b78633865766e74716667657061677967656c656c303068.address new file mode 100644 index 000000000..1722b375c --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31343661736179636d7479647134356b78633865766e74716667657061677967656c656c303068.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNC0xMyAyMTo0NDoyOC4zOTQ1MDggKzA5MDAgSlNUIG09KzAuMDY0OTU2NTQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiak9LYmJ5bEZnOGJ4Z3Z3ayJ9.PmiGQwDvojBSGdiJ-UPFdJIdxYcBFb9ZSXb9S4hHLcq-dbW131ku_Q.muqoFiNK--nlF-JI.2x493f1y2_oO_RkDvZVI-iANm8X5VRkCVdTs90wInNaLFuvjVZQ5HmRS9co29NfPUzt9B7WSj1MntiPNv02hf8ECuiwvsvF7-0ar65Dz1DnjRhrKoP2zQn_e0kkxPHpxx63UU6LzOKRcz88Hg3f2nPruA4ySRc9ORUUERvPVKkixC8CQo2ezvUA8i1O5jsU1fw5jyz_L5uMUG2FF3EmTv3qJvoHqYIIQGsmdG1c-GENjgHubdkEFCFl672qlaKCVgWCYDwv2SynKif25sVekNj7W2f3BGiUm0Gq1qSf9L74.6C61OJ2EdjBaeJFSSB4mEQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b316838326c6c77376d35727630356e616c366e6a3932636537776d36746b7134633478736b3939.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b316838326c6c77376d35727630356e616c366e6a3932636537776d36746b7134633478736b3939.address new file mode 100644 index 000000000..361b6ed54 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b316838326c6c77376d35727630356e616c366e6a3932636537776d36746b7134633478736b3939.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mjo1MC42Nzg0MDUgKzA5MDAgS1NUIG09KzUuODY5NTkwOTk0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiQzFmekd3cG9rbVc1LUgzMiJ9.AVkgIeO5Z88oOa2us0Wy8n7v-nXEGS7yY3HBDsnZYJrvd71qjm23Bg.QvLiegJCa0Kbr9TU.iqHNBFfvDXdpMUi2I1fEJmCxLnRXcRw6ByIzHZe3ly4jxo1ISgIABCeeH1d1pxI-Edy4RI7tv_df4lsbTua2i7mwFfhN35PjcT3f5Rgq0MW66ox6w87aEGHTLzzfGyWHBcqpQn-z87wRCEtKyL7vMvleOmTk5DB0-9JRFZfujFldp9aZ1MyL1tIL5RgXRhRtjwSTniceYpAfGfUXXfhhucMM-jNnSGmQqP361pLniRq_Acr9BHHyaCpPatSVtRIFkd-ixP4InI8-P0sVrBaxIh1sSK_NO2ZspThG0_jOnJ3zL4it.cVePnCvMtyiH6SLRfFilWg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b31686c647436797368356a6871326c713564336a396c6e393734366d6d6c6a7134386577326b33.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31686c647436797368356a6871326c713564336a396c6e393734366d6d6c6a7134386577326b33.address new file mode 100644 index 000000000..993e5a753 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31686c647436797368356a6871326c713564336a396c6e393734366d6d6c6a7134386577326b33.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzoxMy42MzI4MTggKzA5MDAgS1NUIG09KzEuMTIwMjE3OTQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiOUVDbmtURHJfa1lXXzNNaSJ9.GU1J4N2VBEKvCjaL_vnVV9p3r41gbTG20Zi_xOGNHRRNBKQ6plFupg.Wp-vjUitoN-A7RLt.vwtHoGPpq4f-xU-Ha8FpPvROfUlf3X2se6haHc_nyMTgQnMgQNcJk1rUD8JZGhcAM0rHVr4oIM6ozFgVAyhj-2Sa0HxL89rtsH28klPnK3V20R2FpXaJEFaZwBLkS1g4-avU4xn3Bv4384cf3Mxig1lTY9G4PKznme2UdD5MBcU8hnqymZf3IbxNv8hYxjIHfdBF7iJj1meUYdBSKINazKUqZ9LPlOy6e_Txhu0JxZN3s7ZC8EBRf8cZ00RO8c2KPm3MLdcDPF6dpnZ1UVQTtsJOdHQD_MenLgdSULviwfVPkuQU.6-AxJtfhmYp2Z8AoIm9WNw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b316a386d393739647776307268373479707a646368636d656e6d3967737978387461377239747a.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b316a386d393739647776307268373479707a646368636d656e6d3967737978387461377239747a.address new file mode 100644 index 000000000..ac06b7616 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b316a386d393739647776307268373479707a646368636d656e6d3967737978387461377239747a.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzowMS43ODM5OTUgKzA5MDAgS1NUIG09KzMuNjU0MTM1NDI0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiMlh0VUZuNXVKX3pVWktVNCJ9.WJ6_FvwHw9QHI24JBR4NcjOFdSjNwsluFiPqVp87u9sO0T8n54hh0Q.7qcG2Xp71e32s7PV.O5ONDfTWtKo6jC0tZJH7cVprzqRK8yHdA35g-r1PztdQQERNE36R2qYjAwt-Vladhm0yI2yMTuJlgjxnFFlovgQE01SYm2JgjXKwSvcCKyQ2arXuwRsHMArPB06LuH1SNDEMyDSt_zDJxajHuPyN_fIPPqegMoYE5R2tbcbinIGdfw_KgvMAWrzk_i7O0NDhwmT8dxhPOSFvJHEA87vS1jTIYh8-pZKD3P2fOFFHmgdeFK-_YqwpK7fDZFZYhAsOf_0GAD0oQ8_Qy3EGEW86nVDJ0m2w7R9UK9FTf0eUaqFUteLS.JZ63TUpiPevj2dIOsRZ5BA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b317461356c786c6763326e75386d7372636735336d3438676a786637336863796633786b6a6636.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b317461356c786c6763326e75386d7372636735336d3438676a786637336863796633786b6a6636.address new file mode 100644 index 000000000..a7380305b --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b317461356c786c6763326e75386d7372636735336d3438676a786637336863796633786b6a6636.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mzo1OS40ODYxNjkgKzA5MDAgS1NUIG09KzEuOTk5MTExMTIzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoidXhPS0tzM1VUWi1MYktneSJ9.gMY_poP04M0VcpHYSJteE_MB7OHEABzkI_gRoXXs_zvL_GJjOzwEbQ.0g0vkFwARn6ueIBE.hDdxSOZJjlD-BCzcNYuCbfjRKvN05li3tesbnB7iGiKxaeMXgrzJhCd7rw_c6rYSIMzIn7B7qPCZGGEemT07sc1GIqcUaSjnnC9LhBNqXylTMYsVxHyD54ELO-2OB0nylB2LH2m-2ij6p2GoZ1-XVLmoYkSOQ3kGYahF10J2eoI0aGtCvnxfb9xinsw_R9n_lM5TTADNVRSrrc8W0BjHnTFW6jnGcaisKFoOb4Scu7_zC4tm6XDHIrfbnJnsZUYHO_bgYptOr1GAw3azm0FDCNWxnJN1Pfui8XZjDR1rl0GA1wD2.cadXNvVNHFROcqa0twSbbA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b31747773666d756a32386e64706835346b346e77386372777538683963386d6833727478373035.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31747773666d756a32386e64706835346b346e77386372777538683963386d6833727478373035.address new file mode 100644 index 000000000..024ca3b41 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b31747773666d756a32386e64706835346b346e77386372777538683963386d6833727478373035.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MToxNy4zNjA2ODUgKzA5MDAgS1NUIG09KzAuMDc2NjEwMzIzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiNkhYWjRYankxSUVxS2pzZCJ9.tdNhWyrmYn2nJkkGlkJ5IDya451pMr3F3eD4_DOKrT8crRi1BEBAkg.UUJv7JDYbwLT56E1.IDMeNEru7tVjnpey3bWXYvIhioJkR-0ImFpkHQb-ePobS_e2aoVp_2nvbXzG3AJ_mI6n0iFaoaIT_uDZDtU_QxvzjaNeGm6otxupCBThH17gsNGr45fF0dC4DjG1KZAzMYRQZ8zPD9j-2hxenQXoovCrmHtlND3J5Lhnr3oOfI-BGJNOarhPWHDFoCaankrICrJxjfJTY3ibjDV5nNLCioBCLBSzBLnY03O8jmmr8ksRIWaYxu4o3mqBmEpcBQS-B_qBm3rj7OchU0n9wIp_TcIIRZ8ued9CRTB9h5KqYQNL6egR.oJHYzrsnT7O0kBzLihp1VQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/6c696e6b3178716b67386c326d7268377a666474746b63726e6b736a7873773932706b366a347875673239.address b/scripts/simapp/template/.simapp/keyring-test/6c696e6b3178716b67386c326d7268377a666474746b63726e6b736a7873773932706b366a347875673239.address new file mode 100644 index 000000000..676b6034c --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/6c696e6b3178716b67386c326d7268377a666474746b63726e6b736a7873773932706b366a347875673239.address @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzoyMS45MzMzMjEgKzA5MDAgS1NUIG09KzEuMzQ3OTc5MDU4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiV21fYVBXeVlTYXRBZDV6XyJ9.OPVvclmjzAsXW8bCiXqFinsgSZyF69Pm3LT4HBRhKHDrDi_CMgo54g.7_0_xHKFSblhL8wc.Bvk76CfLTOvIYWGp-bkNAqC8v13m9b1wu7mj0i5XGk5JF02BKlV6qTye52p9Cq5zDsNtgC9_0ZK5V3xAkvnI44J6fHABa64hbn-ApLrH7AI1xJ1iAFkS3tvrj3hU3MOdZHKb_mRnKlQGZ6m-UbfmMwQtBLROF6cwx4jaY86Qq7WbH-kRISyn1Vi4OZ-7-wro7-q-pdf8FpDzE-4jyCMeYdHIGCVIG3k7rJBbC9l3fk-uP_lTRCIwrnBZ7B95reQDqZw32w81-ze9VhGeX7Xx1eje9RFWOyq_KRGMD9YpZrkYCBsM.raPeSk3mhkWwV9m6C0cl5A \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add01.info b/scripts/simapp/template/.simapp/keyring-test/add01.info new file mode 100644 index 000000000..8261df6df --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add01.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MToxNy4zNTQ0NTYgKzA5MDAgS1NUIG09KzAuMDcwMzgxMzY0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiMUYzQ0JxRUl1V2tuZzhVdyJ9.fCYpc7SOFgMEMMR5WsK5i00wHKVzn83YU3WNcbBYnsKuQ85D1lE6mw.fOjm-GcZO3Hr_pCH.0ChQ-HttAW_C3jTXIQbb4_iu61tEbLBWgNsbe-zyNuAdMy_LfP6Qo0Q_ErK8xSMITLg46V2KA2Jo1mXBhGYyYFWc9iHn95oDE9M8Ut6Z-WhVw1C-B4paAGSti_K5Pn30l4Yw9Pul5AOwHM9xyuvj4k0F0_T8A3Lc1epQi_kH5n-C2wFv9_dgDddAgGNk7Xhxd5QtEjp_xVFUvJAUfgybT7hu2jRPGXCE8FcA-wanbEuZtJb1qa4fp0osoJCAYyTMgMbVNmL-Z8ALz-2eMD_GhedGnhj_kFCjHPLkflYy_7NtmVBUm68nXKrs_mIBNEsGhBrBFpHGTkP63YBRVPp2jrKxPdUpn0aJ.Fhe1W6wBudMa_LUU2o74eg \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add02.info b/scripts/simapp/template/.simapp/keyring-test/add02.info new file mode 100644 index 000000000..21201a0f6 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add02.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MjozMi41MTgwMzEgKzA5MDAgS1NUIG09KzIyLjA1MDU3OTAwNiIsImVuYyI6IkEyNTZHQ00iLCJwMmMiOjgxOTIsInAycyI6ImZrelgxT1A5X1psRjc4MlAifQ.DwOlac5OJmQgSDUvDZBw235ffIiQz_9OfwEk_Mbs9U0RtlEzpxM8NQ.a0edJL3SByLuoUkK.2XS0ay9OcuAxVJkGvK82GuptSQcXLxPi6rD7LpGh3h6Aua0aeQkk1XBq-qANX5ZGPcNK-f9PY-P4QggXlpl2QrofykAePuszO7G97SWPAVfVarHS-XRkGtquWYZm42UOOOXyLJhGK_CCNyKE9SPBw1iD0i6e1Gt-lBaxOU3Srm2zY0QixU_NqscR1XuOCbnZjKTMM2TmdohxnsdyBD5prCYQM-a72ccLcNLz8ekT5BTjqRZcbSTVCUs5dlLqd9Uc1y0I0Ni7cvwIfOfwToeU6xLUgUSA0slQq6S8NYkmx3Pkw3VxTYd8jp48wua9LjZaU_A2Knaf_AYJRsvuT8fFLzg_J2zeq7SM.qq7fGLSXv_9tNP3vujLjQQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add03.info b/scripts/simapp/template/.simapp/keyring-test/add03.info new file mode 100644 index 000000000..62234a74b --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add03.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mjo1MC42NzA1OTUgKzA5MDAgS1NUIG09KzUuODYxNzgxMjg2IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiRDhIRjlsbXZQc0dORkNzMyJ9.Az9KUJs1Usyn000NXYkVExB1t_vZeiWpC5VWjJsmXl4Gy5jYwM6Wcg.LVCSh6DueQtp0guW.DH4CmdnL26Vy68vfqPk1K5seeAiwcEM2ekQtUYCPrxgQv3JYLQnucYybqZfoo1_JCehzf50_wzafuZpH1vNWEjsflmxh63EpIcnMwDoRGHa8uJp33iFvBIHnDk1P4QgqqQy4Vhbe7T6FoEGcL5T-GjnZCI3SULghtRS-qD40i7RGbx29CVKA_bxL68YXGdfiowp6I1UUiEYslHJr2U93m5anK6znhuqdTaTQ4lk-e57Ng78eVgX314dNl710d2kxaVW3f7SaHeW3cITyLHV38F61pfcxkzJTL87Z7qDmNPJx5SnHwSCfThj9QE2n5wI1ocC_ZvUZnuKvfl90cekM2ysHoS6zdf8h.W3RC14XRjrBOBkTQhbjg-A \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add04.info b/scripts/simapp/template/.simapp/keyring-test/add04.info new file mode 100644 index 000000000..1007d7882 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add04.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzowMS43NzY4MDUgKzA5MDAgS1NUIG09KzMuNjQ2OTQ0NTI4IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiakFfVWMyc3dCT0FqN1JoTiJ9.rIwkPBE1nvsdLb-sIdcOkFNiVbK4BXy9NSF3nZ6TocOYiFR9m_0bMQ.9-kkKda8ethWxEep.O5pt22GnHhZjJkj5SIwYLjjP6SeCmkPziFm6BntyPKbeWDVQabAHDx0UdzaqIJgalFzLewlIygxQtLD7eFbvQNwbikpBEZsnNBHhSbBGwCO_VUXZwHSEcpQkM9HpdO1pxtJyjUQd566FN2qay1eWY33kiPPCwAwwubguarVhzZgt56eVmV8BDpQlVMtSEGNMK0oOjT6BtAfnI3XD0n7jDaKzpv3iBqSr4vOTaTLSyzufxsWu0NseCYgGUeXP8Iz0SgEWalCtvSMPMBO4F52hB3sgt9tB8o5Ze4Zskgk0q_8iU1m70S8fboHdIAoTA2wvq-43hkz2e3N6dmHCAdjlTgzbMz15rtZk.eTV4ZlyCGxxHj56o4RKlog \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add05.info b/scripts/simapp/template/.simapp/keyring-test/add05.info new file mode 100644 index 000000000..06e31dd60 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add05.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzoxMy42MjU1NzYgKzA5MDAgS1NUIG09KzEuMTEyOTc2Mzc0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiOW9iYnluaEFVVEdiU0FrciJ9.UBIcsQlojBamtKv0CFnadEiSusYquFLM6f-IPLSJSqAoiK54wWC-ow.nYMxEDkwFCFmXt8D.F2_6zMJbeLAwsuwKHQOkcUcuM-q69bvAKgWM53394Nr-rQFHgslzf4niIfKiPekynVR61v4rgzVrh6L53v62XFwlnyZ1tN-87XncN8jl25C7db8Xekuy2FsWbK3Vf7TkxbTRlvItOOdli87u_l41EnaH-dIGsT8YeP7TxEP5FEDUloRtXpbXcDXMC9taNhVNZKtb1TRTtuoqAFFxPbvXcyU4opdAV3bZF5QSkpL0zowUhnVxPd9QjK_oOg6o9SfVhrYmQoCeTDvtK7R7J5PvwOTqIRJyrOhPuaBvaWm0_yLcMsxHiyDVLuwfjhi4u9EkCUFR2-tHd_gKfEpJRJGC7ZmzkH-AgYQz.8azFDNdYX6mhK9nXUiF_Lw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add06.info b/scripts/simapp/template/.simapp/keyring-test/add06.info new file mode 100644 index 000000000..2e1e4bb9e --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add06.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzoyMS45MjY4NTcgKzA5MDAgS1NUIG09KzEuMzQxNTE1NTE1IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiWnhSQjFQZTV0aEc3UHZTNyJ9.tdcA2KvhjxxYGs0t6kUm16WNJ2EYk_sZjwRNrO5TpWLN9iZyOtDoFA.hzjkFdyE_zpMKG33.YSO6E6M4mhLZuoLaFRuITmDdkZFkVW8OPx1nfJq8bVcexJRro1eI6yo7kG2O77hgJtQhE6-21SV3v2WIqipP7GOo-ls1vXGxRMhTCmwBGfMx0TAlZNMHs94XlWEPGjeRNy-69xKv4NiE007NRqxPwDIsPcS6fHVEPAnCq_4-o1VNvdhjPB81ug_vcry-EFNwJ3P3ZdLRxLFJ9J7bqTiWbgL88BE9bwbu2-MZRsVBhOt5qREjGeruLx4pdx8bB21f-gp_2udYfpNwYB9eWcVFguOTQxwzLD-NQwcNv8Qql6qJ2_Dpn6Lnh5eHpK27XJ3OEwrTizYg5kW5cZLFs-HH3CG8E6Uv1IL6.u66W7X3A_2hCNnY7iTsscQ \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add07.info b/scripts/simapp/template/.simapp/keyring-test/add07.info new file mode 100644 index 000000000..0ff8df3a4 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add07.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0MzozNC4zMzUyOTYgKzA5MDAgS1NUIG09KzIuODkyMDM3MzczIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiYTFLcGhPQ2VLZVA1SE1oRCJ9.MPDXhSxyQEMQZkkzKXanTgTN1SR0itaWRTuOo0wQYzXgcpa6TNgzLA.lG3AVf-KPeUUbIWs.JsdRzprKa9bY-h8t3G9R9Bfl-a86M3tXl5tBmcp4MwVbCk4dFib089X_Veo9xv65VVKLGIn_jipcbfsVaheoCbqzSAx5K4P7-cHzhHSQQz6IgHW7Vny6JLvdxOfqtt46eP6DaOldpnpO0YMAC27uLUzDLYa3og7VbLtpyJcT-RwAGD03Jie8bSJPmdH8RJ_W4yJKW53txvbLo4SDfGDKhZNaN91QnNrMhxTxmnWDw7tWjSwm4j8akCb4abnP1J7V5HXc9Yfml86WvCOMCBdteN-_6FYfC2Xt_Zwux8VxwX1JnXYSaCazWbcAjqhrJYUw7lZel1ixNGVnrYnJYx7v0aWQ6sw6fz8w.UUuHB_PGnxw3t3Xq3x5rZA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add08.info b/scripts/simapp/template/.simapp/keyring-test/add08.info new file mode 100644 index 000000000..0dc7ec4a0 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add08.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mzo1MS4yMjk4NzEgKzA5MDAgS1NUIG09KzIuMTE3NjAwNTYxIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiTGZYNFhrdlF6bDJMaHQ4XyJ9.AdsfafC_-mu-C5y9ZlSyZOxvhkzkLxdoxGRuPtKzXv1FymXY91LHZw.NHEOOuIQE3-bk6Cf.ADp8rrFQrd34CEnHvq5PJEVisAcvgNyuBjAPoGCzgoTcoRzfgzLrL_a4uf5ZsOg3noliJ64--IaF0Fl4lTpARn_wk9mfcGoWqt9DmgBbAb7pNbGpmYZ6bm7RFaGx0E9EvoNhxw_4Ph-P6cI42mTKAfutOXTZtd4MEZmBJ5SEGlNfu-OmS9ILyC17pcWNyc6Qfn-o5i1QozbjK3hX55FdA5cKwXWkZlOiJdY8QYg0kkTBbsGsFv4yjUiadPIs4bZdV4kMdD8za6eRFAgDlEoLFiDkzIZ_UhKlhzsrXlVuoqR3S83LT7TuhttYitK5_FmPG6lZecjxvmkZqsSnvAXLJNz9AdPk9NNv.Le-bT8h-0fXqOz4AgCdWkw \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/add09.info b/scripts/simapp/template/.simapp/keyring-test/add09.info new file mode 100644 index 000000000..314041bca --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/add09.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNzo0Mzo1OS40Nzk5MjEgKzA5MDAgS1NUIG09KzEuOTkyODYyNDQzIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiNS1BbU9HYnpDcTZxX0M5MSJ9.L-4WN5sF-VkY3Ka-Yo1V8frQU6_B0pY_pVOIuN4h-NHFgp7nE_gXwg.lXiWjRJZxfjAAgcL.1AgDWApZQ0aQnAW26pzZ9Nr18KSOLt_SQcmg9ndYc-MtiXFg92xcagdkbkQAQxBJ6r2Fv-vKWJFSfgOBlVUP3gbc2pBvGu4ycTLVT-OKxKV3MLHHE4O1y2LPqdXRmfSUddUVyLkkherm5l--e6uGkpdjjXxuigIX-o5a7989WwWDiifudjip1Pumurs5o5ZFmjBmZh0R9le1GElw0MAT1ISdcSalyXBFcr-LV0Nx2e1OmMHzwnL8w-GmVlqy7-5dDMUHjmky7eWamFOigfwsUoAYxPOHkWORje2I_RhqxJuWCvnf2JLzltEwD-jBkYulOZWALqTt7aeAOfMuwROQd5jZ3bFolbAO.XhGZFwXkFA5mw29wcqLcDA \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/jack.info b/scripts/simapp/template/.simapp/keyring-test/jack.info new file mode 100644 index 000000000..0ffcaf1e1 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/jack.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wNC0xMyAyMTo0NDoyOC4zODkwODUgKzA5MDAgSlNUIG09KzAuMDU5NTMzMjA5IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoiTEdiX1RHMnhGRTNGNVhxQyJ9.K5BjSN0S13bKEz1wT9Peysjo5ubzfvbw3XKuAF9dxf4jdeUt8da-sA.h_WJSm39g0UgQEIv.YTCjsH0GwTQ7vvwK7bq2JYw43oNoQzqRo9VTmc5tKRQmjzdch1vIb_zq0-2WXyM1sv1CgsG_DR0-XD78lqsmAu0rvpUvqadymY3l8BsoUaFqTC3S4rlMfQaniitjZ5_vIMjgjn722yOptu4K0lpm7GqEpb-gejcRFHca1-hOqdtc200MKAUwV2Rf8QPSxRu0w6Q_0CvAAXCtNCTsf-TTARQbI9zWaAaCBnWZS7rwVngAtxMueCQ19sTd8BsG0RtlTC_MDaA2GPoVFQmbDUujy97WjiTeiPH4wsMYYtmmvJIRxcqhg4LqWLMLP2RSoDmkxzNSdKDE8Fv_ucBEIPZptOvGPbvBPBk.Vs_P_b1YMmj4G9XUdY6Eig \ No newline at end of file diff --git a/scripts/simapp/template/.simapp/keyring-test/validator0.info b/scripts/simapp/template/.simapp/keyring-test/validator0.info new file mode 100644 index 000000000..2d94c0de4 --- /dev/null +++ b/scripts/simapp/template/.simapp/keyring-test/validator0.info @@ -0,0 +1 @@ +eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyMi0wMS0yMiAxNjo1MToxOS4yNTYyNzIgKzA5MDAgS1NUIG09KzAuMDU0NDI4OTQwIiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoienJzNGFIOGN6YzIxTmhWTyJ9.kWLTwkdMvMx5sJW2jOK3uQEvwHUF7NcYKSNZYizEItNf_N9Zgllb9Q.kzHXpzcn9S7MJeZb.pIkFkXMgvqzExFl5BNIdaOKQel3dkZkh-DKNBCZQl6tLrLFysleRi4o_yyRjj5cMxuMAsUSk6hSPqQH0rqtLq8LhzxRLhlQbQsdfMwLM0ZU6MUm0bzZdEUkp5xBby2Y9W5tY4YXomYANfwxXntbkpxvsusPObu8kWaJMLc9qDfptCZWd97x9LGlHYv-gMwTV4kup25iITALr1fKWqSjeT4fMNqLBz_lbfwa7jJv7LIl3BxQebBFP0pcesjQ1DbrkMiFxFhBZPLi7D_3vTguifRGV4RhmPWK3lVK4A5MMtm96bcRFPRv8Xee4XRiZpYiMZ5ns8GJMHmmer02sd6jdapSo0Fh5u8sg6pPBonT8iiy1IdtUjQ.7BGIiYqaJj7t7d5JWlWQ2A \ No newline at end of file diff --git a/scripts/simapp/template/run_simd.sh b/scripts/simapp/template/run_simd.sh new file mode 100755 index 000000000..9334906b2 --- /dev/null +++ b/scripts/simapp/template/run_simd.sh @@ -0,0 +1,7 @@ +#!/bin/sh +set -o errexit -o nounset -o pipefail +command -v shellcheck >/dev/null && shellcheck "$0" + +cp -R "/template/.simapp" /root +mkdir -p /root/log +simd start --rpc.laddr tcp://0.0.0.0:26657 --trace diff --git a/scripts/simapp/template/setup.sh b/scripts/simapp/template/setup.sh new file mode 100755 index 000000000..e8e176021 --- /dev/null +++ b/scripts/simapp/template/setup.sh @@ -0,0 +1,47 @@ +#!/bin/sh +set -o errexit -o nounset +command -v shellcheck >/dev/null && shellcheck "$0" + +gnused="$(command -v gsed || echo sed)" + +PASSWORD=${PASSWORD:-1234567890} +CHAIN_ID=${CHAIN_ID:-lbm-testing} +MONIKER=${MONIKER:-lbm-moniker} + +# The staking and the fee tokens. The supply of the staking token is low compared to the fee token (factor 100). +STAKE=${STAKE_TOKEN:-stake} +FEE=${FEE_TOKEN:-cony} + +# 2000 STAKE and 1000 COSM +START_BALANCE="2000000000$STAKE,1000000000$FEE" + +echo "Creating genesis ..." +lbm init --chain-id "$CHAIN_ID" "$MONIKER" +"$gnused" -i "s/\"stake\"/\"$STAKE\"/" "$HOME"/.simapp/config/genesis.json # staking/governance token is hardcoded in config, change this + +echo "Setting up validator ..." +if ! simd keys show validator 2>/dev/null; then + echo "Validator does not yet exist. Creating it ..." + ( + echo "$PASSWORD" + echo "$PASSWORD" + ) | lbm keys add validator +fi +# hardcode the validator account for this instance +echo "$PASSWORD" | lbm add-genesis-account validator "$START_BALANCE" + +echo "Setting up accounts ..." +# (optionally) add a few more genesis accounts +for addr in "$@"; do + echo "$addr" + lbm add-genesis-account "$addr" "$START_BALANCE" +done + +echo "Creating genesis tx ..." +SELF_DELEGATION="3000000$STAKE" # 3 STAKE (leads to a voting power of 3) +( + echo "$PASSWORD" + echo "$PASSWORD" + echo "$PASSWORD" +) | lbm gentx validator "$SELF_DELEGATION" --offline --chain-id "$CHAIN_ID" --moniker="$MONIKER" +lbm collect-gentxs From 2b8dae1cb2d82bc43b1db56672638340c60b8d04 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Mon, 13 Jun 2022 22:59:41 +0900 Subject: [PATCH 02/10] ci: add integration test with simd docker image. Signed-off-by: zemyblue --- .github/workflows/test.yml | 2 + .../src/modules/authz/queries.spec.ts | 8 +-- .../stargate/src/modules/ibc/queries.spec.ts | 70 +++++++++---------- .../src/signingstargateclient.spec.ts | 5 +- packages/stargate/src/stargateclient.spec.ts | 4 +- packages/stargate/src/testutils.spec.ts | 28 ++------ 6 files changed, 50 insertions(+), 67 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d8c19d853..f78f4a330 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -34,3 +34,5 @@ jobs: - name: Unit Test run: yarn test + env: + SIMAPP_ENABLED: 1 diff --git a/packages/stargate/src/modules/authz/queries.spec.ts b/packages/stargate/src/modules/authz/queries.spec.ts index af2f2723a..e16938ef4 100644 --- a/packages/stargate/src/modules/authz/queries.spec.ts +++ b/packages/stargate/src/modules/authz/queries.spec.ts @@ -11,9 +11,9 @@ import { defaultSigningClientOptions, faucet, makeRandomAddress, - pendingWithoutSimapp44, + pendingWithoutSimapp, simapp, - simapp44Enabled, + simappEnabled, } from "../../testutils.spec"; import { AuthzExtension, setupAuthzExtension } from "./queries"; @@ -37,7 +37,7 @@ xdescribe("AuthzExtension", () => { const grantedMsg = "/lbm.distribution.v1.MsgWithdrawDelegatorReward"; beforeAll(async () => { - if (simapp44Enabled()) { + if (simappEnabled()) { const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic, { // Use address 1 and 2 instead of 0 to avoid conflicts with other delegation tests // This must match `voterAddress` above. @@ -81,7 +81,7 @@ xdescribe("AuthzExtension", () => { describe("grants", () => { it("works", async () => { - pendingWithoutSimapp44(); + pendingWithoutSimapp(); const [client, tmClient] = await makeClientWithAuthz(simapp.tendermintUrl); const response = await client.authz.grants(granter1Address, grantee1Address, ""); expect(response.grants.length).toEqual(1); diff --git a/packages/stargate/src/modules/ibc/queries.spec.ts b/packages/stargate/src/modules/ibc/queries.spec.ts index fd1d73fd6..15291c758 100644 --- a/packages/stargate/src/modules/ibc/queries.spec.ts +++ b/packages/stargate/src/modules/ibc/queries.spec.ts @@ -2,7 +2,7 @@ import { Tendermint34Client } from "@lbmjs/ostracon-rpc"; import Long from "long"; import { QueryClient } from "../../queryclient"; -import { pendingWithoutSimapp42, simapp } from "../../testutils.spec"; +import { pendingWithoutSimapp, simapp } from "../../testutils.spec"; import * as ibcTest from "./ibctestdata.spec"; import { IbcExtension, setupIbcExtension } from "./queries"; @@ -16,7 +16,7 @@ describe("IbcExtension", () => { // describe("channel", () => { // describe("channel", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.channel(ibcTest.portId, ibcTest.channelId); @@ -30,7 +30,7 @@ describe("IbcExtension", () => { // // describe("channels", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.channels(); @@ -44,7 +44,7 @@ describe("IbcExtension", () => { // // describe("allChannels", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.allChannels(); @@ -56,7 +56,7 @@ describe("IbcExtension", () => { // // describe("connectionChannels", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.connectionChannels(ibcTest.connectionId); @@ -70,7 +70,7 @@ describe("IbcExtension", () => { // // describe("allConnectionChannels", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.allConnectionChannels(ibcTest.connectionId); @@ -82,7 +82,7 @@ describe("IbcExtension", () => { // // describe("clientState", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.clientState(ibcTest.portId, ibcTest.channelId); @@ -100,7 +100,7 @@ describe("IbcExtension", () => { // // describe("consensusState", () => { // xit("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.consensusState( @@ -122,7 +122,7 @@ describe("IbcExtension", () => { // // describe("packetCommitment", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.packetCommitment( @@ -140,7 +140,7 @@ describe("IbcExtension", () => { // // describe("packetCommitments", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.packetCommitments(ibcTest.portId, ibcTest.channelId); @@ -154,7 +154,7 @@ describe("IbcExtension", () => { // // describe("allPacketCommitments", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.allPacketCommitments(ibcTest.portId, ibcTest.channelId); @@ -166,7 +166,7 @@ describe("IbcExtension", () => { // // describe("packetReceipt", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.packetReceipt(ibcTest.portId, ibcTest.channelId, 1); @@ -179,7 +179,7 @@ describe("IbcExtension", () => { // describe("packetAcknowledgement", () => { // it("works", async () => { // pending("We don't have an acknowledgement for testing at the moment"); - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.packetAcknowledgement( @@ -197,7 +197,7 @@ describe("IbcExtension", () => { // // describe("packetAcknowledgements", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.packetAcknowledgements(ibcTest.portId, ibcTest.channelId); @@ -211,7 +211,7 @@ describe("IbcExtension", () => { // // describe("allPacketAcknowledgements", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.allPacketAcknowledgements( @@ -226,7 +226,7 @@ describe("IbcExtension", () => { // // describe("unreceivedPackets", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.unreceivedPackets( @@ -243,7 +243,7 @@ describe("IbcExtension", () => { // // describe("unreceivedAcks", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.unreceivedAcks( @@ -260,7 +260,7 @@ describe("IbcExtension", () => { // // describe("nextSequenceReceive", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.channel.nextSequenceReceive(ibcTest.portId, ibcTest.channelId); @@ -276,7 +276,7 @@ describe("IbcExtension", () => { // describe("client", () => { // describe("state", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.state(ibcTest.clientId); @@ -291,7 +291,7 @@ describe("IbcExtension", () => { // // describe("states", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.states(); @@ -312,7 +312,7 @@ describe("IbcExtension", () => { // // describe("allStates", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.allStates(); @@ -332,7 +332,7 @@ describe("IbcExtension", () => { // // describe("consensusState", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.consensusState(ibcTest.clientId); @@ -347,7 +347,7 @@ describe("IbcExtension", () => { // // describe("consensusStates", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.consensusStates(ibcTest.clientId); @@ -369,7 +369,7 @@ describe("IbcExtension", () => { // // describe("allConsensusStates", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.allConsensusStates(ibcTest.clientId); @@ -391,7 +391,7 @@ describe("IbcExtension", () => { // // describe("params", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.params(); @@ -405,7 +405,7 @@ describe("IbcExtension", () => { // // describe("stateTm", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.stateTm(ibcTest.clientId); @@ -418,7 +418,7 @@ describe("IbcExtension", () => { // // describe("statesTm", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.statesTm(); @@ -436,7 +436,7 @@ describe("IbcExtension", () => { // // describe("allStatesTm", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.allStatesTm(); @@ -454,7 +454,7 @@ describe("IbcExtension", () => { // // describe("consensusStateTm", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.client.consensusStateTm(ibcTest.clientId); @@ -469,7 +469,7 @@ describe("IbcExtension", () => { // describe("connection", () => { // describe("connection", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.connection.connection(ibcTest.connectionId); @@ -483,7 +483,7 @@ describe("IbcExtension", () => { // // describe("connections", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.connection.connections(); @@ -497,7 +497,7 @@ describe("IbcExtension", () => { // // describe("allConnections", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.connection.allConnections(); @@ -509,7 +509,7 @@ describe("IbcExtension", () => { // // describe("clientConnections", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.connection.clientConnections(ibcTest.clientId); @@ -523,7 +523,7 @@ describe("IbcExtension", () => { // // describe("clientState", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // const response = await client.ibc.connection.clientState(ibcTest.connectionId); @@ -541,7 +541,7 @@ describe("IbcExtension", () => { // // describe("consensusState", () => { // it("works", async () => { - // pendingWithoutSimapp42(); + // pendingWithoutSimapp(); // const [client, tmClient] = await makeClientWithIbc(simapp.tendermintUrl); // // // TODO: Find valid values diff --git a/packages/stargate/src/signingstargateclient.spec.ts b/packages/stargate/src/signingstargateclient.spec.ts index a3ae83c7b..2696000bc 100644 --- a/packages/stargate/src/signingstargateclient.spec.ts +++ b/packages/stargate/src/signingstargateclient.spec.ts @@ -22,7 +22,6 @@ import { ModifyingDirectSecp256k1HdWallet, ModifyingSecp256k1HdWallet, pendingWithoutSimapp, - pendingWithoutSimapp42, simapp, validator, } from "./testutils.spec"; @@ -147,7 +146,7 @@ describe("SigningStargateClient", () => { describe("sendIbcTokens", () => { it("works with direct signing", async () => { - pendingWithoutSimapp42(); + pendingWithoutSimapp(); const wallet = await DirectSecp256k1HdWallet.fromMnemonic(faucet.mnemonic); const client = await SigningStargateClient.connectWithSigner( simapp.tendermintUrl, @@ -196,7 +195,7 @@ describe("SigningStargateClient", () => { }); it("works with Amino signing", async () => { - pendingWithoutSimapp42(); + pendingWithoutSimapp(); const wallet = await Secp256k1HdWallet.fromMnemonic(faucet.mnemonic); const client = await SigningStargateClient.connectWithSigner( simapp.tendermintUrl, diff --git a/packages/stargate/src/stargateclient.spec.ts b/packages/stargate/src/stargateclient.spec.ts index c9585b888..24d8d9720 100644 --- a/packages/stargate/src/stargateclient.spec.ts +++ b/packages/stargate/src/stargateclient.spec.ts @@ -149,7 +149,9 @@ describe("StargateClient", () => { secp256r1PubKey: null, multisigPubKey: null, accountNumber: validator.accountNumber, - sequence: validator.sequence, + // validator.sequence => 41, because gov module test. + // sequence: validator.sequence, + sequence: 41, }); client.disconnect(); diff --git a/packages/stargate/src/testutils.spec.ts b/packages/stargate/src/testutils.spec.ts index 6e53494fa..486f4ee94 100644 --- a/packages/stargate/src/testutils.spec.ts +++ b/packages/stargate/src/testutils.spec.ts @@ -15,28 +15,8 @@ import { AuthInfo, SignDoc, TxBody } from "lbmjs-types/lbm/tx/v1/tx"; import { calculateFee, GasPrice } from "./fee"; import { SigningStargateClientOptions } from "./signingstargateclient"; -export function simapp42Enabled(): boolean { - return !!process.env.SIMAPP42_ENABLED; -} - -export function simapp44Enabled(): boolean { - return !!process.env.SIMAPP44_ENABLED; -} - export function simappEnabled(): boolean { - return simapp42Enabled() || simapp44Enabled(); -} - -export function pendingWithoutSimapp44(): void { - if (!simapp44Enabled()) { - return pending("Set SIMAPP44_ENABLED to enable Simapp based tests"); - } -} - -export function pendingWithoutSimapp42(): void { - if (!simapp42Enabled()) { - return pending("Set SIMAPP42_ENABLED to enable Simapp based tests"); - } + return !!process.env.SIMAPP_ENABLED; } export function pendingWithoutSimapp(): void { @@ -46,7 +26,7 @@ export function pendingWithoutSimapp(): void { } export function slowSimappEnabled(): boolean { - return !!process.env.SLOW_SIMAPP42_ENABLED || !!process.env.SLOW_SIMAPP44_ENABLED; + return !!process.env.SIMAPP_ENABLED; } export function pendingWithoutSlowSimapp(): void { @@ -144,7 +124,7 @@ export const unused = { value: "A7Tvuh48+JzNyBnTeK2Qw987f5FqFHK/QH65pTVsZvuh", }, address: "link1tfcuj70ssvwnxv9ryk4p9xywyq626asgfktaxv", - accountNumber: 12, + accountNumber: 8, sequence: 0, balanceStaking: "20000000000", // 100000 STAKE balanceFee: "100000000000", // 1000 CONY @@ -178,7 +158,7 @@ export const validator = { * ``` */ validatorAddress: "linkvaloper146asaycmtydq45kxc8evntqfgepagygeddajpy", - accountNumber: 13, + accountNumber: 9, sequence: 1, }; From 8dd2eaab2670d56543249f6b6a0b0ec70c793d02 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 11:59:17 +0900 Subject: [PATCH 03/10] ci: add docker running in test action. Signed-off-by: zemyblue --- .github/workflows/test.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f78f4a330..f7d90ad72 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -32,7 +32,13 @@ jobs: - name: Build run: yarn build + - name: Start simapp docker + run: ./scripts/simapp/start.sh + - name: Unit Test run: yarn test env: SIMAPP_ENABLED: 1 + + - name: Stop simapp docker + run: ./scripts/simapp/stop.sh From a574753c08d3e1cd79400e37b09771a9274e341a Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 12:12:35 +0900 Subject: [PATCH 04/10] ci: add docker running in test action. Signed-off-by: zemyblue --- scripts/simapp/env | 2 +- scripts/simapp/start.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/simapp/env b/scripts/simapp/env index 34a9943a8..3ac57ab9b 100644 --- a/scripts/simapp/env +++ b/scripts/simapp/env @@ -1,4 +1,4 @@ # Choose from https://hub.docker.com/r/line/lbm-simapp/tags REPOSITORY="line/lbm-simapp" VERSION="0.46.0-rc2" -CONTAINER_NAME="lbmapp" +CONTAINER_NAME="simapp" diff --git a/scripts/simapp/start.sh b/scripts/simapp/start.sh index 318635bb1..eb9cbc985 100755 --- a/scripts/simapp/start.sh +++ b/scripts/simapp/start.sh @@ -23,7 +23,7 @@ SIMD_LOGFILE="$TMP_DIR/simd.log" # Use a fresh volume for every start docker volume rm -f simapp_data -docker run --rm \ +docker run --rm -d \ --name "$CONTAINER_NAME" \ -p "$TENDERMINT_PORT_HOST":"$TENDERMINT_PORT_GUEST" \ -p "$API_PORT_HOST":"$API_PORT_GUEST" \ From 479555b1ac476a4e17e2ae742f9c87b8ec045bf8 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 12:31:07 +0900 Subject: [PATCH 05/10] ci: add docker running in test action. Signed-off-by: zemyblue --- .github/workflows/test.yml | 11 ++++++++--- scripts/simapp/start.sh | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7d90ad72..e26cd7df7 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,6 +7,14 @@ on: - main jobs: + simapp: + name: Run simmapp docker + runs-on: self-hosted + + steps: + - name: Start simapp docker + run: ./scripts/simapp/start.sh + tests: name: Run tests runs-on: self-hosted @@ -32,9 +40,6 @@ jobs: - name: Build run: yarn build - - name: Start simapp docker - run: ./scripts/simapp/start.sh - - name: Unit Test run: yarn test env: diff --git a/scripts/simapp/start.sh b/scripts/simapp/start.sh index eb9cbc985..318635bb1 100755 --- a/scripts/simapp/start.sh +++ b/scripts/simapp/start.sh @@ -23,7 +23,7 @@ SIMD_LOGFILE="$TMP_DIR/simd.log" # Use a fresh volume for every start docker volume rm -f simapp_data -docker run --rm -d \ +docker run --rm \ --name "$CONTAINER_NAME" \ -p "$TENDERMINT_PORT_HOST":"$TENDERMINT_PORT_GUEST" \ -p "$API_PORT_HOST":"$API_PORT_GUEST" \ From 25f2735ad22c9498eca5579c057224fae7afc2d1 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 14:04:50 +0900 Subject: [PATCH 06/10] ci: add docker running in test action. Signed-off-by: zemyblue --- .github/workflows/test.yml | 6 ++++-- scripts/simapp/stop.sh | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e26cd7df7..5e36d4928 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,12 +8,14 @@ on: jobs: simapp: - name: Run simmapp docker + name: Run simapp docker runs-on: self-hosted steps: - name: Start simapp docker - run: ./scripts/simapp/start.sh + run: | + ./scripts/simapp/stop.sh + ./scripts/simapp/start.sh tests: name: Run tests diff --git a/scripts/simapp/stop.sh b/scripts/simapp/stop.sh index 9497d937c..d01d6dbc2 100755 --- a/scripts/simapp/stop.sh +++ b/scripts/simapp/stop.sh @@ -7,5 +7,7 @@ SCRIPT_DIR="$(realpath "$(dirname "$0")")" # shellcheck disable=SC1091 source "$SCRIPT_DIR"/env -echo "Killing simapp container..." -docker container kill "$CONTAINER_NAME" +if [ "$( docker container inspect -f '{{.State.Running}}' $CONTAINER_NAME )" == "true" ]; then + echo "Killing simapp container..." + docker container kill "$CONTAINER_NAME" +fi From 81aad04e72ad804f7a23c95e668eea24c49e829c Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 14:06:47 +0900 Subject: [PATCH 07/10] ci: add docker running in test action. Signed-off-by: zemyblue --- scripts/simapp/env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/simapp/env b/scripts/simapp/env index 3ac57ab9b..34a9943a8 100644 --- a/scripts/simapp/env +++ b/scripts/simapp/env @@ -1,4 +1,4 @@ # Choose from https://hub.docker.com/r/line/lbm-simapp/tags REPOSITORY="line/lbm-simapp" VERSION="0.46.0-rc2" -CONTAINER_NAME="simapp" +CONTAINER_NAME="lbmapp" From f205f0e2af5e772a7ad68919ea20f8d407db1fbc Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 14:09:15 +0900 Subject: [PATCH 08/10] ci: add docker running in test action. Signed-off-by: zemyblue --- .github/workflows/test.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5e36d4928..00e9d1d88 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,6 +14,7 @@ jobs: steps: - name: Start simapp docker run: | + docker ps ./scripts/simapp/stop.sh ./scripts/simapp/start.sh From 3b6f4bffe465cdd9ceb7986ee5e02d810b350ab9 Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 14:28:16 +0900 Subject: [PATCH 09/10] feat: add `UpdateDecisionPolicy` unittest Signed-off-by: zemyblue --- scripts/simapp/start.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/simapp/start.sh b/scripts/simapp/start.sh index 318635bb1..eb9cbc985 100755 --- a/scripts/simapp/start.sh +++ b/scripts/simapp/start.sh @@ -23,7 +23,7 @@ SIMD_LOGFILE="$TMP_DIR/simd.log" # Use a fresh volume for every start docker volume rm -f simapp_data -docker run --rm \ +docker run --rm -d \ --name "$CONTAINER_NAME" \ -p "$TENDERMINT_PORT_HOST":"$TENDERMINT_PORT_GUEST" \ -p "$API_PORT_HOST":"$API_PORT_GUEST" \ From 92a86600415f246b93006b8ab8513137e1e4b97e Mon Sep 17 00:00:00 2001 From: zemyblue Date: Tue, 14 Jun 2022 14:41:01 +0900 Subject: [PATCH 10/10] ci: add docker running in test action. Signed-off-by: zemyblue --- .github/workflows/test.yml | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 00e9d1d88..d8c19d853 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -7,17 +7,6 @@ on: - main jobs: - simapp: - name: Run simapp docker - runs-on: self-hosted - - steps: - - name: Start simapp docker - run: | - docker ps - ./scripts/simapp/stop.sh - ./scripts/simapp/start.sh - tests: name: Run tests runs-on: self-hosted @@ -45,8 +34,3 @@ jobs: - name: Unit Test run: yarn test - env: - SIMAPP_ENABLED: 1 - - - name: Stop simapp docker - run: ./scripts/simapp/stop.sh