syntax = "proto3";
package message;
import "structs.proto";
import "parties.proto";
import "transact.proto";
// New Subscribe message type for subscription requests
message Subscribe {
optional bool is_ui = 1;
repeated structs.PublicKey public_keys = 2;
repeated structs.Address addresses = 3;
}
message PriceTimeV2 {
structs.ProductId product_id = 1;
structs.CurrencyAmount price = 2;
structs.CurrencyId quote_currency = 3;
int64 time = 4;
structs.PriceSource source = 5;
}
message Prices {
repeated PriceTimeV2 prices = 1;
}
message EventNotify {
oneof event {
transact.EnrichedTransaction transaction = 1;
structs.AddressInfo address_info = 2;
Prices price_time = 3;
}
}
message Request {
structs.GossipTransactionRequest gossip_transaction_request = 1;
structs.GossipObservationRequest gossip_observation_request = 2;
structs.ResolveHashRequest resolve_hash_request = 3;
structs.DownloadRequest download_request = 4;
structs.AboutNodeRequest about_node_request = 5;
structs.Proof proof = 7;
structs.NodeMetadata node_metadata = 8;
structs.GetPeersInfoRequest get_peers_info_request = 9;
structs.InitiateMultipartyKeygenRequest initiate_keygen = 10;
structs.InitiateMultipartySigningRequest initiate_signing = 17;
structs.SubmitTransactionRequest submit_transaction_request = 11;
structs.UtxoConflictResolveRequest utxo_conflict_resolve_request = 12;
structs.QueryObservationProofRequest query_observation_proof_request = 13;
structs.HashSearchRequest hash_search_request = 14;
optional string trace_id = 15;
optional bool trace = 16;
structs.MultipartyAuthenticationRequest multiparty_authentication_request = 18;
structs.HealthRequest health_request = 19;
structs.GetNodeTransactionRequest get_node_transaction_request = 20;
structs.GetContractStateMarkerRequest get_contract_state_marker_request = 21;
structs.Address resolve_code_request = 22;
structs.AbridgedNodeMetadata abridged_node_metadata = 23;
repeated structs.ObservationProof gossip_observation_proof = 24;
structs.UtxoId utxo_valid_request = 25;
structs.RecentDiscoveryTransactionsRequest recent_transactions_request = 26;
structs.Hash lookup_transaction_request = 27;
structs.RecentTransactionAndObservationRequest recent_transaction_and_observation_request = 28;
structs.GenesisRequest genesis_request = 29;
structs.FaucetRequest faucet_request = 30;
structs.GetPartiesInfoRequest get_parties_info_request = 31;
optional string origin = 32;
structs.BatchTransactionResolveRequest batch_transaction_resolve_request = 33;
structs.PublicKey get_address_info_public_key_request = 34;
structs.GetActivePartyKeyRequest get_active_party_key_request = 35;
structs.GetSeedsRequest get_seeds_request = 36;
structs.PublicKey get_public_key_balance_request = 37;
structs.KeepAliveRequest keep_alive_request = 38;
Response response = 39;
structs.PortOpenRequest port_open_request = 40;
structs.GuiInitRequest gui_init_request = 41;
structs.MultipartyCheckReadyRequest multiparty_check_ready_request = 42;
structs.GetSolanaAddress get_solana_address = 43;
structs.MoneroMultisigFormationRequest monero_multisig_formation_request = 44;
structs.MultisigRequest multisig_request = 45;
NotifyMultisigCreationRequest notify_multisig_creation_request = 46;
GetPartyMetadataRequest get_party_metadata_request = 47;
ExtendedNodeMetadataRequest extended_node_metadata_request = 48;
optional int64 request_client_timeout_millis = 49;
Subscribe subscribe = 50;
EventNotify event_notify = 51;
// MoneroMultisigTransferRequest monero_multisig_transfer_request = 50;
}
// message ExternalOutput {
// structs.CurrencyAmount currency_amount = 1;
// structs.Address destination = 2;
// }
// message MoneroMultisigTransferRequest {
// repeated ExternalOutput outputs = 1;
// }
message ExtendedNodeMetadataRequest {
}
message Response {
structs.ResponseMetadata response_metadata = 1;
// Pull in other response classes if needed.
structs.ResolveHashResponse resolve_hash_response = 2;
structs.DownloadResponse download_response = 3;
structs.AboutNodeResponse about_node_response = 4;
structs.GetPeersInfoResponse get_peers_info_response = 5;
structs.NodeMetadata node_metadata = 6;
structs.Proof proof = 7;
structs.InitiateMultipartyKeygenResponse initiate_keygen_response = 8;
structs.InitiateMultipartySigningResponse initiate_signing_response = 13;
structs.SubmitTransactionResponse submit_transaction_response = 9;
structs.UtxoConflictResolveResponse utxo_conflict_resolve_response = 10;
structs.QueryObservationProofResponse query_observation_proof_response = 11;
structs.HashSearchResponse hash_search_response = 12;
structs.HealthResponse health_response = 14;
structs.ContractStateMarker get_contract_state_marker_response = 15;
structs.ResolveCodeResponse resolve_code_response = 16;
structs.UtxoValidResponse utxo_valid_response = 17;
structs.RecentDiscoveryTransactionsResponse recent_discovery_transactions_response = 18;
structs.Transaction lookup_transaction_response = 19;
repeated structs.TransactionAndObservations recent_transaction_and_observation_response = 20;
structs.Transaction genesis_response = 21;
structs.FaucetResponse faucet_response = 22;
structs.GetPartiesInfoResponse get_parties_info_response = 23;
structs.BatchTransactionResolveResponse batch_transaction_resolve_response = 24;
structs.AddressInfo get_address_info_public_key_response = 25;
structs.PublicKey get_active_party_key_response = 26;
repeated structs.Seed get_seeds_response = 27;
structs.CurrencyAmount get_public_key_balance_response = 28;
structs.KeepAliveResponse keep_alive_response = 29;
structs.PortOpenResponse port_open_response = 30;
optional bool multiparty_check_ready_response = 31;
structs.Address get_solana_address_response = 32;
optional string monero_multisig_formation_response = 33;
structs.MultisigResponse multisig_response = 34;
GetPartyMetadataResponse get_party_metadata_response = 35;
ExtendedNodeMetadataResponse extended_node_metadata_response = 36;
}
message ExtendedNodeMetadataResponse {
repeated structs.Address addresses = 1;
}
message GetPartyMetadataRequest {
}
message GetPartyMetadataResponse {
parties.PartyMetadata party_metadata = 1;
}
message NotifyMultisigCreationRequest {
parties.PartyMetadata party_metadata = 1;
}