@@ -30,8 +30,9 @@ final class AccountAPIProvider extends BasicProvider implements AccountAPI {
3030 private static final String ACT_BALANCE_MULTI_ACTION = ACT_PREFIX + "balancemulti" ;
3131 private static final String ACT_TX_ACTION = ACT_PREFIX + "txlist" ;
3232 private static final String ACT_TX_INTERNAL_ACTION = ACT_PREFIX + "txlistinternal" ;
33- private static final String ACT_TX_TOKEN_ACTION = ACT_PREFIX + "tokentx" ;
34- private static final String ACT_TX_NFT_TOKEN_ACTION = ACT_PREFIX + "tokennfttx" ;
33+ private static final String ACT_TX_ERC20_ACTION = ACT_PREFIX + "tokentx" ;
34+ private static final String ACT_TX_ERC721_ACTION = ACT_PREFIX + "tokennfttx" ;
35+ private static final String ACT_TX_ERC1155_ACTION = ACT_PREFIX + "token1155tx" ;
3536 private static final String ACT_MINED_ACTION = ACT_PREFIX + "getminedblocks" ;
3637
3738 private static final String BLOCK_TYPE_PARAM = "&blocktype=blocks" ;
@@ -145,8 +146,7 @@ public List<Tx> txs(String address, long startBlock, long endBlock) throws Ether
145146 * @param <R> responseListTO type
146147 * @return List of T values
147148 */
148- private <T , R extends BaseListResponseTO > List <T > getRequestUsingOffset (final String urlParams ,
149- Class <R > tClass )
149+ private <T , R extends BaseListResponseTO <T >> List <T > getRequestUsingOffset (final String urlParams , Class <R > tClass )
150150 throws EtherScanException {
151151 final List <T > result = new ArrayList <>();
152152 int page = 1 ;
@@ -208,81 +208,153 @@ public List<TxInternal> txsInternalByHash(String txhash) throws EtherScanExcepti
208208
209209 @ NotNull
210210 @ Override
211- public List <TxERC20 > txsERC20 (String address ) throws EtherScanException {
212- return txsERC20 (address , MIN_START_BLOCK );
211+ public List <TxErc20 > txsErc20 (String address ) throws EtherScanException {
212+ return txsErc20 (address , MIN_START_BLOCK );
213213 }
214214
215215 @ NotNull
216216 @ Override
217- public List <TxERC20 > txsERC20 (String address , long startBlock ) throws EtherScanException {
218- return txsERC20 (address , startBlock , MAX_END_BLOCK );
217+ public List <TxErc20 > txsErc20 (String address , long startBlock ) throws EtherScanException {
218+ return txsErc20 (address , startBlock , MAX_END_BLOCK );
219219 }
220220
221221 @ NotNull
222222 @ Override
223- public List <TxERC20 > txsERC20 (String address , long startBlock , long endBlock ) throws EtherScanException {
223+ public List <TxErc20 > txsErc20 (String address , long startBlock , long endBlock ) throws EtherScanException {
224224 BasicUtils .validateAddress (address );
225225 final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
226226
227- final String urlParams = ACT_TX_TOKEN_ACTION + PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX
227+ final String urlParams = ACT_TX_ERC20_ACTION + PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX
228228 + ADDRESS_PARAM + address
229229 + START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ()
230230 + SORT_ASC_PARAM ;
231231
232- return getRequestUsingOffset (urlParams , TxERC20ResponseTO .class );
232+ return getRequestUsingOffset (urlParams , TxErc20ResponseTO .class );
233233 }
234234
235235 @ NotNull
236236 @ Override
237- public List <TxERC20 > txsERC20 (String address , String contractAddress ) throws EtherScanException {
238- return txsERC20 (address , contractAddress , MIN_START_BLOCK );
237+ public List <TxErc20 > txsErc20 (String address , String contractAddress ) throws EtherScanException {
238+ return txsErc20 (address , contractAddress , MIN_START_BLOCK );
239239 }
240240
241241 @ NotNull
242242 @ Override
243- public List <TxERC20 > txsERC20 (String address , String contractAddress , long startBlock ) throws EtherScanException {
244- return txsERC20 (address , contractAddress , startBlock , MAX_END_BLOCK );
243+ public List <TxErc20 > txsErc20 (String address , String contractAddress , long startBlock ) throws EtherScanException {
244+ return txsErc20 (address , contractAddress , startBlock , MAX_END_BLOCK );
245245 }
246246
247247 @ NotNull
248248 @ Override
249- public List <TxERC20 > txsERC20 (String address , String contractAddress , long startBlock , long endBlock )
249+ public List <TxErc20 > txsErc20 (String address , String contractAddress , long startBlock , long endBlock )
250250 throws EtherScanException {
251251 BasicUtils .validateAddress (address );
252252 final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
253253
254254 final String offsetParam = PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX ;
255255 final String blockParam = START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ();
256- final String urlParams = ACT_TX_TOKEN_ACTION + offsetParam + ADDRESS_PARAM + address
256+ final String urlParams = ACT_TX_ERC20_ACTION + offsetParam + ADDRESS_PARAM + address
257257 + CONTRACT_PARAM + contractAddress + blockParam + SORT_ASC_PARAM ;
258258
259- return getRequestUsingOffset (urlParams , TxERC20ResponseTO .class );
259+ return getRequestUsingOffset (urlParams , TxErc20ResponseTO .class );
260260 }
261261
262262 @ NotNull
263263 @ Override
264- public List <TxERC721 > txsERC721 (String address ) throws EtherScanException {
265- return txsERC721 (address , MIN_START_BLOCK );
264+ public List <TxErc721 > txsErc721 (String address ) throws EtherScanException {
265+ return txsErc721 (address , MIN_START_BLOCK );
266266 }
267267
268268 @ NotNull
269269 @ Override
270- public List <TxERC721 > txsERC721 (String address , long startBlock ) throws EtherScanException {
271- return txsERC721 (address , startBlock , MAX_END_BLOCK );
270+ public List <TxErc721 > txsErc721 (String address , long startBlock ) throws EtherScanException {
271+ return txsErc721 (address , startBlock , MAX_END_BLOCK );
272272 }
273273
274274 @ NotNull
275275 @ Override
276- public List <TxERC721 > txsERC721 (String address , long startBlock , long endBlock ) throws EtherScanException {
276+ public List <TxErc721 > txsErc721 (String address , long startBlock , long endBlock ) throws EtherScanException {
277277 BasicUtils .validateAddress (address );
278278 final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
279279
280- final String urlParams = ACT_TX_NFT_TOKEN_ACTION + PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX
280+ final String urlParams = ACT_TX_ERC721_ACTION + PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX
281281 + ADDRESS_PARAM + address
282282 + START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ()
283283 + SORT_ASC_PARAM ;
284284
285- return getRequestUsingOffset (urlParams , TxERC20ResponseTO .class );
285+ return getRequestUsingOffset (urlParams , TxErc721ResponseTO .class );
286+ }
287+
288+ @ Override
289+ public @ NotNull List <TxErc721 > txsErc721 (String address , String contractAddress , long startBlock , long endBlock )
290+ throws EtherScanException {
291+ BasicUtils .validateAddress (address );
292+ final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
293+
294+ final String offsetParam = PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX ;
295+ final String blockParam = START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ();
296+ final String urlParams = ACT_TX_ERC721_ACTION + offsetParam + ADDRESS_PARAM + address
297+ + CONTRACT_PARAM + contractAddress + blockParam + SORT_ASC_PARAM ;
298+
299+ return getRequestUsingOffset (urlParams , TxErc721ResponseTO .class );
300+ }
301+
302+ @ Override
303+ public @ NotNull List <TxErc721 > txsErc721 (String address , String contractAddress , long startBlock ) throws EtherScanException {
304+ return txsErc721 (address , contractAddress , startBlock , MAX_END_BLOCK );
305+ }
306+
307+ @ Override
308+ public @ NotNull List <TxErc721 > txsErc721 (String address , String contractAddress ) throws EtherScanException {
309+ return txsErc721 (address , contractAddress , MIN_START_BLOCK );
310+ }
311+
312+ @ Override
313+ public @ NotNull List <TxErc1155 > txsErc1155 (String address , long startBlock , long endBlock ) throws EtherScanException {
314+ BasicUtils .validateAddress (address );
315+ final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
316+
317+ final String urlParams = ACT_TX_ERC1155_ACTION + PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX
318+ + ADDRESS_PARAM + address
319+ + START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ()
320+ + SORT_ASC_PARAM ;
321+
322+ return getRequestUsingOffset (urlParams , TxErc1155ResponseTO .class );
323+ }
324+
325+ @ Override
326+ public @ NotNull List <TxErc1155 > txsErc1155 (String address , long startBlock ) throws EtherScanException {
327+ return txsErc1155 (address , startBlock , MAX_END_BLOCK );
328+ }
329+
330+ @ Override
331+ public @ NotNull List <TxErc1155 > txsErc1155 (String address ) throws EtherScanException {
332+ return txsErc1155 (address , MIN_START_BLOCK );
333+ }
334+
335+ @ Override
336+ public @ NotNull List <TxErc1155 > txsErc1155 (String address , String contractAddress , long startBlock , long endBlock )
337+ throws EtherScanException {
338+ BasicUtils .validateAddress (address );
339+ final BlockParam blocks = BasicUtils .compensateBlocks (startBlock , endBlock );
340+
341+ final String offsetParam = PAGE_PARAM + "%s" + OFFSET_PARAM + OFFSET_MAX ;
342+ final String blockParam = START_BLOCK_PARAM + blocks .start () + END_BLOCK_PARAM + blocks .end ();
343+ final String urlParams = ACT_TX_ERC1155_ACTION + offsetParam + ADDRESS_PARAM + address
344+ + CONTRACT_PARAM + contractAddress + blockParam + SORT_ASC_PARAM ;
345+
346+ return getRequestUsingOffset (urlParams , TxErc1155ResponseTO .class );
347+ }
348+
349+ @ Override
350+ public @ NotNull List <TxErc1155 > txsErc1155 (String address , String contractAddress , long startBlock )
351+ throws EtherScanException {
352+ return txsErc1155 (address , contractAddress , startBlock , MAX_END_BLOCK );
353+ }
354+
355+ @ Override
356+ public @ NotNull List <TxErc1155 > txsErc1155 (String address , String contractAddress ) throws EtherScanException {
357+ return txsErc1155 (address , contractAddress , MIN_START_BLOCK );
286358 }
287359
288360 @ NotNull
0 commit comments