Skip to content

Commit

Permalink
Merge branch 'preconfirmations' into preconfirmations-taiko-client
Browse files Browse the repository at this point in the history
  • Loading branch information
cyberhorsey committed Jul 3, 2024
2 parents 17638e4 + 967f7ee commit db7d731
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 91 deletions.
8 changes: 4 additions & 4 deletions packages/protocol/genesis/test_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
const ADDRESS_LENGTH = 40;

module.exports = {
contractOwner: "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
l1ChainId: 1,
chainId: 167,
contractOwner: "0x91c34396e640e3bB4eE80f2e523c23dDa2b3f78F",
l1ChainId: 7014190335,
chainId: 167010,
seedAccounts: [
{
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266": 1024,
Expand Down Expand Up @@ -76,7 +76,7 @@ module.exports = {
"0x9eAF5590f2c84912A08de97FA28d0529361Deb9E": 1024,
},
{
"0x1003ff39d25F2Ab16dBCc18EcE05a9B6154f65F4": 1024,
"0x91c34396e640e3bB4eE80f2e523c23dDa2b3f78F": 1024,
},
],
get contractAddresses() {
Expand Down
178 changes: 92 additions & 86 deletions packages/protocol/script/DeployOnL1.s.sol
Original file line number Diff line number Diff line change
Expand Up @@ -160,69 +160,74 @@ contract DeployOnL1 is DeployCapability {
registerTo: sharedAddressManager
});

address brdige = deployProxy({
name: "bridge",
impl: address(new Bridge()),
data: abi.encodeCall(Bridge.init, (address(0), sharedAddressManager)),
registerTo: sharedAddressManager
});

if (vm.envBool("PAUSE_BRIDGE")) {
Bridge(payable(brdige)).pause();
}

Bridge(payable(brdige)).transferOwnership(owner);

console2.log("------------------------------------------");
console2.log(
"Warning - you need to register *all* counterparty bridges to enable multi-hop bridging:"
);
console2.log(
"sharedAddressManager.setAddress(remoteChainId, \"bridge\", address(remoteBridge))"
);
console2.log("- sharedAddressManager : ", sharedAddressManager);
// address brdige = deployProxy({
// name: "bridge",
// impl: address(new Bridge()),
// data: abi.encodeCall(Bridge.init, (address(0), sharedAddressManager)),
// registerTo: sharedAddressManager
// });

// if (vm.envBool("PAUSE_BRIDGE")) {
// Bridge(payable(brdige)).pause();
// }

// Bridge(payable(brdige)).transferOwnership(owner);

// console2.log("------------------------------------------");
// console2.log(
// "Warning - you need to register *all* counterparty bridges to enable multi-hop
// bridging:"
// );
// console2.log(
// "sharedAddressManager.setAddress(remoteChainId, \"bridge\", address(remoteBridge))"
// );
// console2.log("- sharedAddressManager : ", sharedAddressManager);

// Deploy Vaults
deployProxy({
name: "erc20_vault",
impl: address(new ERC20Vault()),
data: abi.encodeCall(ERC20Vault.init, (owner, sharedAddressManager)),
registerTo: sharedAddressManager
});

deployProxy({
name: "erc721_vault",
impl: address(new ERC721Vault()),
data: abi.encodeCall(ERC721Vault.init, (owner, sharedAddressManager)),
registerTo: sharedAddressManager
});

deployProxy({
name: "erc1155_vault",
impl: address(new ERC1155Vault()),
data: abi.encodeCall(ERC1155Vault.init, (owner, sharedAddressManager)),
registerTo: sharedAddressManager
});

console2.log("------------------------------------------");
console2.log(
"Warning - you need to register *all* counterparty vaults to enable multi-hop bridging:"
);
console2.log(
"sharedAddressManager.setAddress(remoteChainId, \"erc20_vault\", address(remoteERC20Vault))"
);
console2.log(
"sharedAddressManager.setAddress(remoteChainId, \"erc721_vault\", address(remoteERC721Vault))"
);
console2.log(
"sharedAddressManager.setAddress(remoteChainId, \"erc1155_vault\", address(remoteERC1155Vault))"
);
console2.log("- sharedAddressManager : ", sharedAddressManager);

// Deploy Bridged token implementations
register(sharedAddressManager, "bridged_erc20", address(new BridgedERC20()));
register(sharedAddressManager, "bridged_erc721", address(new BridgedERC721()));
register(sharedAddressManager, "bridged_erc1155", address(new BridgedERC1155()));
// deployProxy({
// name: "erc20_vault",
// impl: address(new ERC20Vault()),
// data: abi.encodeCall(ERC20Vault.init, (owner, sharedAddressManager)),
// registerTo: sharedAddressManager
// });

// deployProxy({
// name: "erc721_vault",
// impl: address(new ERC721Vault()),
// data: abi.encodeCall(ERC721Vault.init, (owner, sharedAddressManager)),
// registerTo: sharedAddressManager
// });

// deployProxy({
// name: "erc1155_vault",
// impl: address(new ERC1155Vault()),
// data: abi.encodeCall(ERC1155Vault.init, (owner, sharedAddressManager)),
// registerTo: sharedAddressManager
// });

// console2.log("------------------------------------------");
// console2.log(
// "Warning - you need to register *all* counterparty vaults to enable multi-hop
// bridging:"
// );
// console2.log(
// "sharedAddressManager.setAddress(remoteChainId, \"erc20_vault\",
// address(remoteERC20Vault))"
// );
// console2.log(
// "sharedAddressManager.setAddress(remoteChainId, \"erc721_vault\",
// address(remoteERC721Vault))"
// );
// console2.log(
// "sharedAddressManager.setAddress(remoteChainId, \"erc1155_vault\",
// address(remoteERC1155Vault))"
// );
// console2.log("- sharedAddressManager : ", sharedAddressManager);

// // Deploy Bridged token implementations
// register(sharedAddressManager, "bridged_erc20", address(new BridgedERC20()));
// register(sharedAddressManager, "bridged_erc721", address(new BridgedERC721()));
// register(sharedAddressManager, "bridged_erc1155", address(new BridgedERC1155()));
}

function deployRollupContracts(
Expand All @@ -245,7 +250,7 @@ contract DeployOnL1 is DeployCapability {
// Register shared contracts in the new rollup
copyRegister(rollupAddressManager, _sharedAddressManager, "taiko_token");
copyRegister(rollupAddressManager, _sharedAddressManager, "signal_service");
copyRegister(rollupAddressManager, _sharedAddressManager, "bridge");
// copyRegister(rollupAddressManager, _sharedAddressManager, "bridge");

deployProxy({
name: "sequencer_registry",
Expand Down Expand Up @@ -314,32 +319,33 @@ contract DeployOnL1 is DeployCapability {

// No need to proxy these, because they are 3rd party. If we want to modify, we simply
// change the registerAddress("automata_dcap_attestation", address(attestation));
P256Verifier p256Verifier = new P256Verifier();
SigVerifyLib sigVerifyLib = new SigVerifyLib(address(p256Verifier));
PEMCertChainLib pemCertChainLib = new PEMCertChainLib();
address automateDcapV3AttestationImpl = address(new AutomataDcapV3Attestation());

address automataProxy = deployProxy({
name: "automata_dcap_attestation",
impl: automateDcapV3AttestationImpl,
data: abi.encodeCall(
AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib), address(pemCertChainLib))
),
registerTo: rollupAddressManager
});
// P256Verifier p256Verifier = new P256Verifier();
// SigVerifyLib sigVerifyLib = new SigVerifyLib(address(p256Verifier));
// PEMCertChainLib pemCertChainLib = new PEMCertChainLib();
// address automateDcapV3AttestationImpl = address(new AutomataDcapV3Attestation());

// address automataProxy = deployProxy({
// name: "automata_dcap_attestation",
// impl: automateDcapV3AttestationImpl,
// data: abi.encodeCall(
// AutomataDcapV3Attestation.init, (owner, address(sigVerifyLib),
// address(pemCertChainLib))
// ),
// registerTo: rollupAddressManager
// });

// Log addresses for the user to register sgx instance
console2.log("SigVerifyLib", address(sigVerifyLib));
console2.log("PemCertChainLib", address(pemCertChainLib));
console2.log("AutomataDcapVaAttestation", automataProxy);

deployProxy({
name: "prover_set",
impl: address(new ProverSet()),
data: abi.encodeCall(
ProverSet.init, (owner, vm.envAddress("PROVER_SET_ADMIN"), rollupAddressManager)
)
});
// console2.log("SigVerifyLib", address(sigVerifyLib));
// console2.log("PemCertChainLib", address(pemCertChainLib));
// console2.log("AutomataDcapVaAttestation", automataProxy);

// deployProxy({
// name: "prover_set",
// impl: address(new ProverSet()),
// data: abi.encodeCall(
// ProverSet.init, (owner, vm.envAddress("PROVER_SET_ADMIN"), rollupAddressManager)
// )
// });

address sequencerRegistryProxy = deployProxy({
name: "sequencer_registry",
Expand Down
2 changes: 1 addition & 1 deletion packages/protocol/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
"moduleResolution": "node",
"esModuleInterop": true
},
"include": ["src/**/*.ts"],
"include": ["utils/**/*.ts"],
"exclude": ["node_modules"]
}

0 comments on commit db7d731

Please sign in to comment.