Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4dd360ec7a | |||
| 1b619b38a7 | |||
| 74433415b7 | |||
| 443b95998b |
@@ -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
|
||||||
|
|||||||
@@ -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)]
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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 =
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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),
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user