@@ -77,22 +77,19 @@ struct DummyChainWatcher {
77
77
}
78
78
79
79
impl ChainWatchInterface for DummyChainWatcher {
80
- fn install_watch_script ( & self , _script_pub_key : & Script ) {
81
- }
82
-
83
- fn install_watch_outpoint ( & self , _outpoint : ( Sha256dHash , u32 ) , _out_script : & Script ) {
84
- }
85
-
86
- fn watch_all_txn ( & self ) {
87
- }
88
-
89
- fn register_listener ( & self , _listener : Weak < ChainListener > ) {
90
- }
80
+ fn install_watch_script ( & self , _script_pub_key : & Script ) { }
81
+ fn install_watch_outpoint ( & self , _outpoint : ( Sha256dHash , u32 ) , _out_script : & Script ) { }
82
+ fn watch_all_txn ( & self ) { }
83
+ fn register_listener ( & self , _listener : Weak < ChainListener > ) { }
91
84
92
85
fn get_chain_utxo ( & self , _genesis_hash : Sha256dHash , _unspent_tx_output_identifier : u64 ) -> Result < ( Script , u64 ) , ChainError > {
93
- match self . input . get_slice ( 1 ) {
94
- Some ( slice) => Ok ( ( Builder :: new ( ) . push_opcode ( opcodes:: All :: OP_PUSHBYTES_0 ) . into_script ( ) . to_v0_p2wsh ( ) , 0 ) ) ,
86
+ match self . input . get_slice ( 2 ) {
87
+ Some ( & [ 0 , _] ) => Err ( ChainError :: NotSupported ) ,
88
+ Some ( & [ 1 , _] ) => Err ( ChainError :: NotWatched ) ,
89
+ Some ( & [ 2 , _] ) => Err ( ChainError :: UnknownTx ) ,
90
+ Some ( & [ _, x] ) => Ok ( ( Builder :: new ( ) . push_int ( x as i64 ) . into_script ( ) . to_v0_p2wsh ( ) , 0 ) ) ,
95
91
None => Err ( ChainError :: UnknownTx ) ,
92
+ _ => unreachable ! ( ) ,
96
93
}
97
94
}
98
95
}
0 commit comments