Skip to content

Commit 85b3098

Browse files
committed
Add info to chained tx & Fix rest endpoint conflict
1 parent ae9e3d3 commit 85b3098

File tree

4 files changed

+488
-305
lines changed

4 files changed

+488
-305
lines changed

api-spec/openapi/swagger/ark/v1/indexer.swagger.json

Lines changed: 52 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -287,14 +287,14 @@
287287
]
288288
}
289289
},
290-
"/v1/virtualTx/{txids}": {
290+
"/v1/spendableVtxos/{address}": {
291291
"get": {
292-
"operationId": "IndexerService_GetVirtualTxs",
292+
"operationId": "IndexerService_GetSpendableVtxos",
293293
"responses": {
294294
"200": {
295295
"description": "A successful response.",
296296
"schema": {
297-
"$ref": "#/definitions/v1GetVirtualTxsResponse"
297+
"$ref": "#/definitions/v1GetSpendableVtxosResponse"
298298
}
299299
},
300300
"default": {
@@ -306,15 +306,10 @@
306306
},
307307
"parameters": [
308308
{
309-
"name": "txids",
309+
"name": "address",
310310
"in": "path",
311311
"required": true,
312-
"type": "array",
313-
"items": {
314-
"type": "string"
315-
},
316-
"collectionFormat": "csv",
317-
"minItems": 1
312+
"type": "string"
318313
},
319314
{
320315
"name": "page.size",
@@ -336,14 +331,14 @@
336331
]
337332
}
338333
},
339-
"/v1/vtxo/{outpoint.txid}/{outpoint.vout}/chain": {
334+
"/v1/virtualTx/{txids}": {
340335
"get": {
341-
"operationId": "IndexerService_GetVtxoChain",
336+
"operationId": "IndexerService_GetVirtualTxs",
342337
"responses": {
343338
"200": {
344339
"description": "A successful response.",
345340
"schema": {
346-
"$ref": "#/definitions/v1GetVtxoChainResponse"
341+
"$ref": "#/definitions/v1GetVirtualTxsResponse"
347342
}
348343
},
349344
"default": {
@@ -355,17 +350,15 @@
355350
},
356351
"parameters": [
357352
{
358-
"name": "outpoint.txid",
359-
"in": "path",
360-
"required": true,
361-
"type": "string"
362-
},
363-
{
364-
"name": "outpoint.vout",
353+
"name": "txids",
365354
"in": "path",
366355
"required": true,
367-
"type": "integer",
368-
"format": "int64"
356+
"type": "array",
357+
"items": {
358+
"type": "string"
359+
},
360+
"collectionFormat": "csv",
361+
"minItems": 1
369362
},
370363
{
371364
"name": "page.size",
@@ -387,14 +380,14 @@
387380
]
388381
}
389382
},
390-
"/v1/vtxos/{address}": {
383+
"/v1/vtxo/{outpoint.txid}/{outpoint.vout}/chain": {
391384
"get": {
392-
"operationId": "IndexerService_GetSpendableVtxos",
385+
"operationId": "IndexerService_GetVtxoChain",
393386
"responses": {
394387
"200": {
395388
"description": "A successful response.",
396389
"schema": {
397-
"$ref": "#/definitions/v1GetSpendableVtxosResponse"
390+
"$ref": "#/definitions/v1GetVtxoChainResponse"
398391
}
399392
},
400393
"default": {
@@ -406,11 +399,18 @@
406399
},
407400
"parameters": [
408401
{
409-
"name": "address",
402+
"name": "outpoint.txid",
410403
"in": "path",
411404
"required": true,
412405
"type": "string"
413406
},
407+
{
408+
"name": "outpoint.vout",
409+
"in": "path",
410+
"required": true,
411+
"type": "integer",
412+
"format": "int64"
413+
},
414414
{
415415
"name": "page.size",
416416
"in": "query",
@@ -621,6 +621,26 @@
621621
}
622622
}
623623
},
624+
"v1IndexerChain": {
625+
"type": "object",
626+
"properties": {
627+
"txid": {
628+
"type": "string"
629+
},
630+
"type": {
631+
"$ref": "#/definitions/v1IndexerChainedTxType"
632+
}
633+
}
634+
},
635+
"v1IndexerChainedTxType": {
636+
"type": "string",
637+
"enum": [
638+
"INDEXER_CHAINED_TX_TYPE_UNSPECIFIED",
639+
"INDEXER_CHAINED_TX_TYPE_VIRTUAL",
640+
"INDEXER_CHAINED_TX_TYPE_COMMITMENT"
641+
],
642+
"default": "INDEXER_CHAINED_TX_TYPE_UNSPECIFIED"
643+
},
624644
"v1IndexerNode": {
625645
"type": "object",
626646
"properties": {
@@ -688,8 +708,13 @@
688708
"txs": {
689709
"type": "array",
690710
"items": {
691-
"type": "string"
711+
"type": "object",
712+
"$ref": "#/definitions/v1IndexerChain"
692713
}
714+
},
715+
"expiresAt": {
716+
"type": "string",
717+
"format": "int64"
693718
}
694719
}
695720
},

api-spec/protobuf/ark/v1/indexer.proto

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ service IndexerService {
2727
};
2828
rpc GetSpendableVtxos(GetSpendableVtxosRequest) returns (GetSpendableVtxosResponse) {
2929
option (google.api.http) = {
30-
get: "/v1/vtxos/{address}"
30+
get: "/v1/spendableVtxos/{address}"
3131
};
3232
};
3333
rpc GetTransactionHistory(GetTransactionHistoryRequest) returns (GetTransactionHistoryResponse) {
@@ -143,10 +143,10 @@ message SubscribeForAddressesResponse {
143143
}
144144

145145
message IndexerTransactions {
146-
repeated string txs = 1;
146+
repeated IndexerChain txs = 1;
147+
int64 expires_at = 2;
147148
}
148149

149-
150150
message IndexerBatch {
151151
uint64 total_batch_amount = 1;
152152
uint64 total_forfeit_amount = 2;
@@ -180,6 +180,11 @@ message IndexerVtxo {
180180
string spent_by = 9;
181181
}
182182

183+
message IndexerChain {
184+
string txid = 1;
185+
IndexerChainedTxType type = 2;
186+
}
187+
183188
message IndexerTxHistoryRecord {
184189
oneof key {
185190
string boarding_txid = 1;
@@ -201,6 +206,12 @@ enum IndexerTxType {
201206
INDEXER_TX_TYPE_SWEEP = 3;
202207
}
203208

209+
enum IndexerChainedTxType {
210+
INDEXER_CHAINED_TX_TYPE_UNSPECIFIED = 0;
211+
INDEXER_CHAINED_TX_TYPE_VIRTUAL = 1;
212+
INDEXER_CHAINED_TX_TYPE_COMMITMENT = 2;
213+
}
214+
204215
message IndexerPageRequest {
205216
int32 size = 1;
206217
int32 index = 2;

0 commit comments

Comments
 (0)