@@ -35,6 +35,7 @@ public class AccountApiProvider extends BasicProvider implements IAccountApi {
35
35
private static final String ACT_TX_INTERNAL_ACTION = ACT_PREFIX + "txlistinternal" ;
36
36
private static final String ACT_TX_TOKEN_ACTION = ACT_PREFIX + "tokentx" ;
37
37
private static final String ACT_TX_NFT_TOKEN_ACTION = ACT_PREFIX + "tokennfttx" ;
38
+ private static final String ACT_TX_1155_TOKEN_ACTION = ACT_PREFIX + "token1155tx" ;
38
39
private static final String ACT_MINED_ACTION = ACT_PREFIX + "getminedblocks" ;
39
40
40
41
private static final String BLOCK_TYPE_PARAM = "&blocktype=blocks" ;
@@ -265,4 +266,70 @@ public List<Block> minedBlocks(final String address) throws ApiException {
265
266
266
267
return getRequestUsingOffset (urlParams , BlockResponseTO .class );
267
268
}
269
+
270
+ @ NotNull
271
+ @ Override
272
+ public List <TxErc20 > erc20Transfers (String address ) throws ApiException {
273
+ return erc20Transfers (address , MIN_START_BLOCK );
274
+ }
275
+
276
+ @ NotNull
277
+ @ Override
278
+ public List <TxErc20 > erc20Transfers (String address , long startBlock ) throws ApiException {
279
+ return erc20Transfers (address , startBlock , MAX_END_BLOCK );
280
+ }
281
+
282
+ @ NotNull
283
+ @ Override
284
+ public List <TxErc20 > erc20Transfers (String address , long startBlock , long endBlock ) throws ApiException {
285
+ return getTokenTransfers (address , startBlock , endBlock , ACT_TX_TOKEN_ACTION , TxErc20ResponseTO .class );
286
+ }
287
+
288
+ @ NotNull
289
+ @ Override
290
+ public List <TxErc721 > erc721Transfers (String address ) throws ApiException {
291
+ return erc721Transfers (address , MIN_START_BLOCK );
292
+ }
293
+
294
+ @ NotNull
295
+ @ Override
296
+ public List <TxErc721 > erc721Transfers (String address , long startBlock ) throws ApiException {
297
+ return erc721Transfers (address , startBlock , MAX_END_BLOCK );
298
+ }
299
+
300
+ @ NotNull
301
+ @ Override
302
+ public List <TxErc721 > erc721Transfers (String address , long startBlock , long endBlock ) throws ApiException {
303
+ return getTokenTransfers (address , startBlock , endBlock , ACT_TX_NFT_TOKEN_ACTION , TxErc721ResponseTO .class );
304
+ }
305
+
306
+ @ NotNull
307
+ @ Override
308
+ public List <TxErc1155 > erc1155Transfers (String address ) throws ApiException {
309
+ return erc1155Transfers (address , MIN_START_BLOCK );
310
+ }
311
+
312
+ @ NotNull
313
+ @ Override
314
+ public List <TxErc1155 > erc1155Transfers (String address , long startBlock ) throws ApiException {
315
+ return erc1155Transfers (address , startBlock , MAX_END_BLOCK );
316
+ }
317
+
318
+ @ NotNull
319
+ @ Override
320
+ public List <TxErc1155 > erc1155Transfers (String address , long startBlock , long endBlock ) throws ApiException {
321
+ return getTokenTransfers (address , startBlock , endBlock , ACT_TX_1155_TOKEN_ACTION , TxErc1155ResponseTO .class );
322
+ }
323
+
324
+ @ NotNull
325
+ private <T extends BaseTxToken , R extends BaseListResponseTO <T >> List <T > getTokenTransfers (String address , long startBlock , long endBlock , String tokenAction , Class <R > responseTOClass ) throws ApiException {
326
+ BasicUtils .validateAddress (address );
327
+ final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
328
+
329
+ final String offsetParam = PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX ;
330
+ final String blockParam = START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ();
331
+ final String urlParams = tokenAction + offsetParam + ADDRESS_PARAM + address + blockParam + SORT_ASC_PARAM ;
332
+
333
+ return getRequestUsingOffset (urlParams , responseTOClass );
334
+ }
268
335
}
0 commit comments