1+ syntax = "proto3" ;
2+
3+ package ark.v1 ;
4+
5+ import "google/api/annotations.proto" ;
6+ import "ark/v1/types.proto" ;
7+
8+ service AdminService {
9+ rpc GetScheduledSweep (GetScheduledSweepRequest ) returns (GetScheduledSweepResponse ) {
10+ option (google.api.http ) = {
11+ get : "/v1/admin/sweeps"
12+ };
13+ }
14+ rpc GetRoundDetails (GetRoundDetailsRequest ) returns (GetRoundDetailsResponse ) {
15+ option (google.api.http ) = {
16+ get : "/v1/admin/round/{round_id}"
17+ };
18+ }
19+ rpc GetRounds (GetRoundsRequest ) returns (GetRoundsResponse ) {
20+ option (google.api.http ) = {
21+ get : "/v1/admin/rounds"
22+ };
23+ }
24+ rpc CreateNote (CreateNoteRequest ) returns (CreateNoteResponse ) {
25+ option (google.api.http ) = {
26+ post : "/v1/admin/note"
27+ body : "*"
28+ };
29+ }
30+ rpc GetMarketHourConfig (GetMarketHourConfigRequest ) returns (GetMarketHourConfigResponse ) {
31+ option (google.api.http ) = {
32+ get : "/v1/admin/marketHour"
33+ };
34+ }
35+ rpc UpdateMarketHourConfig (UpdateMarketHourConfigRequest ) returns (UpdateMarketHourConfigResponse ) {
36+ option (google.api.http ) = {
37+ post : "/v1/admin/marketHour"
38+ body : "*"
39+ };
40+ }
41+ rpc ListIntents (ListIntentsRequest ) returns (ListIntentsResponse ) {
42+ option (google.api.http ) = {
43+ get : "/v1/admin/intents"
44+ };
45+ }
46+ rpc DeleteIntents (DeleteIntentsRequest ) returns (DeleteIntentsResponse ) {
47+ option (google.api.http ) = {
48+ post : "/v1/admin/intents/delete"
49+ body : "*"
50+ };
51+ }
52+ }
53+
54+ message GetScheduledSweepRequest {}
55+ message GetScheduledSweepResponse {
56+ repeated ScheduledSweep sweeps = 1 ;
57+ }
58+
59+ message GetRoundDetailsRequest {
60+ string round_id = 1 ;
61+ }
62+ message GetRoundDetailsResponse {
63+ string round_id = 1 ;
64+ int64 started_at = 2 ;
65+ int64 ended_at = 3 ;
66+ string commitment_txid = 4 ;
67+ string forfeited_amount = 5 ;
68+ string total_vtxos_amount = 6 ;
69+ string total_exit_amount = 7 ;
70+ string total_fee_amount = 8 ;
71+ repeated string inputs_vtxos = 9 ;
72+ repeated string outputs_vtxos = 10 ;
73+ repeated string exit_addresses = 11 ;
74+ }
75+
76+ message GetRoundsRequest {
77+ int64 after = 1 ;
78+ int64 before = 2 ;
79+ }
80+ message GetRoundsResponse {
81+ repeated string rounds = 1 ;
82+ }
83+
84+ message CreateNoteRequest {
85+ uint32 amount = 1 ;
86+ uint32 quantity = 2 ;
87+ }
88+ message CreateNoteResponse {
89+ repeated string notes = 1 ;
90+ }
91+
92+ message GetMarketHourConfigRequest {}
93+ message GetMarketHourConfigResponse {
94+ MarketHourConfig config = 1 ;
95+ }
96+
97+ message UpdateMarketHourConfigRequest {
98+ MarketHourConfig config = 1 ;
99+ }
100+ message UpdateMarketHourConfigResponse {}
101+
102+ message ListIntentsRequest {
103+ repeated string intent_ids = 1 ;
104+ }
105+ message ListIntentsResponse {
106+ repeated IntentInfo intents = 1 ;
107+ }
108+
109+ message DeleteIntentsRequest {
110+ repeated string intent_ids = 1 ;
111+ }
112+ message DeleteIntentsResponse {}
113+
114+ message SweepableOutput {
115+ string txid = 1 ;
116+ uint32 vout = 2 ;
117+ string amount = 3 ;
118+ int64 scheduled_at = 4 ;
119+ }
120+
121+ message ScheduledSweep {
122+ string round_id = 1 ;
123+ repeated SweepableOutput outputs = 2 ;
124+ }
125+
126+ message MarketHourConfig {
127+ int64 start_time = 1 ;
128+ int64 end_time = 2 ;
129+ int64 period = 3 ;
130+ int64 round_interval = 4 ;
131+ }
132+
133+ message IntentInput {
134+ string txid = 1 ;
135+ uint32 vout = 2 ;
136+ uint64 amount = 3 ;
137+ }
138+
139+ message IntentInfo {
140+ string id = 1 ;
141+ int64 created_at = 2 ;
142+ repeated Output receivers = 3 ;
143+ repeated IntentInput inputs = 4 ;
144+ repeated IntentInput boarding_inputs = 5 ;
145+ repeated string cosigners_public_keys = 6 ;
146+ Bip322Signature proof = 7 ;
147+ }
148+
149+ message Output {
150+ oneof destination {
151+ string vtxo_script = 1 ;
152+ string onchain_address = 2 ;
153+ }; // onchain or off-chain
154+ uint64 amount = 3 ; // Amount to send in satoshis.
155+ }
0 commit comments