ergo_lib/wallet/
miner_fee.rs1use ergotree_ir::chain::address::Address;
4use ergotree_ir::chain::address::AddressEncoder;
5use ergotree_ir::chain::address::NetworkPrefix;
6use lazy_static::lazy_static;
7
8pub const MINERS_FEE_BASE16_BYTES: &str = "1005040004000e36100204a00b08cd0279be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798ea02d192a39a8cc7a701730073011001020402d19683030193a38cc7b2a57300000193c2b2a57301007473027303830108cdeeac93b1a57304";
10
11lazy_static! {
12 pub static ref MINERS_FEE_ADDRESS: Address =
14 #[allow(clippy::unwrap_used)]
15 Address::P2S(base16::decode(MINERS_FEE_BASE16_BYTES).unwrap());
16
17 pub static ref MINERS_FEE_MAINNET_ADDRESS_STR: String =
19 AddressEncoder::new(NetworkPrefix::Mainnet).address_to_str(&MINERS_FEE_ADDRESS);
20
21 pub static ref MINERS_FEE_TESTNET_ADDRESS_STR: String =
23 AddressEncoder::new(NetworkPrefix::Testnet).address_to_str(&MINERS_FEE_ADDRESS);
24}
25
26#[allow(clippy::unwrap_used)]
27#[cfg(test)]
28mod tests {
29
30 use ergotree_ir::ergo_tree::ErgoTree;
31 use ergotree_ir::serialization::SigmaSerializable;
32 use pretty_assertions::assert_eq;
33
34 use super::*;
35
36 #[test]
37 fn fee_mainnet_address() {
38 assert_eq!(
39 MINERS_FEE_MAINNET_ADDRESS_STR.as_str(),
40 "2iHkR7CWvD1R4j1yZg5bkeDRQavjAaVPeTDFGGLZduHyfWMuYpmhHocX8GJoaieTx78FntzJbCBVL6rf96ocJoZdmWBL2fci7NqWgAirppPQmZ7fN9V6z13Ay6brPriBKYqLp1bT2Fk4FkFLCfdPpe"
41 );
42 }
43
44 #[test]
45 fn fee_testnet_address() {
46 assert_eq!(
47 MINERS_FEE_TESTNET_ADDRESS_STR.as_str(),
48 "Bf1X9JgQTUtgntaer91B24n6kP8L2kqEiQqNf1z97BKo9UbnW3WRP9VXu8BXd1LsYCiYbHJEdWKxkF5YNx5n7m31wsDjbEuB3B13ZMDVBWkepGmWfGa71otpFViHDCuvbw1uNicAQnfuWfnj8fbCa4"
49 );
50 }
51
52 #[test]
53 fn parses_fee_address() {
54 ErgoTree::sigma_parse_bytes(base16::decode(MINERS_FEE_BASE16_BYTES).unwrap().as_slice())
55 .unwrap();
56 }
57}