diff --git a/types/src/v17/mod.rs b/types/src/v17/mod.rs index 3381c020..9caf7a40 100644 --- a/types/src/v17/mod.rs +++ b/types/src/v17/mod.rs @@ -157,7 +157,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaccount | returns nothing | | //! | getaccountaddress | returns nothing | | diff --git a/types/src/v18/mod.rs b/types/src/v18/mod.rs index 4f9f5673..f25896f7 100644 --- a/types/src/v18/mod.rs +++ b/types/src/v18/mod.rs @@ -59,7 +59,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -164,7 +164,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v19/mod.rs b/types/src/v19/mod.rs index 632bf087..248b9665 100644 --- a/types/src/v19/mod.rs +++ b/types/src/v19/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | //! | getblockstats | version + model | | @@ -60,7 +60,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -164,7 +164,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v20/mod.rs b/types/src/v20/mod.rs index cd97f26e..83a3493f 100644 --- a/types/src/v20/mod.rs +++ b/types/src/v20/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | //! | getblockstats | version + model | | @@ -60,7 +60,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -165,7 +165,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v21/mod.rs b/types/src/v21/mod.rs index 397ea7a6..e5b072ba 100644 --- a/types/src/v21/mod.rs +++ b/types/src/v21/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | //! | getblockstats | version + model | | @@ -60,7 +60,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -167,7 +167,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v22/mod.rs b/types/src/v22/mod.rs index 303bc3d2..fa688af6 100644 --- a/types/src/v22/mod.rs +++ b/types/src/v22/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | //! | getblockstats | version + model | | @@ -60,7 +60,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -176,7 +176,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v23/mod.rs b/types/src/v23/mod.rs index 57446d92..c24c9792 100644 --- a/types/src/v23/mod.rs +++ b/types/src/v23/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -62,7 +62,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -167,7 +167,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v24/mod.rs b/types/src/v24/mod.rs index cd73d6cb..4f624515 100644 --- a/types/src/v24/mod.rs +++ b/types/src/v24/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -63,7 +63,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -168,7 +168,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v25/mod.rs b/types/src/v25/mod.rs index d515adc5..8bdca58b 100644 --- a/types/src/v25/mod.rs +++ b/types/src/v25/mod.rs @@ -30,7 +30,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -64,7 +64,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -169,7 +169,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v26/mod.rs b/types/src/v26/mod.rs index 87ddd437..bd55a6e2 100644 --- a/types/src/v26/mod.rs +++ b/types/src/v26/mod.rs @@ -31,7 +31,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -68,7 +68,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -177,7 +177,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v27/mod.rs b/types/src/v27/mod.rs index 5f19beb6..6e51d3d4 100644 --- a/types/src/v27/mod.rs +++ b/types/src/v27/mod.rs @@ -31,7 +31,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -68,7 +68,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -177,7 +177,7 @@ //! | bumpfee | version + model | | //! | createwallet | version + model | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v28/mod.rs b/types/src/v28/mod.rs index ece379ba..165514db 100644 --- a/types/src/v28/mod.rs +++ b/types/src/v28/mod.rs @@ -31,7 +31,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -68,7 +68,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -178,7 +178,7 @@ //! | createwallet | version + model | | //! | createwalletdescriptor | version | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/types/src/v29/mod.rs b/types/src/v29/mod.rs index 6932a9aa..ed3cd234 100644 --- a/types/src/v29/mod.rs +++ b/types/src/v29/mod.rs @@ -31,7 +31,7 @@ //! | getblock | version + model | Includes additional 'verbose' type | //! | getblockchaininfo | version + model | | //! | getblockcount | version + model | | -//! | getblockfilter | version | | +//! | getblockfilter | version + model | | //! | getblockfrompeer | returns nothing | | //! | getblockhash | version + model | | //! | getblockheader | version + model | Includes additional 'verbose' type | @@ -69,7 +69,7 @@ //! | JSON-RPC Method Name | Returns | Notes | //! |:-----------------------------------|:---------------:|:--------------------------------------:| //! | getmemoryinfo | version | | -//! | getrpcinfo | version + model | | +//! | getrpcinfo | version | | //! | help | returns string | | //! | logging | version | | //! | stop | returns string | | @@ -179,7 +179,7 @@ //! | createwallet | version + model | | //! | createwalletdescriptor | version | | //! | dumpprivkey | version + model | | -//! | dumpwallet | version + model | | +//! | dumpwallet | version | | //! | encryptwallet | version | | //! | getaddressesbylabel | version + model | | //! | getaddressinfo | version + model | | diff --git a/verify/src/main.rs b/verify/src/main.rs index c5badf07..da550350 100644 --- a/verify/src/main.rs +++ b/verify/src/main.rs @@ -92,6 +92,13 @@ fn verify_version(version: Version, test_output: Option<&String>, quiet: bool) - Err(e) => { if !quiet { eprintln!("{}", e); } close(false, quiet); failures += 1; } } + let msg = "Checking that 'Returns' column matches model requirements"; + check(msg, quiet); + match verify_returns_method(version) { + Ok(()) => close(true, quiet), + Err(e) => { if !quiet { eprintln!("{}", e); } close(false, quiet); failures += 1; } + } + if failures > 0 { return Err(anyhow::anyhow!("verification failed ({} check(s) failed)", failures)); } @@ -204,6 +211,45 @@ fn output_method(method: &Method) -> String { } } +/// Verifies that the 'Returns' table entry ("version" vs "version + model") matches the +/// method definition in verfiy. +fn verify_returns_method(version: Version) -> Result<()> { + use verify::versioned::{returns_map, ReturnsDoc}; + + let map = returns_map(version)?; + let mut failures = 0; + + for (name, entry) in map.into_iter() { + let Some(method) = Method::from_name(version, &name) else { continue }; + + match entry { + ReturnsDoc::Version => { + if method.requires_model { + eprintln!( + "'Returns' says 'version' but method is marked as requiring a model: {}", + output_method(method) + ); + failures += 1; + } + } + ReturnsDoc::VersionPlusModel => { + if !method.requires_model { + eprintln!( + "'Returns' says 'version + model' but method is marked as not requiring a model: {}", + output_method(method) + ); + failures += 1; + } + } + ReturnsDoc::Other(_) => {} + } + } + + if failures > 0 { return Err(anyhow::anyhow!("returns/model verification failed ({} issue(s))", failures)); } + + Ok(()) +} + // Use a module because a file with this name is confusing. mod check_integration_test_crate { //! Things related to parsing the `integration_test` crate. diff --git a/verify/src/method/v18.rs b/verify/src/method/v18.rs index 619587af..374c8773 100644 --- a/verify/src/method/v18.rs +++ b/verify/src/method/v18.rs @@ -87,9 +87,9 @@ pub const METHODS: &[Method] = &[ // util Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // wallet diff --git a/verify/src/method/v19.rs b/verify/src/method/v19.rs index aec032f3..6916787e 100644 --- a/verify/src/method/v19.rs +++ b/verify/src/method/v19.rs @@ -68,28 +68,28 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), // util Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // wallet diff --git a/verify/src/method/v20.rs b/verify/src/method/v20.rs index ba876008..2957268c 100644 --- a/verify/src/method/v20.rs +++ b/verify/src/method/v20.rs @@ -69,28 +69,28 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), // util Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // wallet diff --git a/verify/src/method/v21.rs b/verify/src/method/v21.rs index 270ede7b..5b68aed1 100644 --- a/verify/src/method/v21.rs +++ b/verify/src/method/v21.rs @@ -70,29 +70,29 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), // util Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // wallet diff --git a/verify/src/method/v22.rs b/verify/src/method/v22.rs index 54b9c353..41a539f2 100644 --- a/verify/src/method/v22.rs +++ b/verify/src/method/v22.rs @@ -70,31 +70,31 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), // signer Method::new_no_model("enumeratesigners", "EnumerateSigners", "enumerate_signers"), // util Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // wallet diff --git a/verify/src/method/v23.rs b/verify/src/method/v23.rs index 94ec6f7b..4678629c 100644 --- a/verify/src/method/v23.rs +++ b/verify/src/method/v23.rs @@ -68,28 +68,28 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/method/v24.rs b/verify/src/method/v24.rs index 96b94382..4fad9356 100644 --- a/verify/src/method/v24.rs +++ b/verify/src/method/v24.rs @@ -69,28 +69,28 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/method/v25.rs b/verify/src/method/v25.rs index 47668bb4..2eaac221 100644 --- a/verify/src/method/v25.rs +++ b/verify/src/method/v25.rs @@ -70,28 +70,28 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), Method::new_nothing("abandontransaction", "abandon_transaction"), diff --git a/verify/src/method/v26.rs b/verify/src/method/v26.rs index 27e79639..33e99cf0 100644 --- a/verify/src/method/v26.rs +++ b/verify/src/method/v26.rs @@ -76,30 +76,30 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), Method::new_modelled("descriptorprocesspsbt", "DescriptorProcessPsbt", "descriptor_process_psbt"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), Method::new_modelled("submitpackage", "SubmitPackage", "submit_package"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/method/v27.rs b/verify/src/method/v27.rs index 7747fc94..22a7fc2b 100644 --- a/verify/src/method/v27.rs +++ b/verify/src/method/v27.rs @@ -78,30 +78,30 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), Method::new_modelled("descriptorprocesspsbt", "DescriptorProcessPsbt", "descriptor_process_psbt"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), Method::new_modelled("submitpackage", "SubmitPackage", "submit_package"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/method/v28.rs b/verify/src/method/v28.rs index 600f7739..02ba281f 100644 --- a/verify/src/method/v28.rs +++ b/verify/src/method/v28.rs @@ -78,30 +78,30 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), Method::new_modelled("descriptorprocesspsbt", "DescriptorProcessPsbt", "descriptor_process_psbt"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), Method::new_modelled("submitpackage", "SubmitPackage", "submit_package"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/method/v29.rs b/verify/src/method/v29.rs index f1e1db95..d46090d4 100644 --- a/verify/src/method/v29.rs +++ b/verify/src/method/v29.rs @@ -79,30 +79,30 @@ pub const METHODS: &[Method] = &[ Method::new_no_model("setnetworkactive", "SetNetworkActive", "set_network_active"), // raw transactions Method::new_modelled("analyzepsbt", "AnalyzePsbt", "analyze_psbt"), - Method::new_nothing("combinepsbt", "combine_psbt"), - Method::new_nothing("combinerawtransaction", "combine_raw_transaction"), - Method::new_nothing("converttopsbt", "convert_to_psbt"), - Method::new_nothing("createpsbt", "create_psbt"), - Method::new_nothing("createrawtransaction", "create_raw_transaction"), - Method::new_nothing("decodepsbt", "decode_psbt"), - Method::new_nothing("decoderawtransaction", "decode_raw_transaction"), - Method::new_nothing("decodescript", "decode_script"), + Method::new_modelled("combinepsbt", "CombinePsbt", "combine_psbt"), + Method::new_modelled("combinerawtransaction", "CombineRawTransaction", "combine_raw_transaction"), + Method::new_modelled("converttopsbt", "ConvertToPsbt", "convert_to_psbt"), + Method::new_modelled("createpsbt", "CreatePsbt", "create_psbt"), + Method::new_modelled("createrawtransaction", "CreateRawTransaction", "create_raw_transaction"), + Method::new_modelled("decodepsbt", "DecodePsbt", "decode_psbt"), + Method::new_modelled("decoderawtransaction", "DecodeRawTransaction", "decode_raw_transaction"), + Method::new_modelled("decodescript", "DecodeScript", "decode_script"), Method::new_modelled("descriptorprocesspsbt", "DescriptorProcessPsbt", "descriptor_process_psbt"), - Method::new_nothing("finalizepsbt", "finalize_psbt"), - Method::new_nothing("fundrawtransaction", "fund_raw_transaction"), - Method::new_nothing("getrawtransaction", "get_raw_transaction"), + Method::new_modelled("finalizepsbt", "FinalizePsbt", "finalize_psbt"), + Method::new_modelled("fundrawtransaction", "FundRawTransaction", "fund_raw_transaction"), + Method::new_modelled("getrawtransaction", "GetRawTransaction", "get_raw_transaction"), Method::new_modelled("joinpsbts", "JoinPsbts", "join_psbts"), Method::new_modelled("sendrawtransaction", "SendRawTransaction", "send_raw_transaction"), - Method::new_nothing("signrawtransactionwithkey", "sign_raw_transaction_with_key"), + Method::new_modelled("signrawtransactionwithkey", "SignRawTransaction", "sign_raw_transaction_with_key"), Method::new_modelled("submitpackage", "SubmitPackage", "submit_package"), - Method::new_nothing("testmempoolaccept", "test_mempool_accept"), + Method::new_modelled("testmempoolaccept", "TestMempoolAccept", "test_mempool_accept"), Method::new_modelled("utxoupdatepsbt", "UtxoUpdatePsbt", "utxo_update_psbt"), Method::new_modelled("createmultisig", "CreateMultisig", "create_multisig"), Method::new_modelled("deriveaddresses", "DeriveAddresses", "derive_addresses"), - Method::new_nothing("estimatesmartfee", "estimate_smart_fee"), + Method::new_modelled("estimatesmartfee", "EstimateSmartFee", "estimate_smart_fee"), Method::new_no_model("getdescriptorinfo", "GetDescriptorInfo", "get_descriptor_info"), Method::new_no_model("getindexinfo", "GetIndexInfo", "get_index_info"), - Method::new_string("signmessagewithprivkey", "sign_message_with_priv_key"), + Method::new_modelled("signmessagewithprivkey", "SignMessageWithPrivKey", "sign_message_with_priv_key"), Method::new_modelled("validateaddress", "ValidateAddress", "validate_address"), Method::new_bool("verifymessage", "verify_message"), // signer diff --git a/verify/src/versioned.rs b/verify/src/versioned.rs index b7752b4e..28a8b13e 100644 --- a/verify/src/versioned.rs +++ b/verify/src/versioned.rs @@ -96,6 +96,47 @@ pub fn type_exists(version: Version, method_name: &str) -> Result { Ok(false) } +/// The value from the `Returns` column in the versioned rustdoc table. +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum ReturnsDoc { + /// The table says the method is implemented for this version and no model is required. + Version, + /// The table says the method is implemented for this version and a model is required. + VersionPlusModel, + /// Any other entry (omitted, TODO, returns nothing/numeric/bool/string, etc.). + Other(String), +} + +/// Parses the version-specific module rustdocs and returns a mapping to `ReturnsDoc`. +pub fn returns_map(version: Version) -> Result> { + use std::collections::BTreeMap; + + let path = path(version); + let file = File::open(&path) + .with_context(|| format!("Failed to grep rustdocs in {}", path.display()))?; + let reader = io::BufReader::new(file); + + let re = Regex::new(r"//! \| ([a-z]+) .* \| ([a-z +]+?) \|.*\|").unwrap(); + + let mut map: BTreeMap = BTreeMap::new(); + for line in reader.lines() { + let line = line?; + if let Some(caps) = re.captures(&line) { + let method_name = caps.get(1).unwrap().as_str(); + let returns_column = caps.get(2).unwrap().as_str().trim(); + + let entry = match returns_column { + "version" => ReturnsDoc::Version, + "version + model" => ReturnsDoc::VersionPlusModel, + other => ReturnsDoc::Other(other.to_string()), + }; + map.insert(method_name.to_string(), entry); + } + } + + Ok(map) +} + /// A list item from rustdocs (e.g. in in `types/src/v17/mod.rs`). #[derive(Debug, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] // TODO: This name is overloaded (`method::Method`).