-
Notifications
You must be signed in to change notification settings - Fork 10
FM-281: Retrieve cross messages and put their hash into the checkpoint #286
Conversation
Why is createBottomUpCheckpoint not used to create a checkpoint? |
@aakoshh It would be very helpful if you could describe the flow of creating, populating, and signing a checkpoint from "Fendermint as a client" perspective. I am afraid the current implementation (from Limechain) is incompatible with what you want to do, and we must reimplement Gateway API. Another question is, is there any relation between populating |
@dnkolegov it is used, here, with the Solidity method called by the GatewayCaller. What I was trying to describe there were my understanding of why, when a contract calls |
Okay, I will open another PR with a sequence diagram. The conceptual overview in the IPLD Resolver repo is still valid. |
Can you explain why it's incompatible? I may be misunderstanding what the code is doing, but like I said |
As you can see in #276, the signatures are over the hash of the checkpoint, which incorporates the hash of the cross messages, so the signatures are implicitly over the cross messages as well. |
35bd3b4
to
cd5c325
Compare
Closes consensus-shipyard/ipc#284
The PR populates
BottomUpCheckpointNew::cross_messages_hash
with the hash of the ABI encodedVec<CrossMsg>
retrieved by calling the newbottomUpMessages
onGatewayGetterFacet
with the height of the current checkpoint, which was added in consensus-shipyard/ipc-solidity-actors#214This is based on my assumption how the contract works:
((height / period) + 1) * period
which gives some multiple ofperiod
, which should match the way we check for the end-of-period height:height % period == 0
, so we'll use the same height values.