Skip to content

Commit

Permalink
IPC-318: Decouple checkpoint from messages (#326)
Browse files Browse the repository at this point in the history
Builds upon: #319 
Part 1 of impl. for
https://github.com/consensus-shipyard/ipc-solidity-actors/issues/318

This PR is the second part of "Hardening Cross-net messages", it was
getting too long so I decided to split it into several PRs. This one:
- Decouples messages from checkpoint submission.
- Abstract the logic to submit signatures and create quorum over objects
so it can be re-used by bottom-up message batches in the next PR.
- Fixes a bug where epochs and height were being typed as `uint64` when
in Solidity it is a `uint256` (I feel this was dragged from the
translation of the Rust actors into Solidity, as `ChainEpoch` in
Filecoin is represented through a `uint64`).


## Next
- Implement the creation and submission of `QuorumBundles` for the
execution of bottom-up messages.

Note that this change may include several breaking changes to the
deployment scripts, Fendermint and IPC (but we should probably address
those once the monorepo is ready to make our lives easier).

---------

Signed-off-by: Alfonso de la Rocha <[email protected]>
Co-authored-by: auto-commit <[email protected]>
Co-authored-by: Denis Kolegov <[email protected]>
  • Loading branch information
3 people authored Dec 15, 2023
1 parent 4ac8ea8 commit 76e0d71
Show file tree
Hide file tree
Showing 135 changed files with 949,489 additions and 1,507 deletions.
810 changes: 809 additions & 1 deletion .out/AccountHelper.sol/AccountHelper.json

Large diffs are not rendered by default.

4,893 changes: 4,892 additions & 1 deletion .out/Address.sol/Address.json

Large diffs are not rendered by default.

1,100 changes: 1,099 additions & 1 deletion .out/Base.sol/CommonBase.json

Large diffs are not rendered by default.

1,100 changes: 1,099 additions & 1 deletion .out/Base.sol/ScriptBase.json

Large diffs are not rendered by default.

1,100 changes: 1,099 additions & 1 deletion .out/Base.sol/TestBase.json

Large diffs are not rendered by default.

734 changes: 733 additions & 1 deletion .out/Checkpoint.sol/Checkpoint.json

Large diffs are not rendered by default.

42 changes: 41 additions & 1 deletion .out/ConsensusType.sol/ConsensusType.json
Original file line number Diff line number Diff line change
@@ -1 +1,41 @@
{"abi":[],"bytecode":{"object":"0x","linkReferences":{}},"deployedBytecode":{"object":"0x","linkReferences":{}},"ast":{"absolutePath":"src/enums/ConsensusType.sol","id":36845,"exportedSymbols":{"ConsensusType":[36844]},"nodeType":"SourceUnit","src":"46:128:40","nodes":[{"id":36842,"nodeType":"PragmaDirective","src":"46:23:40","nodes":[],"literals":["solidity","0.8",".19"]},{"id":36844,"nodeType":"EnumDefinition","src":"136:37:40","nodes":[],"canonicalName":"ConsensusType","members":[{"id":36843,"name":"Fendermint","nameLocation":"161:10:40","nodeType":"EnumValue","src":"161:10:40"}],"name":"ConsensusType","nameLocation":"141:13:40"}],"license":"MIT OR Apache-2.0"},"id":40}
{
"abi": [],
"bytecode": { "object": "0x", "linkReferences": {} },
"deployedBytecode": { "object": "0x", "linkReferences": {} },
"ast": {
"absolutePath": "src/enums/ConsensusType.sol",
"id": 36845,
"exportedSymbols": { "ConsensusType": [36844] },
"nodeType": "SourceUnit",
"src": "46:128:40",
"nodes": [
{
"id": 36842,
"nodeType": "PragmaDirective",
"src": "46:23:40",
"nodes": [],
"literals": ["solidity", "0.8", ".19"]
},
{
"id": 36844,
"nodeType": "EnumDefinition",
"src": "136:37:40",
"nodes": [],
"canonicalName": "ConsensusType",
"members": [
{
"id": 36843,
"name": "Fendermint",
"nameLocation": "161:10:40",
"nodeType": "EnumValue",
"src": "161:10:40"
}
],
"name": "ConsensusType",
"nameLocation": "141:13:40"
}
],
"license": "MIT OR Apache-2.0"
},
"id": 40
}
1 change: 0 additions & 1 deletion .out/Constants.sol/Constants.json

This file was deleted.

Loading

0 comments on commit 76e0d71

Please sign in to comment.