Delegate store operation of ClientState
and ConsensusState
in Initialize
to contract
#3956
Closed
3 tasks
Labels
08-wasm
type: refactor
Architecture, code or CI improvements that may or may not tackle technical debt.
Milestone
Surfaced from Interchain IBC team's review of 08-wasm at hash https://github.com/strangelove-ventures/ibc-go/commit/96e9930ab87a171a3ae6ac9717ee25bfda77212b
Summary
Instead of 08-wasm module being responsible for storing the
ClientState
andConsensusState
provided inMsgCreateClient
, delegate that responsibility to the light client contract.Problem Definition
The 08-wasm module is not completely a proxy client, since the implementation of
Initialize
function of theClientState
interface takes care of storing the client state and the consensus state provided inMsgCreateClient
, instead of delegating to the light client contract the responsibility to store both (and any other additional metadata).Proposal
The light client contracts already take care of updating the
ClientState
andConsensusState
when aClientMessage
is provided inMsgUpdateClient
(seeUpdateState
). Therefore it would make sense that the light client contract does the same thing inInitialize
. This also enables the light contracts to set any additional data (e.g. metadata) at light client initialisation.setClientState
andsetConsensusState
.Tagging @misko9 @blasrodri to hear their thoughts, since this change impacts the contracts.
For Admin Use
The text was updated successfully, but these errors were encountered: