Skip to content

Commit e8d0b45

Browse files
committed
add offset mode to transactions endpoint
1 parent 909249f commit e8d0b45

11 files changed

Lines changed: 111 additions & 129 deletions

File tree

api-server/api-server-common/src/storage/impls/in_memory/mod.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -196,10 +196,10 @@ impl ApiServerInMemoryStorage {
196196
}))
197197
}
198198

199-
fn get_transactions_with_block(
199+
fn get_transactions_with_block_info(
200200
&self,
201201
len: u32,
202-
offset: u32,
202+
offset: u64,
203203
) -> Result<Vec<TransactionWithBlockInfo>, ApiServerStorageError> {
204204
Ok(self
205205
.main_chain_blocks_table
@@ -416,7 +416,7 @@ impl ApiServerInMemoryStorage {
416416
fn get_orders_by_height(
417417
&self,
418418
len: u32,
419-
offset: u32,
419+
offset: u64,
420420
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
421421
let len = len as usize;
422422
let offset = offset as usize;
@@ -449,7 +449,7 @@ impl ApiServerInMemoryStorage {
449449
&self,
450450
pair: (CoinOrTokenId, CoinOrTokenId),
451451
len: u32,
452-
offset: u32,
452+
offset: u64,
453453
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
454454
let len = len as usize;
455455
let offset = offset as usize;
@@ -483,7 +483,7 @@ impl ApiServerInMemoryStorage {
483483
fn get_latest_pool_ids(
484484
&self,
485485
len: u32,
486-
offset: u32,
486+
offset: u64,
487487
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
488488
let len = len as usize;
489489
let offset = offset as usize;
@@ -514,7 +514,7 @@ impl ApiServerInMemoryStorage {
514514
fn get_pool_data_with_largest_staker_balance(
515515
&self,
516516
len: u32,
517-
offset: u32,
517+
offset: u64,
518518
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
519519
let len = len as usize;
520520
let offset = offset as usize;
@@ -707,7 +707,7 @@ impl ApiServerInMemoryStorage {
707707
.or_else(|| self.nft_token_issuances.get(&token_id).map(|_| 0)))
708708
}
709709

710-
fn get_token_ids(&self, len: u32, offset: u32) -> Result<Vec<TokenId>, ApiServerStorageError> {
710+
fn get_token_ids(&self, len: u32, offset: u64) -> Result<Vec<TokenId>, ApiServerStorageError> {
711711
Ok(self
712712
.fungible_token_data
713713
.keys()
@@ -721,7 +721,7 @@ impl ApiServerInMemoryStorage {
721721
fn get_token_ids_by_ticker(
722722
&self,
723723
len: u32,
724-
offset: u32,
724+
offset: u64,
725725
ticker: &[u8],
726726
) -> Result<Vec<TokenId>, ApiServerStorageError> {
727727
Ok(self

api-server/api-server-common/src/storage/impls/in_memory/transactional/read.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRo<'_> {
8989
self.transaction.get_transaction_with_block(transaction_id)
9090
}
9191

92-
async fn get_transactions_with_block(
92+
async fn get_transactions_with_block_info(
9393
&self,
9494
len: u32,
95-
offset: u32,
95+
offset: u64,
9696
) -> Result<Vec<TransactionWithBlockInfo>, ApiServerStorageError> {
97-
self.transaction.get_transactions_with_block(len, offset)
97+
self.transaction.get_transactions_with_block_info(len, offset)
9898
}
9999

100-
async fn get_transactions_with_block_before_tx_global_index(
100+
async fn get_transactions_with_block_info_before_tx_global_index(
101101
&self,
102102
len: u32,
103103
tx_global_index: u64,
@@ -137,15 +137,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRo<'_> {
137137
async fn get_latest_pool_data(
138138
&self,
139139
len: u32,
140-
offset: u32,
140+
offset: u64,
141141
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
142142
self.transaction.get_latest_pool_ids(len, offset)
143143
}
144144

145145
async fn get_pool_data_with_largest_staker_balance(
146146
&self,
147147
len: u32,
148-
offset: u32,
148+
offset: u64,
149149
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
150150
self.transaction.get_pool_data_with_largest_staker_balance(len, offset)
151151
}
@@ -259,15 +259,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRo<'_> {
259259
async fn get_token_ids(
260260
&self,
261261
len: u32,
262-
offset: u32,
262+
offset: u64,
263263
) -> Result<Vec<TokenId>, ApiServerStorageError> {
264264
self.transaction.get_token_ids(len, offset)
265265
}
266266

267267
async fn get_token_ids_by_ticker(
268268
&self,
269269
len: u32,
270-
offset: u32,
270+
offset: u64,
271271
ticker: &[u8],
272272
) -> Result<Vec<TokenId>, ApiServerStorageError> {
273273
self.transaction.get_token_ids_by_ticker(len, offset, ticker)
@@ -295,7 +295,7 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRo<'_> {
295295
async fn get_all_orders(
296296
&self,
297297
len: u32,
298-
offset: u32,
298+
offset: u64,
299299
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
300300
self.transaction.get_orders_by_height(len, offset)
301301
}
@@ -304,7 +304,7 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRo<'_> {
304304
&self,
305305
pair: (CoinOrTokenId, CoinOrTokenId),
306306
len: u32,
307-
offset: u32,
307+
offset: u64,
308308
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
309309
self.transaction.get_orders_for_trading_pair(pair, len, offset)
310310
}

api-server/api-server-common/src/storage/impls/in_memory/transactional/write.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -398,15 +398,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRw<'_> {
398398
self.transaction.get_transaction_with_block(transaction_id)
399399
}
400400

401-
async fn get_transactions_with_block(
401+
async fn get_transactions_with_block_info(
402402
&self,
403403
len: u32,
404-
offset: u32,
404+
offset: u64,
405405
) -> Result<Vec<TransactionWithBlockInfo>, ApiServerStorageError> {
406-
self.transaction.get_transactions_with_block(len, offset)
406+
self.transaction.get_transactions_with_block_info(len, offset)
407407
}
408408

409-
async fn get_transactions_with_block_before_tx_global_index(
409+
async fn get_transactions_with_block_info_before_tx_global_index(
410410
&self,
411411
len: u32,
412412
tx_global_index: u64,
@@ -431,15 +431,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRw<'_> {
431431
async fn get_latest_pool_data(
432432
&self,
433433
len: u32,
434-
offset: u32,
434+
offset: u64,
435435
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
436436
self.transaction.get_latest_pool_ids(len, offset)
437437
}
438438

439439
async fn get_pool_data_with_largest_staker_balance(
440440
&self,
441441
len: u32,
442-
offset: u32,
442+
offset: u64,
443443
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
444444
self.transaction.get_pool_data_with_largest_staker_balance(len, offset)
445445
}
@@ -518,15 +518,15 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRw<'_> {
518518
async fn get_token_ids(
519519
&self,
520520
len: u32,
521-
offset: u32,
521+
offset: u64,
522522
) -> Result<Vec<TokenId>, ApiServerStorageError> {
523523
self.transaction.get_token_ids(len, offset)
524524
}
525525

526526
async fn get_token_ids_by_ticker(
527527
&self,
528528
len: u32,
529-
offset: u32,
529+
offset: u64,
530530
ticker: &[u8],
531531
) -> Result<Vec<TokenId>, ApiServerStorageError> {
532532
self.transaction.get_token_ids_by_ticker(len, offset, ticker)
@@ -554,7 +554,7 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRw<'_> {
554554
async fn get_all_orders(
555555
&self,
556556
len: u32,
557-
offset: u32,
557+
offset: u64,
558558
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
559559
self.transaction.get_orders_by_height(len, offset)
560560
}
@@ -563,7 +563,7 @@ impl ApiServerStorageRead for ApiServerInMemoryStorageTransactionalRw<'_> {
563563
&self,
564564
pair: (CoinOrTokenId, CoinOrTokenId),
565565
len: u32,
566-
offset: u32,
566+
offset: u64,
567567
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
568568
self.transaction.get_orders_for_trading_pair(pair, len, offset)
569569
}

api-server/api-server-common/src/storage/impls/postgres/queries.rs

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,7 +1568,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
15681568
pub async fn get_latest_pool_data(
15691569
&self,
15701570
len: u32,
1571-
offset: u32,
1571+
offset: u64,
15721572
chain_config: &ChainConfig,
15731573
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
15741574
let len = len as i64;
@@ -1612,7 +1612,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
16121612
pub async fn get_pool_data_with_largest_staker_balance(
16131613
&self,
16141614
len: u32,
1615-
offset: u32,
1615+
offset: u64,
16161616
chain_config: &ChainConfig,
16171617
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
16181618
let len = len as i64;
@@ -1784,7 +1784,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
17841784
pub async fn get_transactions_with_block(
17851785
&self,
17861786
len: u32,
1787-
offset: u32,
1787+
offset: u64,
17881788
) -> Result<Vec<TransactionWithBlockInfo>, ApiServerStorageError> {
17891789
let len = len as i64;
17901790
let offset = offset as i64;
@@ -1797,13 +1797,10 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
17971797
b.aux_data,
17981798
t.global_tx_index
17991799
FROM
1800-
ml.blocks mb
1801-
INNER JOIN
1802-
ml.transactions t ON t.owning_block_id = mb.block_id
1800+
ml.transactions t
18031801
INNER JOIN
18041802
ml.block_aux_data b ON t.owning_block_id = b.block_id
1805-
WHERE mb.block_height IS NOT NULL
1806-
ORDER BY mb.block_height DESC
1803+
ORDER BY t.global_tx_index DESC
18071804
OFFSET $1
18081805
LIMIT $2;
18091806
"#,
@@ -2348,7 +2345,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
23482345
pub async fn get_token_ids(
23492346
&self,
23502347
len: u32,
2351-
offset: u32,
2348+
offset: u64,
23522349
) -> Result<Vec<TokenId>, ApiServerStorageError> {
23532350
let len = len as i64;
23542351
let offset = offset as i64;
@@ -2390,7 +2387,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
23902387
pub async fn get_token_ids_by_ticker(
23912388
&self,
23922389
len: u32,
2393-
offset: u32,
2390+
offset: u64,
23942391
ticker: &[u8],
23952392
) -> Result<Vec<TokenId>, ApiServerStorageError> {
23962393
let len = len as i64;
@@ -2814,7 +2811,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
28142811
pub async fn get_orders_by_height(
28152812
&self,
28162813
len: u32,
2817-
offset: u32,
2814+
offset: u64,
28182815
chain_config: &ChainConfig,
28192816
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
28202817
let len = len as i64;
@@ -2847,7 +2844,7 @@ impl<'a, 'b> QueryFromConnection<'a, 'b> {
28472844
&self,
28482845
pair: (CoinOrTokenId, CoinOrTokenId),
28492846
len: u32,
2850-
offset: u32,
2847+
offset: u64,
28512848
chain_config: &ChainConfig,
28522849
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
28532850
let len = len as i64;

api-server/api-server-common/src/storage/impls/postgres/transactional/read.rs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -194,18 +194,18 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
194194
Ok(res)
195195
}
196196

197-
async fn get_transactions_with_block(
197+
async fn get_transactions_with_block_info(
198198
&self,
199199
len: u32,
200-
offset: u32,
200+
offset: u64,
201201
) -> Result<Vec<TransactionWithBlockInfo>, ApiServerStorageError> {
202202
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
203203
let res = conn.get_transactions_with_block(len, offset).await?;
204204

205205
Ok(res)
206206
}
207207

208-
async fn get_transactions_with_block_before_tx_global_index(
208+
async fn get_transactions_with_block_info_before_tx_global_index(
209209
&self,
210210
len: u32,
211211
order_number: u64,
@@ -241,7 +241,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
241241
async fn get_latest_pool_data(
242242
&self,
243243
len: u32,
244-
offset: u32,
244+
offset: u64,
245245
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
246246
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
247247
let res = conn.get_latest_pool_data(len, offset, &self.chain_config).await?;
@@ -252,7 +252,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
252252
async fn get_pool_data_with_largest_staker_balance(
253253
&self,
254254
len: u32,
255-
offset: u32,
255+
offset: u64,
256256
) -> Result<Vec<(PoolId, PoolDataWithExtraInfo)>, ApiServerStorageError> {
257257
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
258258
let res = conn
@@ -366,7 +366,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
366366
async fn get_token_ids(
367367
&self,
368368
len: u32,
369-
offset: u32,
369+
offset: u64,
370370
) -> Result<Vec<TokenId>, ApiServerStorageError> {
371371
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
372372
let res = conn.get_token_ids(len, offset).await?;
@@ -377,7 +377,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
377377
async fn get_token_ids_by_ticker(
378378
&self,
379379
len: u32,
380-
offset: u32,
380+
offset: u64,
381381
ticker: &[u8],
382382
) -> Result<Vec<TokenId>, ApiServerStorageError> {
383383
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
@@ -417,7 +417,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
417417
async fn get_all_orders(
418418
&self,
419419
len: u32,
420-
offset: u32,
420+
offset: u64,
421421
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
422422
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
423423
let res = conn.get_orders_by_height(len, offset, &self.chain_config).await?;
@@ -429,7 +429,7 @@ impl ApiServerStorageRead for ApiServerPostgresTransactionalRo<'_> {
429429
&self,
430430
pair: (CoinOrTokenId, CoinOrTokenId),
431431
len: u32,
432-
offset: u32,
432+
offset: u64,
433433
) -> Result<Vec<(OrderId, Order)>, ApiServerStorageError> {
434434
let conn = QueryFromConnection::new(self.connection.as_ref().expect(CONN_ERR));
435435
let res = conn.get_orders_for_trading_pair(pair, len, offset, &self.chain_config).await?;

0 commit comments

Comments
 (0)