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 WalletSync (WalletSyncRequest) returns (WalletSyncResponse);
rpc Sync (SyncRequest) returns (SyncResponse);
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);
rpc CreateEnum (CreateEnumRequest) returns (CreateEnumResponse);
rpc CreateNumeric (CreateNumericRequest) returns (CreateNumericResponse);
rpc SignAnnouncement (SignRequest) returns (SignResponse);
}
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 foreign_unconfirmed = 2;
uint64 change_unconfirmed = 3;
int64 contract_balance = 4;
}
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 {
string event_id = 1;
}
message OracleAnnouncementsResponse {
bytes announcement = 1;
}
message WalletSyncRequest {}
message WalletSyncResponse {}
message SyncRequest {}
message SyncResponse {}
message CreateEnumRequest {
uint32 maturity = 1;
repeated string outcomes = 2;
}
message CreateEnumResponse {
bytes announcement = 1;
}
message CreateNumericRequest {
uint32 maturity = 1;
uint32 nb_digits = 2;
}
message CreateNumericResponse {
bytes announcement = 1;
}
message SignRequest {
string event_id = 1;
oneof outcome {
string enum_outcome = 2;
int64 numeric_outcome = 3;
}
}
message SignResponse {
bytes signature = 1;
}