-
Notifications
You must be signed in to change notification settings - Fork 99
/
Copy pathaggkit.star
117 lines (105 loc) · 4.19 KB
/
aggkit.star
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
data_availability_package = import_module("./lib/data_availability.star")
aggkit_package = import_module("./lib/aggkit.star")
databases = import_module("./databases.star")
zkevm_bridge_package = import_module("./lib/zkevm_bridge.star")
def run(plan, args, contract_setup_addresses, sovereign_contract_setup_addresses):
db_configs = databases.get_db_configs(
args["deployment_suffix"], args["sequencer_type"]
)
keystore_artifacts = get_keystores_artifacts(plan, args)
# Create the cdk aggoracle config.
aggkit_config_template = read_file(
src="./templates/sovereign-rollup/aggkit-config.toml"
)
aggkit_config_artifact = plan.render_templates(
name="cdk-aggoracle-config-artifact",
config={
"config.toml": struct(
template=aggkit_config_template,
data=args
| {
"is_cdk_validium": data_availability_package.is_cdk_validium(args),
}
| db_configs
| contract_setup_addresses
| sovereign_contract_setup_addresses,
)
},
)
sovereign_genesis_file = read_file(src=args["sovereign_genesis_file"])
sovereign_genesis_artifact = plan.render_templates(
name="sovereign_genesis",
config={"genesis.json": struct(template=sovereign_genesis_file, data={})},
)
# Start the aggoracle components.
aggkit_configs = aggkit_package.create_aggkit_service_config(
args, aggkit_config_artifact, sovereign_genesis_artifact, keystore_artifacts
)
plan.add_services(
configs=aggkit_configs,
description="Starting the cdk aggkit components",
)
# Start the bridge service.
bridge_config_artifact = create_bridge_config_artifact(
plan,
args,
contract_setup_addresses,
sovereign_contract_setup_addresses,
db_configs,
)
bridge_service_config = zkevm_bridge_package.create_bridge_service_config(
args, bridge_config_artifact, keystore_artifacts.claimtx
)
plan.add_service(
name="sovereign-bridge-service" + args["deployment_suffix"],
config=bridge_service_config,
)
def get_keystores_artifacts(plan, args):
aggoracle_keystore_artifact = plan.store_service_files(
name="aggoracle-keystore",
service_name="contracts" + args["deployment_suffix"],
src="/opt/zkevm/aggoracle.keystore",
)
sovereignadmin_keystore_artifact = plan.store_service_files(
name="sovereignadmin-keystore",
service_name="contracts" + args["deployment_suffix"],
src="/opt/zkevm/sovereignadmin.keystore",
)
claimtx_keystore_artifact = plan.store_service_files(
name="claimtx-keystore",
service_name="contracts" + args["deployment_suffix"],
src="/opt/zkevm/claimtx.keystore",
)
return struct(
aggoracle=aggoracle_keystore_artifact,
sovereignadmin=sovereignadmin_keystore_artifact,
claimtx=claimtx_keystore_artifact,
)
def create_bridge_config_artifact(
plan, args, contract_setup_addresses, sovereign_contract_setup_addresses, db_configs
):
bridge_config_template = read_file(
src="./templates/sovereign-rollup/sovereign-bridge-config.toml"
)
return plan.render_templates(
name="sovereign-bridge-config-artifact",
config={
"bridge-config.toml": struct(
template=bridge_config_template,
data={
"deployment_suffix": args["deployment_suffix"],
"global_log_level": args["global_log_level"],
"l1_rpc_url": args["l1_rpc_url"],
"l2_rpc_name": args["l2_rpc_name"],
"zkevm_l2_keystore_password": args["zkevm_l2_keystore_password"],
# ports
"zkevm_bridge_grpc_port": args["zkevm_bridge_grpc_port"],
"zkevm_bridge_rpc_port": args["zkevm_bridge_rpc_port"],
"zkevm_rpc_http_port": args["zkevm_rpc_http_port"],
}
| contract_setup_addresses
| sovereign_contract_setup_addresses
| db_configs,
)
},
)