Skip to content

Commit f30b28a

Browse files
committed
re-export 'hex_conservative' as hex
The next commit will clean this up a bit. This one just replaces the hex module with the hex-conservative crate and does mechanical fixes to the examples and doctests.
1 parent 1c37bb1 commit f30b28a

7 files changed

Lines changed: 27 additions & 26 deletions

File tree

elementsd-tests/src/pset.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ extern crate rand;
77
use crate::{setup, Call};
88

99
use bitcoin::{self, Address, Amount};
10-
use elements::hex::ToHex;
1110
use elements::encode::serialize;
1211
use elements::hashes::Hash;
12+
use elements::hex::DisplayHex as _;
1313
use elements::pset::PartiallySignedTransaction;
1414
use elements::{AssetId, ContractHash};
1515
use elementsd::bitcoincore_rpc::jsonrpc::serde_json::json;
@@ -116,7 +116,7 @@ fn tx_pegin() {
116116
bitcoind.client.generate_to_address(101, &btc_addr).unwrap();
117117
let proof = bitcoind.client.get_tx_out_proof(&[txid], None).unwrap();
118118
elementsd.generate(2);
119-
let inputs = json!([ {"txid":txid, "vout": vout,"pegin_bitcoin_tx": tx_bytes.to_hex(), "pegin_txout_proof": proof.to_hex(), "pegin_claim_script": claim_script } ]);
119+
let inputs = json!([ {"txid":txid, "vout": vout,"pegin_bitcoin_tx": tx_bytes.to_lower_hex_string(), "pegin_txout_proof": proof.to_lower_hex_string(), "pegin_claim_script": claim_script } ]);
120120
let outputs = json!([
121121
{address_lbtc: "0.9", "blinder_index": 0},
122122
{"fee": "0.1" }
@@ -158,7 +158,7 @@ fn psbt_rtt(elementsd: &ElementsD, base64: &str) {
158158
b_bytes[i] = b_bytes[i].wrapping_add(1);
159159
let base64 = BASE64_STANDARD.encode(&b_bytes);
160160
if let Some(decoded) = elementsd.decode_psbt(&base64) {
161-
assert_ne!(a, decoded, "{} with changed byte {}", b_bytes.to_hex(), i);
161+
assert_ne!(a, decoded, "{} with changed byte {}", b_bytes.as_hex(), i);
162162
}
163163
b_bytes[i] = b_bytes[i].wrapping_sub(1);
164164
}

elementsd-tests/src/taproot.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use crate::{Call, setup};
77

88
use bitcoin::key::{XOnlyPublicKey, Keypair};
99
use bitcoin::Amount;
10-
use elements::hex::FromHex;
10+
use elements::hex;
1111
use elements::confidential::{AssetBlindingFactor, ValueBlindingFactor};
1212
use elements::encode::{deserialize, serialize_hex};
1313
use elements::hashes::Hash;
@@ -101,7 +101,7 @@ fn funded_tap_txout(
101101
elementsd.generate(1);
102102
let tx_hex = elementsd.get_transaction(&txid_hex);
103103

104-
let tx = deserialize::<Transaction>(&Vec::<u8>::from_hex(&tx_hex).unwrap()).unwrap();
104+
let tx = deserialize::<Transaction>(&hex::decode_to_vec(&tx_hex).unwrap()).unwrap();
105105

106106
let mut outpoint: Option<OutPoint> = None;
107107
for (i, out) in tx.output.iter().enumerate() {

examples/pset_blind_coinjoin.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ use elements::{pset, secp256k1_zkp};
2828

2929
use elements::encode::{deserialize, serialize_hex};
3030
use elements::{confidential, AssetId, TxOut};
31-
use elements::hex::FromHex;
31+
use elements::hex;
3232
use rand::SeedableRng;
3333

3434
// Assume txouts are simple pay to wpkh
@@ -41,7 +41,7 @@ struct Secrets {
4141
}
4242

4343
fn deser_pset(psbt_hex: &str) -> Pset {
44-
deserialize::<Pset>(&Vec::<u8>::from_hex(psbt_hex).unwrap()).unwrap()
44+
deserialize::<Pset>(&hex::decode_to_vec(psbt_hex).unwrap()).unwrap()
4545
}
4646

4747
fn parse_txout(txout_info: &str) -> (TxOut, Secrets, pset::Input) {
@@ -50,15 +50,15 @@ fn parse_txout(txout_info: &str) -> (TxOut, Secrets, pset::Input) {
5050

5151
let txout = TxOut {
5252
asset: deserialize::<confidential::Asset>(
53-
&Vec::<u8>::from_hex(v["assetcommitment"].as_str().unwrap()).unwrap(),
53+
&hex::decode_to_vec(v["assetcommitment"].as_str().unwrap()).unwrap(),
5454
)
5555
.unwrap(),
5656
value: deserialize::<confidential::Value>(
57-
&Vec::<u8>::from_hex(v["amountcommitment"].as_str().unwrap()).unwrap(),
57+
&hex::decode_to_vec(v["amountcommitment"].as_str().unwrap()).unwrap(),
5858
)
5959
.unwrap(),
6060
nonce: deserialize::<confidential::Nonce>(
61-
&Vec::<u8>::from_hex(v["commitmentnonce"].as_str().unwrap()).unwrap(),
61+
&hex::decode_to_vec(v["commitmentnonce"].as_str().unwrap()).unwrap(),
6262
)
6363
.unwrap(),
6464
script_pubkey: Script::from_hex_no_prefix(v["scriptPubKey"].as_str().unwrap()).unwrap(),

examples/raw_blind.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ use elements::{pset, secp256k1_zkp, SurjectionInput};
1515

1616
use elements::encode::{deserialize, serialize_hex};
1717
use elements::{confidential, AssetId, TxOut};
18-
use elements::hex::FromHex;
18+
use elements::hex;
1919
use rand::SeedableRng;
2020

2121
/// Pset example workflow:
@@ -36,7 +36,7 @@ struct Secrets {
3636
}
3737

3838
fn deser_pset(psbt_hex: &str) -> Pset {
39-
deserialize::<Pset>(&Vec::<u8>::from_hex(psbt_hex).unwrap()).unwrap()
39+
deserialize::<Pset>(&hex::decode_to_vec(psbt_hex).unwrap()).unwrap()
4040
}
4141

4242
fn parse_txout(txout_info: &str) -> (TxOut, Secrets, pset::Input) {
@@ -45,15 +45,15 @@ fn parse_txout(txout_info: &str) -> (TxOut, Secrets, pset::Input) {
4545

4646
let txout = TxOut {
4747
asset: deserialize::<confidential::Asset>(
48-
&Vec::<u8>::from_hex(v["assetcommitment"].as_str().unwrap()).unwrap(),
48+
&hex::decode_to_vec(v["assetcommitment"].as_str().unwrap()).unwrap(),
4949
)
5050
.unwrap(),
5151
value: deserialize::<confidential::Value>(
52-
&Vec::<u8>::from_hex(v["amountcommitment"].as_str().unwrap()).unwrap(),
52+
&hex::decode_to_vec(v["amountcommitment"].as_str().unwrap()).unwrap(),
5353
)
5454
.unwrap(),
5555
nonce: deserialize::<confidential::Nonce>(
56-
&Vec::<u8>::from_hex(v["commitmentnonce"].as_str().unwrap()).unwrap(),
56+
&hex::decode_to_vec(v["commitmentnonce"].as_str().unwrap()).unwrap(),
5757
)
5858
.unwrap(),
5959
script_pubkey: Script::from_hex_no_prefix(v["scriptPubKey"].as_str().unwrap()).unwrap(),
@@ -280,13 +280,13 @@ fn main() {
280280
tx.verify_tx_amt_proofs(&secp, &[btc_txout, asset_txout])
281281
.unwrap();
282282

283-
let inp0_sig = Vec::<u8>::from_hex("3044022040d1802d6e10da4c27f05eff807550e614b3d2fa20c663dbf1ebf162d3952689022001f477c953b7c543bce877e3297fccb00ef5dba21d427e79c8bfb8522713309801").unwrap();
283+
let inp0_sig = hex::hex!("3044022040d1802d6e10da4c27f05eff807550e614b3d2fa20c663dbf1ebf162d3952689022001f477c953b7c543bce877e3297fccb00ef5dba21d427e79c8bfb8522713309801").to_vec();
284284
let inp0_pk = PublicKey::from_str(
285285
"0334c307ad8142e7c8a6bf1ad3552b12fbb860885ea7f2d76c1f49f93a7c4bbbe7",
286286
)
287287
.unwrap();
288288

289-
let inp1_sig = Vec::<u8>::from_hex("3044022017c696503f5e1539fe5cb8dd05f793bd3b6e39f193028a7299a80c94c817a02d022007889009088f46cd9d9f4d137815704170410f53d503b68c1e020292a85b93fa01").unwrap();
289+
let inp1_sig = hex::hex!("3044022017c696503f5e1539fe5cb8dd05f793bd3b6e39f193028a7299a80c94c817a02d022007889009088f46cd9d9f4d137815704170410f53d503b68c1e020292a85b93fa01").to_vec();
290290
let inp1_pk = PublicKey::from_str(
291291
"03df8f51c053ba0dfb443cce9793b6dc3339ffb0ce97af4792dade3aae1eb890f6",
292292
)

examples/tx.rs

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

src/blind.rs

Lines changed: 6 additions & 6 deletions
Large diffs are not rendered by default.

src/lib.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ mod error;
5757
mod ext;
5858
mod fast_merkle_root;
5959
pub mod hash_types;
60-
pub mod hex;
60+
pub use hex_conservative as hex;
61+
//pub mod hex;
6162
pub mod issuance;
6263
pub mod locktime;
6364
pub mod opcodes;

0 commit comments

Comments
 (0)