🔌RPC
This file defines the JSON-RPC spec of CometBFT vs Landslide SDK. This is meant to be implemented by all clients.
Routes | ||
✅ | ✅ | |
✅ | ✅ | |
NetInfo | ✅ | ❌ |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
❌ | ✅ | |
❌ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
✅ | ✅ | |
BroadcastEvidence | ✅ | ❌ |
Info Routes
Health
Node heartbeat
Parameters
None
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"health\"}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {}
}
Status
Get CometBFT status including node info, pubkey, latest block hash, app hash, block height and time.
Parameters
None
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"status\"}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"node_info": {
"protocol_version": {
"p2p": "8",
"block": "11",
"app": "0"
},
"id": "cb912d5ed8d2cdc31ba42aad6ec37bd640fdce62",
"listen_addr": "/ext/bc/2rUgWwRguT2uAzPFTZSz2XrJiVZhif5Yv6NKGupFj89CJTEfQu/rpc",
"network": "landslide-test",
"version": "0.38.9",
"channels": "",
"moniker": "cb912d5ed8d2cdc31ba42aad6ec37bd640fdce62",
"other": {
"tx_index": "",
"rpc_address": ""
}
},
"sync_info": {
"latest_block_hash": "775DD3BBA679E6B6467CCCA2E67E7498BE5F2F60219EEEFE34EF40C28D5EA5CC",
"latest_app_hash": "A3C8A1E113E269D723F33A0483ADCEB3EE25D2EC23690BB2E4574367F0EF6417",
"latest_block_height": "39",
"latest_block_time": "2024-09-20T14:37:47.720065252Z",
"earliest_block_hash": "44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC",
"earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"earliest_block_height": "1",
"earliest_block_time": "2024-06-11T19:47:02.588140664Z",
"catching_up": false
},
"validator_info": {
"address": "29CFC6376255A78451EEB4B129ED8EACFFA2FEEF",
"pub_key": {
"type": "tendermint/PubKeySecp256k1",
"value": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"
},
"voting_power": "0"
}
}
}
Blockchain
Get block headers. Returned in descending order. May be limited in quantity.
Parameters
minHeight (integer)
: The lowest block to be returned in the responsemaxHeight (integer)
: The highest block to be returned in the response
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"blockchain\",\"params\":{\"minHeight\":\"1\", \"maxHeight\":\"2\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"last_height": "67",
"block_metas": [
{
"block_id": {
"hash": "565633D9EF2063810FEDC5716CFFDED1879F334D051BEC8DCE9BBBD99F9DA478",
"parts": {
"total": 1,
"hash": "974BADDC7392A1DE56C3C586730C37371AF76B2F95BF155AF730B71C757A5ED6"
}
},
"block_size": "913",
"header": {
"version": {
"block": "11"
},
"chain_id": "landslide-test",
"height": "2",
"time": "2024-08-29T13:03:49.002664646Z",
"last_block_id": {
"hash": "44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC",
"parts": {
"total": 1,
"hash": "4001074D14084CC16C61F106675C45DB62732F0A8B5CFBEBD866AB283122C72F"
}
},
"last_commit_hash": "0165478ECE0A31DF2A5F8CF42DA468B42FEB1929404D28E05F587C82B8B69249",
"data_hash": "1969C3306F08030618232225F8B445BD32046E7C297EE2DDA10DC2747EB3F7AC",
"validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"next_validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"app_hash": "63C7D00C46CAA24D0F8745F90CBBC4F573CB77FD1D5F9B80A50AFBEFD83386CB",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"proposer_address": "0000000000000000000000000000000000000000"
},
"num_txs": "1"
},
{
"block_id": {
"hash": "44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC",
"parts": {
"total": 1,
"hash": "4001074D14084CC16C61F106675C45DB62732F0A8B5CFBEBD866AB283122C72F"
}
},
"block_size": "347",
"header": {
"version": {
"block": "11"
},
"chain_id": "landslide-test",
"height": "1",
"time": "2024-06-11T19:47:02.588140664Z",
"last_block_id": {
"hash": "",
"parts": {
"total": 0,
"hash": ""
}
},
"last_commit_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"data_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"next_validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"proposer_address": "0000000000000000000000000000000000000000"
},
"num_txs": "0"
}
]
}
}
Block
Get block at a specified height.
Parameters
height (integer)
: height of the requested block. If no height is specified the latest block will be used.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block\",\"params\":{\"height\":\"1\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"block_id": {
"hash": "44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC",
"parts": {
"total": 1,
"hash": "4001074D14084CC16C61F106675C45DB62732F0A8B5CFBEBD866AB283122C72F"
}
},
"block": {
"header": {
"version": {
"block": "11"
},
"chain_id": "landslide-test",
"height": "1",
"time": "2024-06-11T19:47:02.588140664Z",
"last_block_id": {
"hash": "",
"parts": {
"total": 0,
"hash": ""
}
},
"last_commit_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"data_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"next_validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"proposer_address": "0000000000000000000000000000000000000000"
},
"data": {
"txs": []
},
"evidence": {
"evidence": []
},
"last_commit": {
"height": "0",
"round": 0,
"block_id": {
"hash": "",
"parts": {
"total": 0,
"hash": ""
}
},
"signatures": []
}
}
}
}
BlockByHash
Parameters
hash (string)
: Hash of the block to query for.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block_by_hash\",\"params\":{\"hash\":\"44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"block_id": {
"hash": "",
"parts": {
"total": 0,
"hash": ""
}
},
"block": null
}
}
BlockResults
Parameters
height (integer)
: Height of the block which contains the results. If no height is specified, the latest block height will be used
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block_results\",\"params\":{\"height\":\"1\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": null
}
Commit
Parameters
height (integer)
: Height of the block the requested commit pertains to. If no height is set the latest commit will be returned.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"commit\",\"params\":{\"height\":\"1\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"signed_header": {
"header": {
"version": {
"block": "11"
},
"chain_id": "landslide-test",
"height": "1",
"time": "2024-06-11T19:47:02.588140664Z",
"last_block_id": {
"hash": "",
"parts": {
"total": 0,
"hash": ""
}
},
"last_commit_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"data_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"next_validators_hash": "B797D57B0083DA5EE04C7966CB8F3FA7F75B5767B1F5FCABABB53B0765738981",
"consensus_hash": "048091BC7DDC283F77BFBF91D73C44DA58C3DF8A9CBC867405D8B7F3DAADA22F",
"app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"last_results_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"evidence_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
"proposer_address": "0000000000000000000000000000000000000000"
},
"commit": {
"height": "1",
"round": 0,
"block_id": {
"hash": "44F0AC57A9A6FA4647A5F6CEA962D081DA9AD1CC8C871BE9725716F34CA08FAC",
"parts": {
"total": 1,
"hash": "4001074D14084CC16C61F106675C45DB62732F0A8B5CFBEBD866AB283122C72F"
}
},
"signatures": [
{
"block_id_flag": 3,
"validator_address": "CB3E8C3DF2B14CBB3538043B49C39DFBEF4B0F80",
"timestamp": "2024-08-29T13:03:49.002664646Z",
"signature": "SWJPZyHs3GpGxGf3UG1iBJAoc9Sd2b6vBKU1n16iRPk22ZcFEMSdCwoCq9uh7t2/Lvk66byOW0P05/2Q0+2aRA=="
}
]
}
},
"canonical": true
}
}
Validators
Parameters
height (integer)
: Block height at which the validators were present on. If no height is set the latest commit will be returned.page (integer)
:per_page (integer)
:
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"validators\",\"params\":{\"height\":\"1\", \"page\":\"1\", \"per_page\":\"20\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"block_height": "1",
"validators": [
{
"address": "CB3E8C3DF2B14CBB3538043B49C39DFBEF4B0F80",
"pub_key": {
"type": "tendermint/PubKeyEd25519",
"value": "yD+2h7vYYmrU1AA+7sMTv1UjKE8T7hVhgMqr9Ez/HA8="
},
"voting_power": "250",
"proposer_priority": "0"
}
],
"count": "1",
"total": "1"
}
}
Genesis
Get Genesis of the chain. If the response is large, this operation will return an error: use genesis_chunked
instead.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"genesis\"}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"genesis": {
"genesis_time": "2024-06-11T19:47:02.588140664Z",
"chain_id": "landslide-test",
"initial_height": "1",
"consensus_params": {
"block": {
"max_bytes": "22020096",
"max_gas": "-1"
},
"evidence": {
"max_age_num_blocks": "100000",
"max_age_duration": "172800000000000",
"max_bytes": "1048576"
},
"validator": {
"pub_key_types": [
"ed25519"
]
},
"version": {
"app": "0"
},
"abci": {
"vote_extensions_enable_height": "0"
}
},
"app_hash": "",
"app_state": {
"07-tendermint": null,
"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": "/cosmos.auth.v1beta1.BaseAccount",
"address": "wasm1vcw0he5l9mu54zawg3h440p83ex70ccmme53ac",
"pub_key": null,
"account_number": "0",
"sequence": "0"
},
{
"@type": "/cosmos.auth.v1beta1.BaseAccount",
"address": "wasm1kng6sqkm0mjuh09cwz6u86f75lmeflj9h0fqhr",
"pub_key": null,
"account_number": "1",
"sequence": "0"
},
{
"@type": "/cosmos.auth.v1beta1.BaseAccount",
"address": "wasm1c4w4jxdkvj3ygdycdkjy98jve6w0d7257eqfx9",
"pub_key": null,
"account_number": "2",
"sequence": "0"
}
]
},
"authz": {
"authorization": []
},
"bank": {
"params": {
"send_enabled": [],
"default_send_enabled": true
},
"balances": [
{
"address": "wasm1vcw0he5l9mu54zawg3h440p83ex70ccmme53ac",
"coins": [
{
"denom": "stake",
"amount": "1000000000"
}
]
},
{
"address": "wasm1kng6sqkm0mjuh09cwz6u86f75lmeflj9h0fqhr",
"coins": [
{
"denom": "stake",
"amount": "1000000000"
}
]
}
],
"supply": [
{
"denom": "stake",
"amount": "2000000000"
}
],
"denom_metadata": [],
"send_enabled": []
},
"capability": {
"index": "1",
"owners": []
},
"circuit": {
"account_permissions": [],
"disabled_type_urls": []
},
"consensus": null,
"crisis": {
"constant_fee": {
"denom": "stake",
"amount": "1000"
}
},
"distribution": {
"params": {
"community_tax": "0.020000000000000000",
"base_proposer_reward": "0.000000000000000000",
"bonus_proposer_reward": "0.000000000000000000",
"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": []
},
"feeibc": {
"identified_fees": [],
"fee_enabled_channels": [],
"registered_payees": [],
"registered_counterparty_payees": [],
"forward_relayers": []
},
"genutil": {
"gen_txs": [
{
"body": {
"messages": [
{
"@type": "/cosmos.staking.v1beta1.MsgCreateValidator",
"description": {
"moniker": "node1",
"identity": "",
"website": "",
"security_contact": "",
"details": ""
},
"commission": {
"rate": "0.100000000000000000",
"max_rate": "0.200000000000000000",
"max_change_rate": "0.010000000000000000"
},
"min_self_delegation": "1",
"delegator_address": "",
"validator_address": "wasmvaloper1vcw0he5l9mu54zawg3h440p83ex70ccmw9pdnz",
"pubkey": {
"@type": "/cosmos.crypto.ed25519.PubKey",
"key": "yD+2h7vYYmrU1AA+7sMTv1UjKE8T7hVhgMqr9Ez/HA8="
},
"value": {
"denom": "stake",
"amount": "250000000"
}
}
],
"memo": "195cbe2ac4a3f2e051d6cc58096a55172d930d3e@192.168.50.251:26656",
"timeout_height": "0",
"extension_options": [],
"non_critical_extension_options": []
},
"auth_info": {
"signer_infos": [
{
"public_key": {
"@type": "/cosmos.crypto.secp256k1.PubKey",
"key": "AhFggXG8fW08HKDacLjhUV28l6qQQz67ZAuoHGDlwCx4"
},
"mode_info": {
"single": {
"mode": "SIGN_MODE_DIRECT"
}
},
"sequence": "0"
}
],
"fee": {
"amount": [],
"gas_limit": "200000",
"payer": "",
"granter": ""
},
"tip": null
},
"signatures": [
"elAiSB50eI2jd8Oi/GRePGKiaA4YQ5v2mUmZoTyl1fYPuFG/PDvrQfO8puQjgQ7tAshWVUxWIQt9VDgRhxOrww=="
]
}
]
},
"gov": {
"starting_proposal_id": "1",
"deposits": [],
"votes": [],
"proposals": [],
"deposit_params": null,
"voting_params": null,
"tally_params": null,
"params": {
"min_deposit": [
{
"denom": "stake",
"amount": "10000000"
}
],
"max_deposit_period": "172800s",
"voting_period": "172800s",
"quorum": "0.334000000000000000",
"threshold": "0.500000000000000000",
"veto_threshold": "0.334000000000000000",
"min_initial_deposit_ratio": "0.000000000000000000",
"proposal_cancel_ratio": "0.500000000000000000",
"proposal_cancel_dest": "",
"expedited_voting_period": "86400s",
"expedited_threshold": "0.667000000000000000",
"expedited_min_deposit": [
{
"denom": "stake",
"amount": "50000000"
}
],
"burn_vote_quorum": false,
"burn_proposal_deposit_prevote": false,
"burn_vote_veto": true,
"min_deposit_ratio": "0.010000000000000000"
},
"constitution": ""
},
"group": {
"group_seq": "0",
"groups": [],
"group_members": [],
"group_policy_seq": "0",
"group_policies": [],
"proposal_seq": "0",
"proposals": [],
"votes": []
},
"ibc": {
"client_genesis": {
"clients": [],
"clients_consensus": [],
"clients_metadata": [],
"params": {
"allowed_clients": [
"06-solomachine",
"07-tendermint",
"09-localhost"
]
},
"create_localhost": false,
"next_client_sequence": "0"
},
"connection_genesis": {
"connections": [],
"client_connection_paths": [],
"next_connection_sequence": "0",
"params": {
"max_expected_time_per_block": "30000000000"
}
},
"channel_genesis": {
"channels": [],
"acknowledgements": [],
"commitments": [],
"receipts": [],
"send_sequences": [],
"recv_sequences": [],
"ack_sequences": [],
"next_channel_sequence": "0"
}
},
"interchainaccounts": {
"controller_genesis_state": {
"active_channels": [],
"interchain_accounts": [],
"ports": [],
"params": {
"controller_enabled": true
}
},
"host_genesis_state": {
"active_channels": [],
"interchain_accounts": [],
"port": "icahost",
"params": {
"host_enabled": true,
"allow_messages": [
"*"
]
}
}
},
"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"
}
},
"nft": {
"classes": [],
"entries": []
},
"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",
"min_commission_rate": "0.000000000000000000"
},
"last_total_power": "0",
"last_validator_powers": [],
"validators": [],
"delegations": [],
"unbonding_delegations": [],
"redelegations": [],
"exported": false
},
"transfer": {
"port_id": "transfer",
"denom_traces": [],
"params": {
"send_enabled": true,
"receive_enabled": true
},
"total_escrowed": []
},
"upgrade": {},
"vesting": {},
"wasm": {
"params": {
"code_upload_access": {
"permission": "Everybody",
"addresses": []
},
"instantiate_default_permission": "Everybody"
},
"codes": [],
"contracts": [],
"sequences": []
}
}
}
}
}
GenesisChunked
Get the genesis document in a chunks to support easily transferring larger documents.
Parameters
chunk
(integer): the index number of the chunk that you wish to fetch. These IDs are 0 indexed.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"genesis_chunked\",\"params\":{\"chunk\":\"0\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"chunk": "0",
"total": "1",
"data": "ewogICJhcHBfbmFtZSI6ICJ3YXNtZCIsCiAgImFwcF92ZXJzaW9uIjogIjAuNTAuMCIsCiAgImdlbmVzaXNfdGltZSI6ICIyMDI0LTA2LTExVDE5OjQ3OjAyLjU4ODE0MDY2NFoiLAogICJjaGFpbl9pZCI6ICJsYW5kc2xpZGUtdGVzdCIsCiAgImluaXRpYWxfaGVpZ2h0IjogIjAiLAogICJhcHBfaGFzaCI6IG51bGwsCiAgImFwcF9zdGF0ZSI6IHsKICAgICIwNy10ZW5kZXJtaW50IjogbnVsbCwKICAgICJhdXRoIjogewogICAgICAicGFyYW1zIjogewogICAgICAgICJtYXhfbWVtb19jaGFyYWN0ZXJzIjogIjI1NiIsCiAgICAgICAgInR4X3NpZ19saW1pdCI6ICI3IiwKICAgICAgICAidHhfc2l6ZV9jb3N0X3Blcl9ieXRlIjogIjEwIiwKICAgICAgICAic2lnX3ZlcmlmeV9jb3N0X2VkMjU1MTkiOiAiNTkwIiwKICAgICAgICAic2lnX3ZlcmlmeV9jb3N0X3NlY3AyNTZrMSI6ICIxMDAwIgogICAgICB9LAogICAgICAiYWNjb3VudHMiOiBbCiAgICAgICAgewogICAgICAgICAgIkB0eXBlIjogIi9jb3Ntb3MuYXV0aC52MWJldGExLkJhc2VBY2NvdW50IiwKICAgICAgICAgICJhZGRyZXNzIjogIndhc20xdmN3MGhlNWw5bXU1NHphd2czaDQ0MHA4M2V4NzBjY21tZTUzYWMiLAogICAgICAgICAgInB1Yl9rZXkiOiBudWxsLAogICAgICAgICAgImFjY291bnRfbnVtYmVyIjogIjAiLAogICAgICAgICAgInNlcXVlbmNlIjogIjAiCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiQHR5cGUiOiAiL2Nvc21vcy5hdXRoLnYxYmV0YTEuQmFzZUFjY291bnQiLAogICAgICAgICAgImFkZHJlc3MiOiAid2FzbTFrbmc2c3FrbTBtanVoMDljd3o2dTg2Zjc1bG1lZmxqOWgwZnFociIsCiAgICAgICAgICAicHViX2tleSI6IG51bGwsCiAgICAgICAgICAiYWNjb3VudF9udW1iZXIiOiAiMSIsCiAgICAgICAgICAic2VxdWVuY2UiOiAiMCIKICAgICAgICB9LAogICAgICAgIHsKICAgICAgICAgICJAdHlwZSI6ICIvY29zbW9zLmF1dGgudjFiZXRhMS5CYXNlQWNjb3VudCIsCiAgICAgICAgICAiYWRkcmVzcyI6ICJ3YXNtMWM0dzRqeGRrdmozeWdkeWNka2p5OThqdmU2dzBkNzI1N2VxZng5IiwKICAgICAgICAgICJwdWJfa2V5IjogbnVsbCwKICAgICAgICAgICJhY2NvdW50X251bWJlciI6ICIyIiwKICAgICAgICAgICJzZXF1ZW5jZSI6ICIwIgogICAgICAgIH0KICAgICAgXQogICAgfSwKICAgICJhdXRoeiI6IHsKICAgICAgImF1dGhvcml6YXRpb24iOiBbXQogICAgfSwKICAgICJiYW5rIjogewogICAgICAicGFyYW1zIjogewogICAgICAgICJzZW5kX2VuYWJsZWQiOiBbXSwKICAgICAgICAiZGVmYXVsdF9zZW5kX2VuYWJsZWQiOiB0cnVlCiAgICAgIH0sCiAgICAgICJiYWxhbmNlcyI6IFsKICAgICAgICB7CiAgICAgICAgICAiYWRkcmVzcyI6ICJ3YXNtMXZjdzBoZTVsOW11NTR6YXdnM2g0NDBwODNleDcwY2NtbWU1M2FjIiwKICAgICAgICAgICJjb2lucyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJkZW5vbSI6ICJzdGFrZSIsCiAgICAgICAgICAgICAgImFtb3VudCI6ICIxMDAwMDAwMDAwIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAiYWRkcmVzcyI6ICJ3YXNtMWtuZzZzcWttMG1qdWgwOWN3ejZ1ODZmNzVsbWVmbGo5aDBmcWhyIiwKICAgICAgICAgICJjb2lucyI6IFsKICAgICAgICAgICAgewogICAgICAgICAgICAgICJkZW5vbSI6ICJzdGFrZSIsCiAgICAgICAgICAgICAgImFtb3VudCI6ICIxMDAwMDAwMDAwIgogICAgICAgICAgICB9CiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdLAogICAgICAic3VwcGx5IjogWwogICAgICAgIHsKICAgICAgICAgICJkZW5vbSI6ICJzdGFrZSIsCiAgICAgICAgICAiYW1vdW50IjogIjIwMDAwMDAwMDAiCiAgICAgICAgfQogICAgICBdLAogICAgICAiZGVub21fbWV0YWRhdGEiOiBbXSwKICAgICAgInNlbmRfZW5hYmxlZCI6IFtdCiAgICB9LAogICAgImNhcGFiaWxpdHkiOiB7CiAgICAgICJpbmRleCI6ICIxIiwKICAgICAgIm93bmVycyI6IFtdCiAgICB9LAogICAgImNpcmN1aXQiOiB7CiAgICAgICJhY2NvdW50X3Blcm1pc3Npb25zIjogW10sCiAgICAgICJkaXNhYmxlZF90eXBlX3VybHMiOiBbXQogICAgfSwKICAgICJjb25zZW5zdXMiOiBudWxsLAogICAgImNyaXNpcyI6IHsKICAgICAgImNvbnN0YW50X2ZlZSI6IHsKICAgICAgICAiZGVub20iOiAic3Rha2UiLAogICAgICAgICJhbW91bnQiOiAiMTAwMCIKICAgICAgfQogICAgfSwKICAgICJkaXN0cmlidXRpb24iOiB7CiAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgImNvbW11bml0eV90YXgiOiAiMC4wMjAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJiYXNlX3Byb3Bvc2VyX3Jld2FyZCI6ICIwLjAwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgImJvbnVzX3Byb3Bvc2VyX3Jld2FyZCI6ICIwLjAwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgIndpdGhkcmF3X2FkZHJfZW5hYmxlZCI6IHRydWUKICAgICAgfSwKICAgICAgImZlZV9wb29sIjogewogICAgICAgICJjb21tdW5pdHlfcG9vbCI6IFtdCiAgICAgIH0sCiAgICAgICJkZWxlZ2F0b3Jfd2l0aGRyYXdfaW5mb3MiOiBbXSwKICAgICAgInByZXZpb3VzX3Byb3Bvc2VyIjogIiIsCiAgICAgICJvdXRzdGFuZGluZ19yZXdhcmRzIjogW10sCiAgICAgICJ2YWxpZGF0b3JfYWNjdW11bGF0ZWRfY29tbWlzc2lvbnMiOiBbXSwKICAgICAgInZhbGlkYXRvcl9oaXN0b3JpY2FsX3Jld2FyZHMiOiBbXSwKICAgICAgInZhbGlkYXRvcl9jdXJyZW50X3Jld2FyZHMiOiBbXSwKICAgICAgImRlbGVnYXRvcl9zdGFydGluZ19pbmZvcyI6IFtdLAogICAgICAidmFsaWRhdG9yX3NsYXNoX2V2ZW50cyI6IFtdCiAgICB9LAogICAgImV2aWRlbmNlIjogewogICAgICAiZXZpZGVuY2UiOiBbXQogICAgfSwKICAgICJmZWVncmFudCI6IHsKICAgICAgImFsbG93YW5jZXMiOiBbXQogICAgfSwKICAgICJmZWVpYmMiOiB7CiAgICAgICJpZGVudGlmaWVkX2ZlZXMiOiBbXSwKICAgICAgImZlZV9lbmFibGVkX2NoYW5uZWxzIjogW10sCiAgICAgICJyZWdpc3RlcmVkX3BheWVlcyI6IFtdLAogICAgICAicmVnaXN0ZXJlZF9jb3VudGVycGFydHlfcGF5ZWVzIjogW10sCiAgICAgICJmb3J3YXJkX3JlbGF5ZXJzIjogW10KICAgIH0sCiAgICAiZ2VudXRpbCI6IHsKICAgICAgImdlbl90eHMiOiBbCiAgICAgICAgewogICAgICAgICAgImJvZHkiOiB7CiAgICAgICAgICAgICJtZXNzYWdlcyI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAiQHR5cGUiOiAiL2Nvc21vcy5zdGFraW5nLnYxYmV0YTEuTXNnQ3JlYXRlVmFsaWRhdG9yIiwKICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6IHsKICAgICAgICAgICAgICAgICAgIm1vbmlrZXIiOiAibm9kZTEiLAogICAgICAgICAgICAgICAgICAiaWRlbnRpdHkiOiAiIiwKICAgICAgICAgICAgICAgICAgIndlYnNpdGUiOiAiIiwKICAgICAgICAgICAgICAgICAgInNlY3VyaXR5X2NvbnRhY3QiOiAiIiwKICAgICAgICAgICAgICAgICAgImRldGFpbHMiOiAiIgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJjb21taXNzaW9uIjogewogICAgICAgICAgICAgICAgICAicmF0ZSI6ICIwLjEwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICJtYXhfcmF0ZSI6ICIwLjIwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgICAgICAgICAgICJtYXhfY2hhbmdlX3JhdGUiOiAiMC4wMTAwMDAwMDAwMDAwMDAwMDAiCiAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgIm1pbl9zZWxmX2RlbGVnYXRpb24iOiAiMSIsCiAgICAgICAgICAgICAgICAiZGVsZWdhdG9yX2FkZHJlc3MiOiAiIiwKICAgICAgICAgICAgICAgICJ2YWxpZGF0b3JfYWRkcmVzcyI6ICJ3YXNtdmFsb3BlcjF2Y3cwaGU1bDltdTU0emF3ZzNoNDQwcDgzZXg3MGNjbXc5cGRueiIsCiAgICAgICAgICAgICAgICAicHVia2V5IjogewogICAgICAgICAgICAgICAgICAiQHR5cGUiOiAiL2Nvc21vcy5jcnlwdG8uZWQyNTUxOS5QdWJLZXkiLAogICAgICAgICAgICAgICAgICAia2V5IjogInlEKzJoN3ZZWW1yVTFBQSs3c01UdjFVaktFOFQ3aFZoZ01xcjlFei9IQTg9IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJ2YWx1ZSI6IHsKICAgICAgICAgICAgICAgICAgImRlbm9tIjogInN0YWtlIiwKICAgICAgICAgICAgICAgICAgImFtb3VudCI6ICIyNTAwMDAwMDAiCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBdLAogICAgICAgICAgICAibWVtbyI6ICIxOTVjYmUyYWM0YTNmMmUwNTFkNmNjNTgwOTZhNTUxNzJkOTMwZDNlQDE5Mi4xNjguNTAuMjUxOjI2NjU2IiwKICAgICAgICAgICAgInRpbWVvdXRfaGVpZ2h0IjogIjAiLAogICAgICAgICAgICAiZXh0ZW5zaW9uX29wdGlvbnMiOiBbXSwKICAgICAgICAgICAgIm5vbl9jcml0aWNhbF9leHRlbnNpb25fb3B0aW9ucyI6IFtdCiAgICAgICAgICB9LAogICAgICAgICAgImF1dGhfaW5mbyI6IHsKICAgICAgICAgICAgInNpZ25lcl9pbmZvcyI6IFsKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAicHVibGljX2tleSI6IHsKICAgICAgICAgICAgICAgICAgIkB0eXBlIjogIi9jb3Ntb3MuY3J5cHRvLnNlY3AyNTZrMS5QdWJLZXkiLAogICAgICAgICAgICAgICAgICAia2V5IjogIkFoRmdnWEc4ZlcwOEhLRGFjTGpoVVYyOGw2cVFRejY3WkF1b0hHRGx3Q3g0IgogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJtb2RlX2luZm8iOiB7CiAgICAgICAgICAgICAgICAgICJzaW5nbGUiOiB7CiAgICAgICAgICAgICAgICAgICAgIm1vZGUiOiAiU0lHTl9NT0RFX0RJUkVDVCIKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICJzZXF1ZW5jZSI6ICIwIgogICAgICAgICAgICAgIH0KICAgICAgICAgICAgXSwKICAgICAgICAgICAgImZlZSI6IHsKICAgICAgICAgICAgICAiYW1vdW50IjogW10sCiAgICAgICAgICAgICAgImdhc19saW1pdCI6ICIyMDAwMDAiLAogICAgICAgICAgICAgICJwYXllciI6ICIiLAogICAgICAgICAgICAgICJncmFudGVyIjogIiIKICAgICAgICAgICAgfSwKICAgICAgICAgICAgInRpcCI6IG51bGwKICAgICAgICAgIH0sCiAgICAgICAgICAic2lnbmF0dXJlcyI6IFsKICAgICAgICAgICAgImVsQWlTQjUwZUkyamQ4T2kvR1JlUEdLaWFBNFlRNXYybVVtWm9UeWwxZllQdUZHL1BEdnJRZk84cHVRamdRN3RBc2hXVlV4V0lRdDlWRGdSaHhPcnd3PT0iCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICBdCiAgICB9LAogICAgImdvdiI6IHsKICAgICAgInN0YXJ0aW5nX3Byb3Bvc2FsX2lkIjogIjEiLAogICAgICAiZGVwb3NpdHMiOiBbXSwKICAgICAgInZvdGVzIjogW10sCiAgICAgICJwcm9wb3NhbHMiOiBbXSwKICAgICAgImRlcG9zaXRfcGFyYW1zIjogbnVsbCwKICAgICAgInZvdGluZ19wYXJhbXMiOiBudWxsLAogICAgICAidGFsbHlfcGFyYW1zIjogbnVsbCwKICAgICAgInBhcmFtcyI6IHsKICAgICAgICAibWluX2RlcG9zaXQiOiBbCiAgICAgICAgICB7CiAgICAgICAgICAgICJkZW5vbSI6ICJzdGFrZSIsCiAgICAgICAgICAgICJhbW91bnQiOiAiMTAwMDAwMDAiCiAgICAgICAgICB9CiAgICAgICAgXSwKICAgICAgICAibWF4X2RlcG9zaXRfcGVyaW9kIjogIjE3MjgwMHMiLAogICAgICAgICJ2b3RpbmdfcGVyaW9kIjogIjE3MjgwMHMiLAogICAgICAgICJxdW9ydW0iOiAiMC4zMzQwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJ0aHJlc2hvbGQiOiAiMC41MDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJ2ZXRvX3RocmVzaG9sZCI6ICIwLjMzNDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgIm1pbl9pbml0aWFsX2RlcG9zaXRfcmF0aW8iOiAiMC4wMDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJwcm9wb3NhbF9jYW5jZWxfcmF0aW8iOiAiMC41MDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJwcm9wb3NhbF9jYW5jZWxfZGVzdCI6ICIiLAogICAgICAgICJleHBlZGl0ZWRfdm90aW5nX3BlcmlvZCI6ICI4NjQwMHMiLAogICAgICAgICJleHBlZGl0ZWRfdGhyZXNob2xkIjogIjAuNjY3MDAwMDAwMDAwMDAwMDAwIiwKICAgICAgICAiZXhwZWRpdGVkX21pbl9kZXBvc2l0IjogWwogICAgICAgICAgewogICAgICAgICAgICAiZGVub20iOiAic3Rha2UiLAogICAgICAgICAgICAiYW1vdW50IjogIjUwMDAwMDAwIgogICAgICAgICAgfQogICAgICAgIF0sCiAgICAgICAgImJ1cm5fdm90ZV9xdW9ydW0iOiBmYWxzZSwKICAgICAgICAiYnVybl9wcm9wb3NhbF9kZXBvc2l0X3ByZXZvdGUiOiBmYWxzZSwKICAgICAgICAiYnVybl92b3RlX3ZldG8iOiB0cnVlLAogICAgICAgICJtaW5fZGVwb3NpdF9yYXRpbyI6ICIwLjAxMDAwMDAwMDAwMDAwMDAwMCIKICAgICAgfSwKICAgICAgImNvbnN0aXR1dGlvbiI6ICIiCiAgICB9LAogICAgImdyb3VwIjogewogICAgICAiZ3JvdXBfc2VxIjogIjAiLAogICAgICAiZ3JvdXBzIjogW10sCiAgICAgICJncm91cF9tZW1iZXJzIjogW10sCiAgICAgICJncm91cF9wb2xpY3lfc2VxIjogIjAiLAogICAgICAiZ3JvdXBfcG9saWNpZXMiOiBbXSwKICAgICAgInByb3Bvc2FsX3NlcSI6ICIwIiwKICAgICAgInByb3Bvc2FscyI6IFtdLAogICAgICAidm90ZXMiOiBbXQogICAgfSwKICAgICJpYmMiOiB7CiAgICAgICJjbGllbnRfZ2VuZXNpcyI6IHsKICAgICAgICAiY2xpZW50cyI6IFtdLAogICAgICAgICJjbGllbnRzX2NvbnNlbnN1cyI6IFtdLAogICAgICAgICJjbGllbnRzX21ldGFkYXRhIjogW10sCiAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICJhbGxvd2VkX2NsaWVudHMiOiBbCiAgICAgICAgICAgICIwNi1zb2xvbWFjaGluZSIsCiAgICAgICAgICAgICIwNy10ZW5kZXJtaW50IiwKICAgICAgICAgICAgIjA5LWxvY2FsaG9zdCIKICAgICAgICAgIF0KICAgICAgICB9LAogICAgICAgICJjcmVhdGVfbG9jYWxob3N0IjogZmFsc2UsCiAgICAgICAgIm5leHRfY2xpZW50X3NlcXVlbmNlIjogIjAiCiAgICAgIH0sCiAgICAgICJjb25uZWN0aW9uX2dlbmVzaXMiOiB7CiAgICAgICAgImNvbm5lY3Rpb25zIjogW10sCiAgICAgICAgImNsaWVudF9jb25uZWN0aW9uX3BhdGhzIjogW10sCiAgICAgICAgIm5leHRfY29ubmVjdGlvbl9zZXF1ZW5jZSI6ICIwIiwKICAgICAgICAicGFyYW1zIjogewogICAgICAgICAgIm1heF9leHBlY3RlZF90aW1lX3Blcl9ibG9jayI6ICIzMDAwMDAwMDAwMCIKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJjaGFubmVsX2dlbmVzaXMiOiB7CiAgICAgICAgImNoYW5uZWxzIjogW10sCiAgICAgICAgImFja25vd2xlZGdlbWVudHMiOiBbXSwKICAgICAgICAiY29tbWl0bWVudHMiOiBbXSwKICAgICAgICAicmVjZWlwdHMiOiBbXSwKICAgICAgICAic2VuZF9zZXF1ZW5jZXMiOiBbXSwKICAgICAgICAicmVjdl9zZXF1ZW5jZXMiOiBbXSwKICAgICAgICAiYWNrX3NlcXVlbmNlcyI6IFtdLAogICAgICAgICJuZXh0X2NoYW5uZWxfc2VxdWVuY2UiOiAiMCIKICAgICAgfQogICAgfSwKICAgICJpbnRlcmNoYWluYWNjb3VudHMiOiB7CiAgICAgICJjb250cm9sbGVyX2dlbmVzaXNfc3RhdGUiOiB7CiAgICAgICAgImFjdGl2ZV9jaGFubmVscyI6IFtdLAogICAgICAgICJpbnRlcmNoYWluX2FjY291bnRzIjogW10sCiAgICAgICAgInBvcnRzIjogW10sCiAgICAgICAgInBhcmFtcyI6IHsKICAgICAgICAgICJjb250cm9sbGVyX2VuYWJsZWQiOiB0cnVlCiAgICAgICAgfQogICAgICB9LAogICAgICAiaG9zdF9nZW5lc2lzX3N0YXRlIjogewogICAgICAgICJhY3RpdmVfY2hhbm5lbHMiOiBbXSwKICAgICAgICAiaW50ZXJjaGFpbl9hY2NvdW50cyI6IFtdLAogICAgICAgICJwb3J0IjogImljYWhvc3QiLAogICAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgICAiaG9zdF9lbmFibGVkIjogdHJ1ZSwKICAgICAgICAgICJhbGxvd19tZXNzYWdlcyI6IFsKICAgICAgICAgICAgIioiCiAgICAgICAgICBdCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIm1pbnQiOiB7CiAgICAgICJtaW50ZXIiOiB7CiAgICAgICAgImluZmxhdGlvbiI6ICIwLjEzMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgImFubnVhbF9wcm92aXNpb25zIjogIjAuMDAwMDAwMDAwMDAwMDAwMDAwIgogICAgICB9LAogICAgICAicGFyYW1zIjogewogICAgICAgICJtaW50X2Rlbm9tIjogInN0YWtlIiwKICAgICAgICAiaW5mbGF0aW9uX3JhdGVfY2hhbmdlIjogIjAuMTMwMDAwMDAwMDAwMDAwMDAwIiwKICAgICAgICAiaW5mbGF0aW9uX21heCI6ICIwLjIwMDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgImluZmxhdGlvbl9taW4iOiAiMC4wNzAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJnb2FsX2JvbmRlZCI6ICIwLjY3MDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgImJsb2Nrc19wZXJfeWVhciI6ICI2MzExNTIwIgogICAgICB9CiAgICB9LAogICAgIm5mdCI6IHsKICAgICAgImNsYXNzZXMiOiBbXSwKICAgICAgImVudHJpZXMiOiBbXQogICAgfSwKICAgICJwYXJhbXMiOiBudWxsLAogICAgInNsYXNoaW5nIjogewogICAgICAicGFyYW1zIjogewogICAgICAgICJzaWduZWRfYmxvY2tzX3dpbmRvdyI6ICIxMDAiLAogICAgICAgICJtaW5fc2lnbmVkX3Blcl93aW5kb3ciOiAiMC41MDAwMDAwMDAwMDAwMDAwMDAiLAogICAgICAgICJkb3dudGltZV9qYWlsX2R1cmF0aW9uIjogIjYwMHMiLAogICAgICAgICJzbGFzaF9mcmFjdGlvbl9kb3VibGVfc2lnbiI6ICIwLjA1MDAwMDAwMDAwMDAwMDAwMCIsCiAgICAgICAgInNsYXNoX2ZyYWN0aW9uX2Rvd250aW1lIjogIjAuMDEwMDAwMDAwMDAwMDAwMDAwIgogICAgICB9LAogICAgICAic2lnbmluZ19pbmZvcyI6IFtdLAogICAgICAibWlzc2VkX2Jsb2NrcyI6IFtdCiAgICB9LAogICAgInN0YWtpbmciOiB7CiAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgInVuYm9uZGluZ190aW1lIjogIjE4MTQ0MDBzIiwKICAgICAgICAibWF4X3ZhbGlkYXRvcnMiOiAxMDAsCiAgICAgICAgIm1heF9lbnRyaWVzIjogNywKICAgICAgICAiaGlzdG9yaWNhbF9lbnRyaWVzIjogMTAwMDAsCiAgICAgICAgImJvbmRfZGVub20iOiAic3Rha2UiLAogICAgICAgICJtaW5fY29tbWlzc2lvbl9yYXRlIjogIjAuMDAwMDAwMDAwMDAwMDAwMDAwIgogICAgICB9LAogICAgICAibGFzdF90b3RhbF9wb3dlciI6ICIwIiwKICAgICAgImxhc3RfdmFsaWRhdG9yX3Bvd2VycyI6IFtdLAogICAgICAidmFsaWRhdG9ycyI6IFtdLAogICAgICAiZGVsZWdhdGlvbnMiOiBbXSwKICAgICAgInVuYm9uZGluZ19kZWxlZ2F0aW9ucyI6IFtdLAogICAgICAicmVkZWxlZ2F0aW9ucyI6IFtdLAogICAgICAiZXhwb3J0ZWQiOiBmYWxzZQogICAgfSwKICAgICJ0cmFuc2ZlciI6IHsKICAgICAgInBvcnRfaWQiOiAidHJhbnNmZXIiLAogICAgICAiZGVub21fdHJhY2VzIjogW10sCiAgICAgICJwYXJhbXMiOiB7CiAgICAgICAgInNlbmRfZW5hYmxlZCI6IHRydWUsCiAgICAgICAgInJlY2VpdmVfZW5hYmxlZCI6IHRydWUKICAgICAgfSwKICAgICAgInRvdGFsX2VzY3Jvd2VkIjogW10KICAgIH0sCiAgICAidXBncmFkZSI6IHt9LAogICAgInZlc3RpbmciOiB7fSwKICAgICJ3YXNtIjogewogICAgICAicGFyYW1zIjogewogICAgICAgICJjb2RlX3VwbG9hZF9hY2Nlc3MiOiB7CiAgICAgICAgICAicGVybWlzc2lvbiI6ICJFdmVyeWJvZHkiLAogICAgICAgICAgImFkZHJlc3NlcyI6IFtdCiAgICAgICAgfSwKICAgICAgICAiaW5zdGFudGlhdGVfZGVmYXVsdF9wZXJtaXNzaW9uIjogIkV2ZXJ5Ym9keSIKICAgICAgfSwKICAgICAgImNvZGVzIjogW10sCiAgICAgICJjb250cmFjdHMiOiBbXSwKICAgICAgInNlcXVlbmNlcyI6IFtdCiAgICB9CiAgfSwKICAiY29uc2Vuc3VzIjogewogICAgInBhcmFtcyI6IHsKICAgICAgImJsb2NrIjogewogICAgICAgICJtYXhfYnl0ZXMiOiAiMjIwMjAwOTYiLAogICAgICAgICJtYXhfZ2FzIjogIi0xIgogICAgICB9LAogICAgICAiZXZpZGVuY2UiOiB7CiAgICAgICAgIm1heF9hZ2VfbnVtX2Jsb2NrcyI6ICIxMDAwMDAiLAogICAgICAgICJtYXhfYWdlX2R1cmF0aW9uIjogIjE3MjgwMDAwMDAwMDAwMCIsCiAgICAgICAgIm1heF9ieXRlcyI6ICIxMDQ4NTc2IgogICAgICB9LAogICAgICAidmFsaWRhdG9yIjogewogICAgICAgICJwdWJfa2V5X3R5cGVzIjogWwogICAgICAgICAgImVkMjU1MTkiCiAgICAgICAgXQogICAgICB9LAogICAgICAidmVyc2lvbiI6IHsKICAgICAgICAiYXBwIjogIjAiCiAgICAgIH0sCiAgICAgICJhYmNpIjogewogICAgICAgICJ2b3RlX2V4dGVuc2lvbnNfZW5hYmxlX2hlaWdodCI6ICIwIgogICAgICB9CiAgICB9CiAgfQp9"
}
}
ConsensusParams
Get the consensus parameters.
Parameters
height (integer)
: Block height at which the consensus params would like to be fetched for.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"consensus_params\",\"params\":{\"height\":\"0\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"block_height": "67",
"consensus_params": {
"block": {
"max_bytes": "22020096",
"max_gas": "-1"
},
"evidence": {
"max_age_num_blocks": "100000",
"max_age_duration": "172800000000000",
"max_bytes": "1048576"
},
"validator": {
"pub_key_types": [
"ed25519"
]
},
"version": {
"app": "0"
},
"abci": {
"vote_extensions_enable_height": "0"
}
}
}
}
UnconfirmedTxs
Get a list of unconfirmed transactions.
Parameters
limit (integer)
The amount of txs to respond with.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d '{"jsonrpc":"2.0","id":1,"method":"unconfirmed_txs","params":{"limit":"20"}}'
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"n_txs": "0",
"total": "0",
"total_bytes": "0",
"txs": []
}
}
NumUnconfirmedTxs
Get data about unconfirmed transactions.
Parameters
None
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"num_unconfirmed_txs\"}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"n_txs": "0",
"total": "0",
"total_bytes": "0",
"txs": null
}
}
Tx
Parameters
hash (string)
: The hash of the transactionprove (bool)
: If the response should include proof the transaction was included in a block.
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"num_unconfirmed_txs\"}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"n_txs": "0",
"total": "0",
"total_bytes": "0",
"txs": null
}
}
TxSearch
Searches for transactions based on a query condition. Returns matching transactions along with their details.
Parameters
query (
string
): The query condition for searching transactions (e.g.,"tx.height=1"
).prove (
boolean
): Indicates whether to include proof data for each transaction.page (
string
): The page number for paginated results.per_page (
string
): The number of transactions to show per page.order_by (
string
): Specifies the sort order ("asc"
or"desc"
).
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tx_search\",\"params\":{\"query\":\"tx.height=1\",\"prove\":true,\"page\":\"1\",\"per_page\":\"30\",\"order_by\":\"asc\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"txs": [],
"total_count": "0"
}
}
BlockSearch
Searches for blocks based on a query condition. Returns matching blocks along with their details.
Parameters
query (
string
): The query condition for searching blocks (e.g.,"block.height > 1"
).page (
string
): The page number for paginated results.per_page (
string
): The number of blocks to show per page.order_by (
string
): Specifies the sort order ("asc"
or"desc"
).
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block_search\",\"params\":{\"query\":\"block.height > 1\",\"page\":\"1\",\"per_page\":\"20\",\"order_by\":\"desc\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"blocks": [],
"total_count": "0"
}
}
Transaction Routes
BroadCastTxSync
Returns with the response from CheckTx. Does not wait for DeliverTx result.
Parameters
tx (string)
: The transaction encoded
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"broadcast_tx_sync\",\"params\":{\"tx\":\"a/null/c\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"code": 2,
"data": "",
"log": "expected 2 wire type, got 3: tx parse error",
"codespace": "sdk",
"hash": "8C4547C2D0B04641DB22F4F5B10B64A1A8181AD514352795022B9EFC86A67056"
}
}
BroadCastTxAsync
Returns right away, with no response. Does not wait for CheckTx nor DeliverTx results.
Parameters
tx (string)
: The transaction encoded
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"broadcast_tx_async\",\"params\":{\"tx\":\"a/null/c\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"code": 0,
"data": "",
"log": "",
"codespace": "",
"hash": "8C4547C2D0B04641DB22F4F5B10B64A1A8181AD514352795022B9EFC86A67056"
}
}
CheckTx
Checks the transaction without executing it.
Parameters
tx (string)
: String of the encoded transaction
Request
JSONRPC
curl -X POST https://cometrpc.testnet.landslide.network -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"check_tx\",\"params\":{\"tx\":\"a/null/c\"}}"
Response
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"code": 2,
"data": null,
"log": "expected 2 wire type, got 3: tx parse error",
"info": "",
"gas_wanted": "0",
"gas_used": "1174",
"events": [],
"codespace": "sdk"
}