(
&'s mut self,
parent_submit_config: &SubmitConfig<'a, DockerMaterials>,
relayer_name: &RelayerName,
relayer_config: RelayerConfig<'a, DockerMaterials>,
)
| 1028 | } |
| 1029 | |
| 1030 | async fn create_relayer<'s, 'a>( |
| 1031 | &'s mut self, |
| 1032 | parent_submit_config: &SubmitConfig<'a, DockerMaterials>, |
| 1033 | relayer_name: &RelayerName, |
| 1034 | relayer_config: RelayerConfig<'a, DockerMaterials>, |
| 1035 | ) -> anyhow::Result<DockerRelayer> |
| 1036 | where |
| 1037 | 's: 'a, |
| 1038 | { |
| 1039 | let network_name = relayer_config |
| 1040 | .follow_config |
| 1041 | .find_node(|n| Some(n.network_name().clone()), |_| None); |
| 1042 | |
| 1043 | // Add the parent subnet to the config.toml |
| 1044 | self.ipc_cli_config_add_subnet(parent_submit_config)?; |
| 1045 | |
| 1046 | // Add the child subnet to the config.toml |
| 1047 | self.ipc_cli_config_add_subnet(relayer_config.follow_config)?; |
| 1048 | |
| 1049 | // Add the submitter to the IPC wallet |
| 1050 | Self::ipc_cli_wallet_import( |
| 1051 | &self.ipc_cli_runner(&parent_submit_config.subnet.name.testnet(), None)?, |
| 1052 | relayer_config.submitter, |
| 1053 | ) |
| 1054 | .await?; |
| 1055 | |
| 1056 | // Create the relayer |
| 1057 | let relayer = DockerRelayer::get_or_create( |
| 1058 | &self.dir, |
| 1059 | self.docker.clone(), |
| 1060 | self.drop_chute.clone(), |
| 1061 | &self.drop_policy, |
| 1062 | relayer_name, |
| 1063 | relayer_config.follow_config.subnet, |
| 1064 | relayer_config.submitter, |
| 1065 | network_name, |
| 1066 | relayer_config.env, |
| 1067 | ) |
| 1068 | .await?; |
| 1069 | |
| 1070 | // Start the relayer |
| 1071 | relayer.start().await?; |
| 1072 | |
| 1073 | Ok(relayer) |
| 1074 | } |
| 1075 | } |
| 1076 | |
| 1077 | /// The `ipc-cli` puts the output in a human readable log instead of printing JSON. |
nothing calls this directly
no test coverage detected