Closed dtfiedler closed 7 months ago
Adds support for pagination on the /interactions endpoints (wallets and contracts). There is another opportunity to use a read-through promise cache as noted in 2adbb89.
/interactions
Example requests (contracts): First page:
❯ curl localhost -s http://localhost:3000/v1/contract/bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U/interactions\?page\=1\&pageSize\=1 | jq '.' { "contractTxId": "bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U", "sortKey": "000001321463,0000000000000,1f18c85c9f62f291296710858878d39802abe09dd55771f804858ec359f972f5", "interactions": [ { "height": 1321463, "timestamp": 1702454667, "input": { "function": "tick" }, "owner": "JNC6vBhjHY1EPwV3pEeNmrsgFMxH5d38_LHsZ7jful8", "sortKey": "000001321463,0000000000000,1f18c85c9f62f291296710858878d39802abe09dd55771f804858ec359f972f5", "valid": true, "id": "EI5YhgfshC3TIBbuT2vKjdGa9KUh76NUmpDfR6tghcs" } ], "pages": { "page": 1, "pageSize": 1, "totalPages": 6972, "totalItems": 6972, "hasNextPage": true }, "evaluationOptions": { "maxInteractionEvaluationTimeSeconds": 3600 } }
Last page (at the time):
❯ curl localhost -s http://localhost:3000/v1/contract/bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U/interactions\?page\=6972\&pageSize\=1 | jq '.' { "contractTxId": "bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U", "sortKey": "000001321463,0000000000000,1f18c85c9f62f291296710858878d39802abe09dd55771f804858ec359f972f5", "interactions": [ { "height": 960086, "timestamp": 1655960383, "input": { "function": "addANTSourceCodeTx", "contractTransactionId": "JIIB01pRbNK2-UyNxwQK-6eknrjENMTpTvQmB8ZDzQg" }, "owner": "QGWqtJdLLgm2ehFWiiPzMaoFLD50CnGuzZIPEdoDRGQ", "sortKey": "000000960086,0000000000000,c92db52f533b5cdb77069018ddcde359f259fd46e037fe32d6f2f71e416e7b47", "valid": true, "id": "TCVdA6ArIpN1bZLkLx080apBmf0DKfNWL12-NKLuEyg" } ], "pages": { "page": 6972, "pageSize": 1, "totalPages": 6972, "totalItems": 6972, "hasNextPage": false }, "evaluationOptions": { "maxInteractionEvaluationTimeSeconds": 3600 } }
Example request (wallets):
❯ curl -s http://localhost:3000/v1/wallet/7waR8v4STuwPnTck1zFVkQqJh5K9q9Zik4Y5-5dV7nk/contract/bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U\?page\=1\&pageSize\=1 | jq '.' { "contractTxId": "bLAgYxAdX2Ry-nt6aH2ixgvJXbpsEYm28NgJgyqfs-U", "address": "7waR8v4STuwPnTck1zFVkQqJh5K9q9Zik4Y5-5dV7nk", "sortKey": "000001321447,0000000000000,bb55f93485dd313bf468efd8650eae13cef601ec7efa034f61be6b9420b2d085", "interactions": [ { "height": 1313735, "timestamp": 1701459390, "input": { "function": "buyRecord", "name": "lmfao", "contractTxId": "atomic", "type": "permabuy", "auction": true }, "owner": "7waR8v4STuwPnTck1zFVkQqJh5K9q9Zik4Y5-5dV7nk", "sortKey": "000001313735,0000000000000,8113762a7f66e07213d2aee7692e5d8fe7a4d6753222c4e8d9c30e172b91aa91", "valid": true, "id": "wgiMij9Ba69ws8lpNoN-UxbWeX8jzmWkytB1VVQNZUU" } ], "pages": { "page": 1, "pageSize": 1, "totalPages": 121, "totalItems": 121, "hasNextPage": true }, "evaluationOptions": { "maxInteractionEvaluationTimeSeconds": 3600 } }
This updated endpoint can/should be used by the arns-portal where appropriate - cc @atticusofsparta / @kunstmusik
Adds support for pagination on the
/interactions
endpoints (wallets and contracts). There is another opportunity to use a read-through promise cache as noted in 2adbb89.Example requests (contracts): First page:
Last page (at the time):
Example request (wallets):
This updated endpoint can/should be used by the arns-portal where appropriate - cc @atticusofsparta / @kunstmusik