-
Notifications
You must be signed in to change notification settings - Fork 606
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create Query for ProofSpecs #962
Comments
Essentially we need an gRPC so that relayers can pass in chain specific arguments that pass this function |
Proposal for gRPC query endpoint for Tendermint:
// ClientSpec queries the parameters universal to all light clients
rpc ClientSpec(QueryClientSpecRequest) returns (QueryClientSpecResponse) {
option (google.api.http).get = "/ibc/core/client/v1/client_spec";
}
message QueryClientSpecRequest {
// request does not have any fields
}
message QueryClientSpecResponse {
google.protobuf.Any client_spec = 1;
}
message ClientSpec {
option (gogoproto.goproto_getters) = false;
string chain_id = 1;
google.protobuf.Duration unbonding_period = 2
[ (gogoproto.nullable) = false, (gogoproto.stdduration) = true ];
ibc.core.client.v1.Height latest_height = 3
[ (gogoproto.nullable) = false ];
// Proof specifications used in verifying counterparty state
repeated cosmos.ics23.v1.ProofSpec proof_specs = 4 [(gogoproto.moretags) = "yaml:\"proof_specs\""];
// Path at which next upgraded client will be committed.
// Each element corresponds to the key for a single CommitmentProof in the
// chained proof. NOTE: ClientState must stored under
// `{upgradePath}/{upgradeHeight}/clientState` ConsensusState must be stored
// under `{upgradepath}/{upgradeHeight}/consensusState` For SDK chains using
// the default upgrade module, upgrade_path should be []string{"upgrade",
// "upgradedIBCState"}`
repeated string upgrade_path = 5 [(gogoproto.moretags) = "yaml:\"upgrade_path\""];
} I basically took Tendermint's
|
Thanks Carlos and i would also suggest adding another endpoint: |
I agree with @AdityaSripal's suggestions. In addition, I would propose having the Eventually the proof specs themselves should be queried from the SDK. This would allow the SDK flexibility in adjusting its DB layer without disrupting IBC |
Fixes cosmos#846 As per the discussion in cosmos#846, the aggregator node only need to initialize the store with genesis header, after that it only needs to broadcast the header without directly trying to append to store. The append is take care by the broadcast api which along with broadcasting also puts the header in the local append queue which then appends to the local store. Co-authored-by: Ganesha Upadhyaya <gupadhyaya@Ganeshas-MacBook-Pro-2.local>
We must create an RPC endpoint for relayers so that they can query the proofspecs for a given chain. These proofspecs can then be used to create clients on counterparty chains.
Ref: #559 (comment)
The text was updated successfully, but these errors were encountered: