Compare commits

...

4 Commits

Author SHA1 Message Date
Tommy Verrall 4dd360ec7a remove import 2024-02-29 15:58:05 +01:00
Tommy Verrall 1b619b38a7 typo here 2024-02-29 15:54:37 +01:00
Tommy Verrall 74433415b7 missing components
- updated
2024-02-29 15:52:09 +01:00
Tommy Verrall 443b95998b add swapper details
- make it optional for the time being
- update the env files too
- amend if need be in the future, testing now
2024-02-29 15:45:26 +01:00
10 changed files with 38 additions and 0 deletions
@@ -71,6 +71,8 @@ pub trait NymContractsProvider {
// SPs // SPs
fn name_service_contract_address(&self) -> Option<&AccountId>; fn name_service_contract_address(&self) -> Option<&AccountId>;
fn service_provider_contract_address(&self) -> Option<&AccountId>; fn service_provider_contract_address(&self) -> Option<&AccountId>;
// swapper
fn swapper_contract_address(&self) -> Option<&AccountId>;
} }
#[derive(Debug, Clone)] #[derive(Debug, Clone)]
@@ -87,6 +89,7 @@ pub struct TypedNymContracts {
pub service_provider_directory_contract_address: Option<AccountId>, pub service_provider_directory_contract_address: Option<AccountId>,
pub name_service_contract_address: Option<AccountId>, pub name_service_contract_address: Option<AccountId>,
pub swapper_contract_address: Option<AccountId>,
} }
impl TryFrom<NymContracts> for TypedNymContracts { impl TryFrom<NymContracts> for TypedNymContracts {
@@ -130,6 +133,10 @@ impl TryFrom<NymContracts> for TypedNymContracts {
.name_service_contract_address .name_service_contract_address
.map(|addr| addr.parse()) .map(|addr| addr.parse())
.transpose()?, .transpose()?,
swapper_contract_address: value
.swapper_contract_address
.map(|addr| addr.parse())
.transpose()?,
}) })
} }
} }
@@ -292,6 +292,9 @@ impl<C, S> NymContractsProvider for NyxdClient<C, S> {
fn name_service_contract_address(&self) -> Option<&AccountId> { fn name_service_contract_address(&self) -> Option<&AccountId> {
self.config.contracts.name_service_contract_address.as_ref() self.config.contracts.name_service_contract_address.as_ref()
} }
fn swapper_contract_address(&self) -> Option<&AccountId> {
self.config.contracts.swapper_contract_address.as_ref()
}
fn service_provider_contract_address(&self) -> Option<&AccountId> { fn service_provider_contract_address(&self) -> Option<&AccountId> {
self.config self.config
+9
View File
@@ -33,6 +33,7 @@ pub struct NymContracts {
pub ephemera_contract_address: Option<String>, pub ephemera_contract_address: Option<String>,
pub service_provider_directory_contract_address: Option<String>, pub service_provider_directory_contract_address: Option<String>,
pub name_service_contract_address: Option<String>, pub name_service_contract_address: Option<String>,
pub swapper_contract_address: Option<String>,
} }
// I wanted to use the simpler `NetworkDetails` name, but there's a clash // I wanted to use the simpler `NetworkDetails` name, but there's a clash
@@ -140,6 +141,7 @@ impl NymNetworkDetails {
)) ))
.with_name_service_contract(get_optional_env(var_names::NAME_SERVICE_CONTRACT_ADDRESS)) .with_name_service_contract(get_optional_env(var_names::NAME_SERVICE_CONTRACT_ADDRESS))
.with_explorer_api(get_optional_env(var_names::EXPLORER_API)) .with_explorer_api(get_optional_env(var_names::EXPLORER_API))
.with_swapper_contract(get_optional_env(var_names::SWAPPER_CONTRACT_ADDRESS))
} }
pub fn new_mainnet() -> Self { pub fn new_mainnet() -> Self {
@@ -170,6 +172,7 @@ impl NymNetworkDetails {
ephemera_contract_address: parse_optional_str(mainnet::EPHEMERA_CONTRACT_ADDRESS), ephemera_contract_address: parse_optional_str(mainnet::EPHEMERA_CONTRACT_ADDRESS),
service_provider_directory_contract_address: None, service_provider_directory_contract_address: None,
name_service_contract_address: None, name_service_contract_address: None,
swapper_contract_address: None,
}, },
explorer_api: parse_optional_str(mainnet::EXPLORER_API), explorer_api: parse_optional_str(mainnet::EXPLORER_API),
} }
@@ -289,6 +292,12 @@ impl NymNetworkDetails {
self.explorer_api = endpoint.map(Into::into); self.explorer_api = endpoint.map(Into::into);
self self
} }
#[must_use]
pub fn with_swapper_contract<S: Into<String>>(mut self, endpoint: Option<S>) -> Self {
self.contracts.swapper_contract_address = endpoint.map(Into::into);
self
}
} }
#[derive(Debug, Copy, Serialize, Deserialize, Clone, PartialEq, Eq)] #[derive(Debug, Copy, Serialize, Deserialize, Clone, PartialEq, Eq)]
+9
View File
@@ -21,6 +21,7 @@ pub const GROUP_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeu
pub const MULTISIG_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0"; pub const MULTISIG_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0";
pub const COCONUT_DKG_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0"; pub const COCONUT_DKG_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0";
pub const EPHEMERA_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0"; pub const EPHEMERA_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0";
pub const SWAPPER_CONTRACT_ADDRESS: &str = "n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0";
pub const REWARDING_VALIDATOR_ADDRESS: &str = "n10yyd98e2tuwu0f7ypz9dy3hhjw7v772q6287gy"; pub const REWARDING_VALIDATOR_ADDRESS: &str = "n10yyd98e2tuwu0f7ypz9dy3hhjw7v772q6287gy";
pub const STATISTICS_SERVICE_DOMAIN_ADDRESS: &str = "https://mainnet-stats.nymte.ch:8090/"; pub const STATISTICS_SERVICE_DOMAIN_ADDRESS: &str = "https://mainnet-stats.nymte.ch:8090/";
@@ -106,6 +107,10 @@ pub fn export_to_env() {
var_names::EPHEMERA_CONTRACT_ADDRESS, var_names::EPHEMERA_CONTRACT_ADDRESS,
EPHEMERA_CONTRACT_ADDRESS, EPHEMERA_CONTRACT_ADDRESS,
); );
set_var_to_default(
var_names::SWAPPER_CONTRACT_ADDRESS,
SWAPPER_CONTRACT_ADDRESS,
);
set_var_to_default( set_var_to_default(
var_names::REWARDING_VALIDATOR_ADDRESS, var_names::REWARDING_VALIDATOR_ADDRESS,
REWARDING_VALIDATOR_ADDRESS, REWARDING_VALIDATOR_ADDRESS,
@@ -151,6 +156,10 @@ pub fn export_to_env_if_not_set() {
var_names::COCONUT_DKG_CONTRACT_ADDRESS, var_names::COCONUT_DKG_CONTRACT_ADDRESS,
COCONUT_DKG_CONTRACT_ADDRESS, COCONUT_DKG_CONTRACT_ADDRESS,
); );
set_var_conditionally_to_default(
var_names::SWAPPER_CONTRACT_ADDRESS,
SWAPPER_CONTRACT_ADDRESS,
);
set_var_conditionally_to_default( set_var_conditionally_to_default(
var_names::EPHEMERA_CONTRACT_ADDRESS, var_names::EPHEMERA_CONTRACT_ADDRESS,
EPHEMERA_CONTRACT_ADDRESS, EPHEMERA_CONTRACT_ADDRESS,
+1
View File
@@ -19,6 +19,7 @@ pub const GROUP_CONTRACT_ADDRESS: &str = "GROUP_CONTRACT_ADDRESS";
pub const MULTISIG_CONTRACT_ADDRESS: &str = "MULTISIG_CONTRACT_ADDRESS"; pub const MULTISIG_CONTRACT_ADDRESS: &str = "MULTISIG_CONTRACT_ADDRESS";
pub const COCONUT_DKG_CONTRACT_ADDRESS: &str = "COCONUT_DKG_CONTRACT_ADDRESS"; pub const COCONUT_DKG_CONTRACT_ADDRESS: &str = "COCONUT_DKG_CONTRACT_ADDRESS";
pub const EPHEMERA_CONTRACT_ADDRESS: &str = "EPHEMERA_CONTRACT_ADDRESS"; pub const EPHEMERA_CONTRACT_ADDRESS: &str = "EPHEMERA_CONTRACT_ADDRESS";
pub const SWAPPER_CONTRACT_ADDRESS: &str = "SWAPPER_CONTRACT_ADDRESS";
pub const REWARDING_VALIDATOR_ADDRESS: &str = "REWARDING_VALIDATOR_ADDRESS"; pub const REWARDING_VALIDATOR_ADDRESS: &str = "REWARDING_VALIDATOR_ADDRESS";
pub const STATISTICS_SERVICE_DOMAIN_ADDRESS: &str = "STATISTICS_SERVICE_DOMAIN_ADDRESS"; pub const STATISTICS_SERVICE_DOMAIN_ADDRESS: &str = "STATISTICS_SERVICE_DOMAIN_ADDRESS";
pub const SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS: &str = pub const SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS: &str =
+1
View File
@@ -18,6 +18,7 @@ GROUP_CONTRACT_ADDRESS=n1rw8fw2mpcpzzq3jpa4e52ufawnmj5a4u68p35umvgskewuw0nlzsaa5
MULTISIG_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 MULTISIG_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
COCONUT_DKG_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 COCONUT_DKG_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
EPHEMERA_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 EPHEMERA_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
SWAPPER_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
REWARDING_VALIDATOR_ADDRESS=n10yyd98e2tuwu0f7ypz9dy3hhjw7v772q6287gy REWARDING_VALIDATOR_ADDRESS=n10yyd98e2tuwu0f7ypz9dy3hhjw7v772q6287gy
STATISTICS_SERVICE_DOMAIN_ADDRESS="https://mainnet-stats.nymte.ch:8090" STATISTICS_SERVICE_DOMAIN_ADDRESS="https://mainnet-stats.nymte.ch:8090"
NYXD="https://rpc.nymtech.net" NYXD="https://rpc.nymtech.net"
+1
View File
@@ -19,6 +19,7 @@ COCONUT_DKG_CONTRACT_ADDRESS=n1hk7jy0m6ec5gventvgsx8skrz8mrudhqhun0ufg5gaa3mrr83
REWARDING_VALIDATOR_ADDRESS=n1rfvpsynktze6wvn6ldskj8xgwfzzk5v6pnff39 REWARDING_VALIDATOR_ADDRESS=n1rfvpsynktze6wvn6ldskj8xgwfzzk5v6pnff39
NAME_SERVICE_CONTRACT_ADDRESS=n1qum2tr7hh4y7ruzew68c64myjec0dq2s2njf6waja5t0w879lutqadamme NAME_SERVICE_CONTRACT_ADDRESS=n1qum2tr7hh4y7ruzew68c64myjec0dq2s2njf6waja5t0w879lutqadamme
SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS=n13ehuhysn5mqjeaheeuew2gjs785f6k7jm8vfsqg3jhtpkwppcmzq6m2hmz SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS=n13ehuhysn5mqjeaheeuew2gjs785f6k7jm8vfsqg3jhtpkwppcmzq6m2hmz
SWAPPER_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
STATISTICS_SERVICE_DOMAIN_ADDRESS="https://mainnet-stats.nymte.ch:8090" STATISTICS_SERVICE_DOMAIN_ADDRESS="https://mainnet-stats.nymte.ch:8090"
EXPLORER_API=https://qa-network-explorer.qa.nymte.ch/api EXPLORER_API=https://qa-network-explorer.qa.nymte.ch/api
+1
View File
@@ -19,6 +19,7 @@ MULTISIG_CONTRACT_ADDRESS=n1q3zzxl78rlmxv3vn0uf4vkyz285lk8q2xzne299yt9x6mpfgk90q
COCONUT_DKG_CONTRACT_ADDRESS=n1jsz20ggp5a6v76j060erkzvxmeus8htlpl77yxp878f0gf95cyaq6p2pee COCONUT_DKG_CONTRACT_ADDRESS=n1jsz20ggp5a6v76j060erkzvxmeus8htlpl77yxp878f0gf95cyaq6p2pee
NAME_SERVICE_CONTRACT_ADDRESS=n12ne7qtmdwd0j03t9t5es8md66wq4e5xg9neladrsag8fx3y89rcs36asfp NAME_SERVICE_CONTRACT_ADDRESS=n12ne7qtmdwd0j03t9t5es8md66wq4e5xg9neladrsag8fx3y89rcs36asfp
SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS=n1ps5yutd7sufwg058qd7ac7ldnlazsvmhzqwucsfxmm445d70u8asqxpur4 SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS=n1ps5yutd7sufwg058qd7ac7ldnlazsvmhzqwucsfxmm445d70u8asqxpur4
SWAPPER_CONTRACT_ADDRESS=n1e65nvg9dntgjmfl5ptgpqtlrl89ergakn0zchz68cklhjz6hrnxsmjs5rd
EPHEMERA_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0 EPHEMERA_CONTRACT_ADDRESS=n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0
STATISTICS_SERVICE_DOMAIN_ADDRESS="http://0.0.0.0" STATISTICS_SERVICE_DOMAIN_ADDRESS="http://0.0.0.0"
@@ -28,6 +28,8 @@ pub(crate) const SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS: &str =
"n13ehuhysn5mqjeaheeuew2gjs785f6k7jm8vfsqg3jhtpkwppcmzq6m2hmz"; "n13ehuhysn5mqjeaheeuew2gjs785f6k7jm8vfsqg3jhtpkwppcmzq6m2hmz";
pub(crate) const NAME_SERVICE_CONTRACT_ADDRESS: &str = pub(crate) const NAME_SERVICE_CONTRACT_ADDRESS: &str =
"n1qum2tr7hh4y7ruzew68c64myjec0dq2s2njf6waja5t0w879lutqadamme"; "n1qum2tr7hh4y7ruzew68c64myjec0dq2s2njf6waja5t0w879lutqadamme";
pub(crate) const SWAPPER_CONTRACT_ADDRESS: &str =
"n19lc9u84cz0yz3fww5283nucc9yvr8gsjmgeul0";
// -- Constructor functions -- // -- Constructor functions --
@@ -64,6 +66,7 @@ pub(crate) fn network_details() -> nym_network_defaults::NymNetworkDetails {
SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS, SERVICE_PROVIDER_DIRECTORY_CONTRACT_ADDRESS,
), ),
name_service_contract_address: parse_optional_str(NAME_SERVICE_CONTRACT_ADDRESS), name_service_contract_address: parse_optional_str(NAME_SERVICE_CONTRACT_ADDRESS),
swapper_contract_address: parse_optional_str(SWAPPER_CONTRACT_ADDRESS),
}, },
explorer_api: parse_optional_str(EXPLORER_API), explorer_api: parse_optional_str(EXPLORER_API),
} }
@@ -25,6 +25,8 @@ pub(crate) const COCONUT_DKG_CONTRACT_ADDRESS: &str =
"n1ahg0erc2fs6xx3j5m8sfx3ryuzdjh6kf6qm9plsf865fltekyrfsesac6a"; "n1ahg0erc2fs6xx3j5m8sfx3ryuzdjh6kf6qm9plsf865fltekyrfsesac6a";
pub(crate) const EPHEMERA_CONTRACT_ADDRESS: &str = pub(crate) const EPHEMERA_CONTRACT_ADDRESS: &str =
"n1ahg0erc2fs6xx3j5m8sfx3ryuzdjh6kf6qm9plsf865fltekyrfsesac6a"; "n1ahg0erc2fs6xx3j5m8sfx3ryuzdjh6kf6qm9plsf865fltekyrfsesac6a";
pub(crate) const SWAPPER_CONTRACT_ADDRESS: &str =
"n1e65nvg9dntgjmfl5ptgpqtlrl89ergakn0zchz68cklhjz6hrnxsmjs5rd";
// -- Constructor functions -- // -- Constructor functions --
@@ -59,6 +61,7 @@ pub(crate) fn network_details() -> nym_network_defaults::NymNetworkDetails {
ephemera_contract_address: parse_optional_str(EPHEMERA_CONTRACT_ADDRESS), ephemera_contract_address: parse_optional_str(EPHEMERA_CONTRACT_ADDRESS),
service_provider_directory_contract_address: None, service_provider_directory_contract_address: None,
name_service_contract_address: None, name_service_contract_address: None,
swapper_contract_address: parse_optional_str(SWAPPER_CONTRACT_ADDRESS),
}, },
explorer_api: parse_optional_str(EXPLORER_API), explorer_api: parse_optional_str(EXPLORER_API),
} }