mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 22:11:02 +00:00
Parse all deploy contract arguments (#289)
* parse all deploy contract arguments * cargo fmt --all
This commit is contained in:
committed by
Bastian Köcher
parent
7a71279ab8
commit
a0555d8118
@@ -272,20 +272,28 @@ fn substrate_sync_params(matches: &clap::ArgMatches) -> Result<SubstrateSyncPara
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn ethereum_deploy_contract_params(matches: &clap::ArgMatches) -> Result<EthereumDeployContractParams, String> {
|
fn ethereum_deploy_contract_params(matches: &clap::ArgMatches) -> Result<EthereumDeployContractParams, String> {
|
||||||
let eth_contract_code = if let Some(eth_contract_code) = matches.value_of("eth-contract-code") {
|
let eth_contract_code = parse_hex_argument(matches, "eth-contract-code")?.unwrap_or_else(|| {
|
||||||
hex::decode(ð_contract_code).map_err(|e| format!("Failed to parse eth-contract-code: {}", e))?
|
|
||||||
} else {
|
|
||||||
hex::decode(include_str!("../res/substrate-bridge-bytecode.hex")).expect("code is hardcoded, thus valid; qed")
|
hex::decode(include_str!("../res/substrate-bridge-bytecode.hex")).expect("code is hardcoded, thus valid; qed")
|
||||||
|
});
|
||||||
|
let sub_initial_authorities_set_id = match matches.value_of("sub-authorities-set-id") {
|
||||||
|
Some(sub_initial_authorities_set_id) => Some(
|
||||||
|
sub_initial_authorities_set_id
|
||||||
|
.parse()
|
||||||
|
.map_err(|e| format!("Failed to parse sub-authorities-set-id: {}", e))?,
|
||||||
|
),
|
||||||
|
None => None,
|
||||||
};
|
};
|
||||||
|
let sub_initial_authorities_set = parse_hex_argument(matches, "sub-authorities-set")?;
|
||||||
|
let sub_initial_header = parse_hex_argument(matches, "sub-initial-header")?;
|
||||||
|
|
||||||
let params = EthereumDeployContractParams {
|
let params = EthereumDeployContractParams {
|
||||||
eth_params: ethereum_connection_params(matches)?,
|
eth_params: ethereum_connection_params(matches)?,
|
||||||
eth_sign: ethereum_signing_params(matches)?,
|
eth_sign: ethereum_signing_params(matches)?,
|
||||||
sub_params: substrate_connection_params(matches)?,
|
sub_params: substrate_connection_params(matches)?,
|
||||||
instance: instance_params(matches)?,
|
instance: instance_params(matches)?,
|
||||||
sub_initial_authorities_set_id: None,
|
sub_initial_authorities_set_id,
|
||||||
sub_initial_authorities_set: None,
|
sub_initial_authorities_set,
|
||||||
sub_initial_header: None,
|
sub_initial_header,
|
||||||
eth_contract_code,
|
eth_contract_code,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -407,3 +415,12 @@ fn instance_params(matches: &clap::ArgMatches) -> Result<Box<dyn BridgeInstance>
|
|||||||
|
|
||||||
Ok(instance)
|
Ok(instance)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn parse_hex_argument(matches: &clap::ArgMatches, arg: &str) -> Result<Option<Vec<u8>>, String> {
|
||||||
|
match matches.value_of(arg) {
|
||||||
|
Some(value) => Ok(Some(
|
||||||
|
hex::decode(value).map_err(|e| format!("Failed to parse {}: {}", arg, e))?,
|
||||||
|
)),
|
||||||
|
None => Ok(None),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user