Skip to content
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

Gwyneth base branch #14

Closed
wants to merge 53 commits into from
Closed
Changes from 1 commit
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
9f6ec98
chore: forge init
Jul 2, 2024
e73fad0
forge install: forge-std
Jul 2, 2024
17bffac
Integrate taiko simplified
Jul 2, 2024
69c8ff7
remove node_modules
Jul 2, 2024
62be7b6
remove submodule
Jul 2, 2024
e19abba
remove empty .gitmodules
Jul 2, 2024
576ddfd
make protocol buildable
Jul 2, 2024
fe73ec9
fix missing file, causing a test issue
Jul 3, 2024
af3743d
Brecht cicd changes
Jul 3, 2024
346959e
add preconf from taiko-mono helder branch
Jul 3, 2024
a66ba4d
move sequencer registry check & forge fmt
Jul 4, 2024
98cf744
first block propose test
Jul 4, 2024
54461ce
remove console logs
Jul 4, 2024
6147bfe
add some proveBlock logic
Jul 4, 2024
2b2a36e
Test proving/verifying logic
Jul 4, 2024
ef000d9
add some tests
Jul 5, 2024
3f31d5c
remove comment
Jul 5, 2024
317107c
Merge pull request #18 from taikoxyz/blockHash_or_metaHash_in_transition
adaki2004 Jul 5, 2024
4d48262
rename var
Jul 5, 2024
9c75561
Merge pull request #17 from taikoxyz/first_simple_tests
Brechtpd Jul 5, 2024
227c9e6
Add deployment manual and script
Jul 8, 2024
67b2f4b
modify comment in MockSgxVerifier
Jul 8, 2024
dffc809
change anvil to reth-based private network
Jul 9, 2024
a090c06
Change config as Kurtosis PR
Jul 9, 2024
2fe94df
typo fix
Jul 10, 2024
5ac4a0b
update readme with local reth image deployment
Jul 10, 2024
c5e2838
Update everything (except core protocol) to lates, because of deps
Jul 11, 2024
19461a0
delete some unused contracts and bring over guardian prover
Jul 12, 2024
6f2b50e
Merge pull request #20 from taikoxyz/brought_over_latest_taiko_mono
adaki2004 Jul 15, 2024
9436b97
Merge pull request #19 from taikoxyz/anvil_shootup
adaki2004 Jul 15, 2024
c35c8e6
Merge pull request #15 from taikoxyz/gwyneth_preconf_mods
adaki2004 Jul 15, 2024
8d6c287
fix deployment issues caused by taiko-mon updates
Jul 15, 2024
81d2882
Adap multi-block proposals to gwyneth
Jul 15, 2024
bf9b9b9
change readme
Jul 15, 2024
5ff912e
Merge pull request #21 from taikoxyz/multiple_l2_blocks_in_one_L1_pro…
adaki2004 Jul 16, 2024
00f713c
initial draft of brecht issue desc.
Jul 17, 2024
3abed62
remuve some unncessary parts
Jul 17, 2024
0e9a241
fix pr comments & resolve build issues
Jul 18, 2024
ca4a6e6
fix or uncomment not relevant tests
Jul 19, 2024
93c26f7
add propose block script
Jul 19, 2024
6ba3443
add makefile and install script
Jul 19, 2024
f9a69a6
add contract deployments to setup
Jul 22, 2024
dfbbb6a
update sample dotenv
Jul 22, 2024
d6079da
Merge pull request #24 from taikoxyz/gwynethV2
Brechtpd Jul 22, 2024
33a509e
add proposeblock make command
Jul 23, 2024
7f58076
add propse CI worklfow
Jul 23, 2024
fa9f982
Integrate and make contracts compiling
Jul 23, 2024
fb8381c
fix ci script
Jul 23, 2024
853e2cd
move sync-only consuem and write to XChain
Jul 24, 2024
784f613
add xtransfer and token example
Jul 25, 2024
aed907b
meeting outcomes
Jul 25, 2024
4f649b3
Merge pull request #28 from taikoxyz/modify_erc20_xchain_version_inhe…
adaki2004 Jul 25, 2024
beb7199
Merge pull request #26 from taikoxyz/incorporate_booster_sample_contr…
adaki2004 Jul 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
meeting outcomes
Keszey Dániel authored and Keszey Dániel committed Jul 25, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit aed907b8689822fdc06f0a75037a0bd1d68e4ca6
2 changes: 1 addition & 1 deletion packages/protocol/contracts/gwyneth/Bus.sol
Original file line number Diff line number Diff line change
@@ -35,7 +35,7 @@ contract Bus is XChain {
require(consumed[messageHash] == false);
consumed[messageHash] = true;
} else if (proofType == ProofType.SYNC) {
// Sync system with shared validity
// Sync system with shared validity (e.g.: like a SignalService shared validity thing)
write(message);
} else {
revert("INVALID BUS PROOF");
14 changes: 2 additions & 12 deletions packages/protocol/contracts/gwyneth/XChain.sol
Original file line number Diff line number Diff line change
@@ -143,18 +143,8 @@ contract XChain {
//- Shall we remove (as i did here) the ownership of the bus - then use the previous implementation ? (notImplemented modifier) and overwrite in the child "bus" ?

// Currently, supposingly there is "synchronous composability", so let's assume a synchronous world
function write(bytes memory message) public virtual returns (uint) {
messages.push(calcMessageHash(message));
return messages.length - 1;
}
function write(bytes memory message) public virtual notImplemented returns (uint) {}

// Even tho the function just passes thru to write(), it is needed to bus-compatibility, where the consume function will differ
function consume(uint256 /*fromChainId*/, bytes memory message, bytes calldata proof) public virtual {
ProofType proofType = ProofType(uint16(bytes2(proof[:2])));

if (proofType != ProofType.ASYNC) {
revert NO_NEED_BUS_PROOF_ALL_ASYNC();
}
write(message);
}
function consume(uint256 /*fromChainId*/, bytes memory message, bytes calldata proof) public notImplemented virtual {}
}
21 changes: 12 additions & 9 deletions packages/protocol/contracts/gwyneth/XChainERC20Token.sol
Original file line number Diff line number Diff line change
@@ -10,6 +10,7 @@ contract XChainERC20Token is XChain, ERC20 {
// Only stored on L1
// @Brecht -> Shall we overwrite in our xERC20Example the totalSupply() of ERC20 ? And use this var instead of the ERC20's _totalSupply
// Not sure in this because i guess it shall serve the same purpose as totalSupply(), also it is a completely different interaction (on xChain) than on the canonical chain, but the totalSupply shall be the same IMO.
//meeting meinutes: We can get rid of this.
uint private _totalBalance;
// Stored on all chains
// This lead me to realize we need thi sinheritance:
@@ -25,15 +26,6 @@ contract XChainERC20Token is XChain, ERC20 {
_mint(premintAddress_, premintAmount_);
}

function totalBalance() //Is it the same as totalSupply() if so, i think that shall be fine!
xExecuteOn(EVM.l1ChainId) //why it has an xExecuteOn modifier ? And why it is applied only here ?
external
view
returns (uint)
{
return _totalBalance;
}

// xtransfer for async case (proof needed)
function xtransfer(address to, uint amount, uint256 fromChainId, uint256 toChainId, bytes calldata proof)
xFunction(fromChainId, toChainId, proof)
@@ -71,6 +63,17 @@ contract XChainERC20Token is XChain, ERC20 {
}

/* Overrides of ERC20 */
//Change totalSupply and apply xExecuteOn modifier
function totalSupply() //Is it the same as totalSupply() if so, i think that shall be fine!
xExecuteOn(EVM.l1ChainId) //why it has an xExecuteOn modifier ? And why it is applied only here ?
public
view
override
returns (uint256)
{
return _totalSupply;
}

function balanceOf(address account) public view virtual override returns (uint256) {
return _balances[account];
}
Loading