syntax = "proto3";
package ddkrpc;
service DdkRpc {
rpc Info (InfoRequest) returns (InfoResponse);
rpc SendOffer (SendOfferRequest) returns (SendOfferResponse);
rpc AcceptOffer (AcceptOfferRequest) returns (AcceptOfferResponse);
rpc ListOffers (ListOffersRequest) returns (ListOffersResponse);
rpc NewAddress (NewAddressRequest) returns (NewAddressResponse);
rpc WalletBalance (WalletBalanceRequest) returns (WalletBalanceResponse);
rpc GetWalletTransactions (GetWalletTransactionsRequest) returns (GetWalletTransactionsResponse);
rpc ListUtxos (ListUtxosRequest) returns (ListUtxosResponse);
rpc ListPeers (ListPeersRequest) returns (ListPeersResponse);
rpc ConnectPeer (ConnectRequest) returns (ConnectResponse);
rpc ListOracles (ListOraclesRequest) returns (ListOraclesResponse);
rpc ListContracts (ListContractsRequest) returns (ListContractsResponse);
rpc Send (SendRequest) returns (SendResponse);
rpc OracleAnnouncements (OracleAnnouncementsRequest) returns (OracleAnnouncementsResponse);
}
message InfoRequest {}
message InfoResponse {
string pubkey = 1;
string transport = 2;
string oracle = 3;
}
message SendOfferRequest {
bytes contract_input = 1;
string counter_party = 2;
}
message SendOfferResponse {
bytes offer_dlc = 1;
}
message ListOffersRequest {}
message ListOffersResponse {
repeated bytes offers = 1;
}
message AcceptOfferRequest {
string contract_id = 1;
}
message AcceptOfferResponse {
string contract_id = 1;
string counter_party = 2;
bytes accept_dlc = 3;
}
message NewAddressRequest {}
message NewAddressResponse {
string address = 1;
}
message WalletBalanceRequest {}
message WalletBalanceResponse {
uint64 confirmed = 1;
uint64 unconfirmed = 2;
}
message GetWalletTransactionsRequest {}
message GetWalletTransactionsResponse {
repeated bytes transactions = 1;
}
message ListUtxosRequest {}
message ListUtxosResponse {
repeated bytes utxos = 1;
}
message ListPeersRequest {}
message ListPeersResponse {
repeated Peer peers = 1;
}
message Peer {
string pubkey = 1;
string host = 2;
}
message ConnectRequest {
string pubkey = 1;
string host = 2;
}
message ConnectResponse {}
message ListOraclesRequest {}
message ListOraclesResponse {
string name = 1;
string pubkey = 2;
}
message ListContractsRequest {}
message ListContractsResponse {
repeated bytes contracts = 1;
}
message SendRequest {
string address = 1;
uint64 amount = 2;
uint64 fee_rate = 3;
}
message SendResponse {
string txid = 1;
}
message OracleAnnouncementsRequest {}
message OracleAnnouncementsResponse {
repeated bytes announcements = 1;
}