aboutsummaryrefslogtreecommitdiff
path: root/src/wallet/wallet_rpc_server_commands_defs.h
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-11-27 20:09:04 +0000
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2017-12-17 16:12:09 +0000
commitcd64c7990ce1b6a9d88ff24e749fb906154c95dc (patch)
tree224d9ddd35d68bebe2c175c334ad9850cd13eeee /src/wallet/wallet_rpc_server_commands_defs.h
parentgen_multisig: generates multisig wallets if participants trust each other (diff)
downloadmonero-cd64c7990ce1b6a9d88ff24e749fb906154c95dc.tar.xz
multisig address generation RPC
Diffstat (limited to 'src/wallet/wallet_rpc_server_commands_defs.h')
-rw-r--r--src/wallet/wallet_rpc_server_commands_defs.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/src/wallet/wallet_rpc_server_commands_defs.h b/src/wallet/wallet_rpc_server_commands_defs.h
index cf35cc48d..806704d6e 100644
--- a/src/wallet/wallet_rpc_server_commands_defs.h
+++ b/src/wallet/wallet_rpc_server_commands_defs.h
@@ -1487,5 +1487,131 @@ namespace wallet_rpc
END_KV_SERIALIZE_MAP()
};
};
+
+ struct COMMAND_RPC_IS_MULTISIG
+ {
+ struct request
+ {
+ BEGIN_KV_SERIALIZE_MAP()
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct response
+ {
+ bool multisig;
+ uint32_t threshold;
+ uint32_t total;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(multisig)
+ KV_SERIALIZE(threshold)
+ KV_SERIALIZE(total)
+ END_KV_SERIALIZE_MAP()
+ };
+ };
+
+ struct COMMAND_RPC_PREPARE_MULTISIG
+ {
+ struct request
+ {
+ BEGIN_KV_SERIALIZE_MAP()
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct response
+ {
+ std::string multisig_info;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(multisig_info)
+ END_KV_SERIALIZE_MAP()
+ };
+ };
+
+ struct COMMAND_RPC_MAKE_MULTISIG
+ {
+ struct request
+ {
+ std::vector<std::string> multisig_info;
+ uint32_t threshold;
+ std::string password;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(multisig_info)
+ KV_SERIALIZE(threshold)
+ KV_SERIALIZE(password)
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct response
+ {
+ std::string address;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(address)
+ END_KV_SERIALIZE_MAP()
+ };
+ };
+
+ struct multisig_info_entry
+ {
+ std::string partial_key_image;
+ std::string L;
+ std::string R;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(partial_key_image)
+ KV_SERIALIZE(L)
+ KV_SERIALIZE(R)
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct COMMAND_RPC_EXPORT_MULTISIG
+ {
+ struct request
+ {
+ BEGIN_KV_SERIALIZE_MAP()
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct response
+ {
+ std::vector<multisig_info_entry> info;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(info)
+ END_KV_SERIALIZE_MAP()
+ };
+ };
+
+ struct COMMAND_RPC_IMPORT_MULTISIG
+ {
+ struct participant_entry
+ {
+ std::vector<multisig_info_entry> info;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(info)
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct request
+ {
+ std::vector<participant_entry> info;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(info)
+ END_KV_SERIALIZE_MAP()
+ };
+
+ struct response
+ {
+ uint64_t n_outputs;
+
+ BEGIN_KV_SERIALIZE_MAP()
+ KV_SERIALIZE(n_outputs)
+ END_KV_SERIALIZE_MAP()
+ };
+ };
}
}