Skip to content
This repository has been archived by the owner on Jul 27, 2022. It is now read-only.

Problem: (fix #1177) chain-abci doesn't work with Tendermint v0.33.* #1441

Merged
merged 1 commit into from
Apr 21, 2020

Conversation

linfeng-crypto
Copy link
Contributor

solution:

  • updata abci vertion to 0.7
  • use the tendermint-rs verion v0.33

@tomtau
Copy link
Contributor

tomtau commented Apr 15, 2020

bors try

bors bot added a commit that referenced this pull request Apr 15, 2020
@bors
Copy link
Contributor

bors bot commented Apr 15, 2020

try

Build failed:

Copy link
Contributor

@tomtau tomtau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

integration tests fail:

ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
209	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
210	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
211	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
212	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
213	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
214	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
215	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
216	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
217	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
218	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
219	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
220	

@@ -80,7 +80,7 @@ impl fmt::Display for DistributionError {

/// Initial configuration ("app_state" in genesis.json of Tendermint config)
/// TODO: reward/treasury config, extra validator config...
#[derive(Debug, PartialEq, Eq, Clone)]
#[derive(Debug, PartialEq, Eq, Default, Clone)]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are defaults added to chain-core?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there seems to be an error when deserializing something if not add Default, I remember, I'll check again.

@@ -8,7 +8,7 @@ use crate::Result as CommonResult;

///
#[derive(Clone, Debug, Deserialize, Serialize)]
pub struct TrustedState(pub(crate) Option<lite::TrustedState<SignedHeader, Header>>);
pub struct TrustedState(pub Option<lite::TrustedState<SignedHeader, Header>>);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why not pub(crate)?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, that just used to get the Option<...> to debug, I'll rollback.

@@ -147,7 +147,7 @@ impl AsyncRpcClient {
/// TODO: Usage of `Vec` can be removed once we execute it in a purely async context
pub async fn call_batch<T>(&self, batch_params: &[(&str, Vec<Value>)]) -> Result<Vec<T>>
where
for<'de> T: Deserialize<'de>,
for<'de> T: Deserialize<'de> + std::fmt::Debug,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that debug needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just for debugging, I'll remove.

.map(|height| {
(
"validators",
vec![json!(height.to_string()), json!("0"), json!("100")],
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what's that 0 and 100? paging?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, the rpc call changed, if not add 0, 100, there will be an error.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

page and per_page? I think we shouldn't have an assumptions of 100 validators?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

default is 30, the max is 100, I don't know what value should be used here, I used the max value.

@linfeng-crypto
Copy link
Contributor Author

linfeng-crypto commented Apr 15, 2020

integration tests fail:

ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
209	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
210	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
211	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
212	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
213	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
214	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
215	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
216	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
217	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
218	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
219	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
220	

we need to use tendermint v0.33 binary, the genesis also different with the old version.

.map(|height| {
(
"validators",
vec![json!(height.to_string()), json!("0"), json!("100")],
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

page and per_page? I think we shouldn't have an assumptions of 100 validators?

};

let response_str = r#"{"height": "37", "txs_results": [{"code": 0, "data": null, "log": "", "info": "", "gasWanted": "0", "gasUsed": "0", "events": [{"type": "valid_txs", "attributes": [{"key": "ZmVl", "value": "MC4wMDAwMDMwNw=="}, {"key": "YWNjb3VudA==", "value": "MHgzMzUwMmVkMzlkMGM0ZTIwNDRmYjM3ZmRjZDUxNjE0OTNmNTkwMGMz"}, {"key": "dHhpZA==", "value": "ZjFmNzNkNmFjZWMyMTExOGRkMWUzNmY2ODRhYWUyMmM2Y2IxN2ZjNTFhZGEzNGEzNDIzMDlkNTMxY2I5YmU4ZA=="}]}], "codespace": ""}], "begin_block_events": null, "end_block_events": [{"type": "block_filter", "attributes": [{"key": "ZXRoYmxvb20=", "value": "AAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="}]}], "validator_updates": null, "consensus_param_updates": null}"#;
// let response_str = r#"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this comment still needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, I'll remove it.

assert!(result.is_ok());
assert_eq!(true, result.unwrap());
}

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to remove the following test cases?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, most of the test cases in this file is testing the invalid value of Attribute in the BlockResults and BlockResults defined in this file.

Now, we use BlockResultsResponse directly which defined in tendermint-rs, and we query tendermint to get the BlockResultsResponse, I don't think tendermint will give us one which value is invalid.

let s1 = serde_json::to_string_pretty(&state).unwrap();
let state2: std::result::Result<SyncState, _> = serde_json::from_str(&s1);
let bytes = state.encode();
let _state1 = SyncState::decode(&mut bytes.as_slice()).unwrap();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where is the assertion? And perhaps give some more meaningful variable names for readability.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added one.

@@ -327,7 +328,8 @@ impl<'a, S: SecureStorage, C: Client, D: TxDecryptor, F: FnMut(ProgressReport) -

let range = chunk.collect::<Vec<u64>>();

if self.env.enable_fast_forward {
//if self.env.enable_fast_forward {
if true {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this for debug?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I'll remove it

@@ -73,7 +73,7 @@ pub struct Options {

#[allow(dead_code)]
pub fn run_cli() {
env_logger::init();
// env_logger::init();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason to disable env logger?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a mistake. I'll recover it.

@yihuang
Copy link
Collaborator

yihuang commented Apr 15, 2020

integration tests fail:

ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
209	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
210	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
211	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
212	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
213	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
214	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
215	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
216	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
217	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
218	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
219	ERROR: Failed to create node: Error reading GenesisDoc at /drone/src/integration-tests/data/node0/tendermint/config/genesis.json: EvidenceParams.MaxAge must be greater than 0. Got 0
220	

we need to use tendermint v0.33 binary, the genesis also different with the old version.

Can you modify the tendermint version number in the Dockerfile in root directory, line 16 and line 44.

@@ -348,7 +348,8 @@ async def gen_genesis(cfg):
"time_iota_ms": "1000"
},
"evidence": {
"max_age": "100000"
"max_age_num_blocks": "100000",
"max_age_duration": "172800000000000"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's the unit of max_age_duration, I think we have an assumption that unbonding_period > max_age_duration.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I use the default value of the new tendermint's config. we can find it in change log:
https://github.com/tendermint/tendermint/blob/master/CHANGELOG.md

.expect("verify failed");
*/

//FIXME: use new interface in tendermint v0.33 instead of verify_single
Copy link
Collaborator

@yihuang yihuang Apr 15, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The lite client API already migrated to tendermint-rs master, what's the difference in v0.33 on this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v0.33 removed the interface and add some other similar interfaces, but the arguments are different, the logic also has some difference, I'm not clear about the logic and I think this function is very important, so I add FIXME here, maybe we can fix it in other PR.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

v0.33 removed the interface and add some other similar interfaces, but the arguments are different, the logic also has some difference, I'm not clear about the logic and I think this function is very important, so I add FIXME here, maybe we can fix it in other PR.

I think this API still exists with the same signature?
https://github.com/crypto-com/tendermint-rs/blob/v0.33/tendermint/src/lite/verifier.rs#L228

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, I'll check again.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to fix gen_block() to make this test pass.

@codecov
Copy link

codecov bot commented Apr 16, 2020

Codecov Report

Merging #1441 into master will increase coverage by 0.13%.
The diff coverage is 80.14%.

@@            Coverage Diff             @@
##           master    #1441      +/-   ##
==========================================
+ Coverage   63.43%   63.56%   +0.13%     
==========================================
  Files         159      159              
  Lines       21188    21028     -160     
==========================================
- Hits        13441    13367      -74     
+ Misses       7747     7661      -86     
Impacted Files Coverage Δ
chain-abci/src/app/end_block.rs 100.00% <ø> (ø)
client-cli/src/command.rs 0.00% <0.00%> (ø)
...ommon/src/tendermint/rpc_client/sync_rpc_client.rs 0.00% <0.00%> (ø)
client-core/src/cipher/default.rs 0.00% <0.00%> (ø)
client-core/src/wallet/default_wallet_client.rs 43.46% <0.00%> (ø)
client-rpc/src/rpc/multisig_rpc.rs 32.86% <0.00%> (ø)
cro-clib/src/transaction.rs 0.00% <0.00%> (ø)
client-rpc/src/rpc/wallet_rpc.rs 62.99% <40.00%> (+0.49%) ⬆️
...lient-common/src/tendermint/unauthorized_client.rs 15.78% <50.00%> (ø)
...work/src/network_ops/default_network_ops_client.rs 75.69% <50.00%> (-0.09%) ⬇️
... and 13 more

@tomtau
Copy link
Contributor

tomtau commented Apr 16, 2020

bors try

bors bot added a commit that referenced this pull request Apr 16, 2020
@bors
Copy link
Contributor

bors bot commented Apr 16, 2020

try

Build failed:

@@ -24,7 +24,7 @@ pub use tendermint::{
};

/// crypto-com instantiated genesis type
pub type Genesis = GenericGenesis<InitConfig>;
pub type Genesis = GenericGenesis<Option<InitConfig>>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this Option needed?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before in tendermint-rs, it had a field Option<AppState> -- now the type changed to AppState, so it'd require Default implementation AppState / InitConfig.
I think Option may be clearer, as it'll be immediate that the app_state was missing or incorrect in json rather than some arbitrary default value?


/// key space of wallet sync state
const KEYSPACE: &str = "core_wallet_sync";

/// Sync state for wallet
#[derive(Debug, Encode, Decode)]
#[derive(Debug, Serialize, Deserialize, Encode, Decode)]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are these two instances used?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's for debugging, I'll remove.

@tomtau tomtau self-requested a review April 16, 2020 03:46
@@ -13,7 +13,7 @@ RUN set -e; \
apt-get install -y libzmq3-dev libssl1.1 libprotobuf10 libsgx-launch libsgx-urts libsgx-epid libsgx-quote-ex; \
rm -rf /var/lib/apt/lists/*

COPY --from=tendermint/tendermint:v0.32.9 /usr/bin/tendermint /usr/bin/tendermint
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 44 also needs to be changed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes, I'll do that.

Comment on lines 329 to 332
app_hash: Hash::new(hash::Algorithm::Sha256, &app_hash)
.unwrap()
.as_bytes()
.to_vec(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
app_hash: Hash::new(hash::Algorithm::Sha256, &app_hash)
.unwrap()
.as_bytes()
.to_vec(),
app_hash: app_hash.to_vec(),

Comment on lines 467 to 470
app_hash: Hash::new(hash::Algorithm::Sha256, &last_state.last_apphash)
.unwrap()
.as_bytes()
.to_vec(),
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
app_hash: Hash::new(hash::Algorithm::Sha256, &last_state.last_apphash)
.unwrap()
.as_bytes()
.to_vec(),
app_hash: last_state.last_apphash.to_vec(),

Copy link
Collaborator

@yihuang yihuang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I think the lite client API is not changed, so the lite client code might not need to change
  • Several maybe not used instance
  • Other minor changes.

@tomtau
Copy link
Contributor

tomtau commented Apr 16, 2020

bors retry

bors bot added a commit that referenced this pull request Apr 16, 2020
@bors
Copy link
Contributor

bors bot commented Apr 16, 2020

try

Build failed:

@tomtau
Copy link
Contributor

tomtau commented Apr 16, 2020

I guess the images on docker hub will need to be updated, I'll try

@bors
Copy link
Contributor

bors bot commented Apr 16, 2020

try

Build failed:

@tomtau tomtau self-requested a review April 16, 2020 08:16
Copy link
Contributor

@tomtau tomtau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

multinode integration test fails:

Traceback (most recent call last):
110	  File "./multinode/join_test.py", line 45, in <module>
111	    wait_for_validators(rpc, 3)
112	  File "/drone/src/integration-tests/multinode/common.py", line 34, in wait_for_validators
113	    n = len(rpc.chain.validators()['validators'])
114	  File "/drone/src/integration-tests/bot/chainrpc.py", line 283, in validators
115	    return self.call_chain('validators', str(height) if height is not None else None)
116	  File "/drone/src/integration-tests/bot/chainrpc.py", line 62, in call_chain
117	    rsp = request(self.chain_rpc_url, method, *args, **kwargs)
118	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/__init__.py", line 8, in request
119	    return HTTPClient(endpoint).request(*args, **kwargs)
120	  File "/drone/src/drone/venv/lib/python3.8/site-packages/apply_defaults/decorators.py", line 13, in wrapper
121	    return function(self, *args, **kwargs)
122	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/client.py", line 229, in request
123	    return self.send(
124	  File "/drone/src/drone/venv/lib/python3.8/site-packages/apply_defaults/decorators.py", line 13, in wrapper
125	    return function(self, *args, **kwargs)
126	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/client.py", line 177, in send
127	    raise ReceivedErrorResponseError(response.data)
128	jsonrpcclient.exceptions.ReceivedErrorResponseError: Invalid params

@@ -8,23 +8,23 @@ platform:

steps:
- name: build
image: cryptocom/chain-test:v1.1.1
image: cryptocom/chain-test:latest
Copy link
Collaborator

@yihuang yihuang Apr 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We better to increment the version number after pushed the image, otherwise, the image might not get updated.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It does not matter, Tomas can cover for that.

@tomtau
Copy link
Contributor

tomtau commented Apr 17, 2020

bors retry

bors bot added a commit that referenced this pull request Apr 17, 2020
@bors
Copy link
Contributor

bors bot commented Apr 17, 2020

try

Build failed:

@linfeng-crypto
Copy link
Contributor Author

multinode integration test fails:

Traceback (most recent call last):
110	  File "./multinode/join_test.py", line 45, in <module>
111	    wait_for_validators(rpc, 3)
112	  File "/drone/src/integration-tests/multinode/common.py", line 34, in wait_for_validators
113	    n = len(rpc.chain.validators()['validators'])
114	  File "/drone/src/integration-tests/bot/chainrpc.py", line 283, in validators
115	    return self.call_chain('validators', str(height) if height is not None else None)
116	  File "/drone/src/integration-tests/bot/chainrpc.py", line 62, in call_chain
117	    rsp = request(self.chain_rpc_url, method, *args, **kwargs)
118	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/__init__.py", line 8, in request
119	    return HTTPClient(endpoint).request(*args, **kwargs)
120	  File "/drone/src/drone/venv/lib/python3.8/site-packages/apply_defaults/decorators.py", line 13, in wrapper
121	    return function(self, *args, **kwargs)
122	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/client.py", line 229, in request
123	    return self.send(
124	  File "/drone/src/drone/venv/lib/python3.8/site-packages/apply_defaults/decorators.py", line 13, in wrapper
125	    return function(self, *args, **kwargs)
126	  File "/drone/src/drone/venv/lib/python3.8/site-packages/jsonrpcclient/client.py", line 177, in send
127	    raise ReceivedErrorResponseError(response.data)
128	jsonrpcclient.exceptions.ReceivedErrorResponseError: Invalid params

It seems that the validators rpc parameters is not fixed in chainrpc.py, I'll check.

@tomtau
Copy link
Contributor

tomtau commented Apr 17, 2020

bors retry

bors bot added a commit that referenced this pull request Apr 17, 2020
@bors
Copy link
Contributor

bors bot commented Apr 17, 2020

try

Build failed:

@tomtau tomtau self-requested a review April 17, 2020 06:22
Copy link
Contributor

@tomtau tomtau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

integration tests still fail + there's a conflict with the latest master

Copy link
Collaborator

@leejw51crypto leejw51crypto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@tomtau
Copy link
Contributor

tomtau commented Apr 17, 2020

bors try

bors bot added a commit that referenced this pull request Apr 17, 2020
@bors
Copy link
Contributor

bors bot commented Apr 17, 2020

try

Build failed:

@tomtau
Copy link
Contributor

tomtau commented Apr 17, 2020


[2020-04-17T10:41:41Z ERROR client_rpc::server] Tendermint RPC error: Error while calling tendermint RPC call
--
484 | => Unable to deserialize `block_results` from JSON-RPC response for params: [String("6")]
485

@tomtau
Copy link
Contributor

tomtau commented Apr 20, 2020

bors try

bors bot added a commit that referenced this pull request Apr 20, 2020
@tomtau tomtau self-requested a review April 20, 2020 08:07
Copy link
Contributor

@tomtau tomtau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@linfeng-crypto can you squash the commits?

@bors
Copy link
Contributor

bors bot commented Apr 20, 2020

try

Build succeeded:

…t v0.33.*

* update tendermint version in Dockerfile
* fix test case, remove useless code
* update docker image version and signature in .drone.yaml
* fix check_lite_client test case
* fix parameters for validators rpc in chainprc.py
* remove useless function in block_generator
* update tendermint-rs and fix a data error in multi_node test
@tomtau
Copy link
Contributor

tomtau commented Apr 21, 2020

bors r+

@bors
Copy link
Contributor

bors bot commented Apr 21, 2020

Build succeeded:

@bors bors bot merged commit ea563c3 into crypto-com:master Apr 21, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants