diff --git a/README.md b/README.md index 04ff89f..482f276 100644 --- a/README.md +++ b/README.md @@ -295,6 +295,12 @@ Retrieves deposits, transfers, transactions, withdrawals in parallel: All returned data is sorted in descending chronological order (newest first). +**Note on Batch Size Limits:** + +When fetching transaction history, the SDK internally uses pagination with a maximum batch size limit of **64 items per request**. The SDK automatically handles pagination to retrieve all available records, so you don't need to worry about this limit when using the high-level APIs like `fetchDeposits()`, `fetchTransfers()`, or `fetchTransactions()`. + +Specifying a value greater than 64 will result in an error: `Limit exceeds max batch size`. + ```ts const [receivedDeposits, receivedTransfers, sentTxs, requestedWithdrawals] = await Promise.all([ diff --git a/browser-sdk/package.json b/browser-sdk/package.json index 519add1..f004bac 100644 --- a/browser-sdk/package.json +++ b/browser-sdk/package.json @@ -1,6 +1,6 @@ { "name": "intmax2-client-sdk", - "version": "1.5.1", + "version": "1.5.2", "description": "Client SDK for INTMAX2", "type": "module", "main": "./dist/cjs/index.js", @@ -69,5 +69,17 @@ "engines": { "node": ">=18" }, - "packageManager": "pnpm@9.9.0+sha1.3edbe440f4e570aa8f049adbd06b9483d55cc2d2" + "packageManager": "pnpm@9.9.0+sha1.3edbe440f4e570aa8f049adbd06b9483d55cc2d2", + "pnpm": { + "overrides": { + "brace-expansion@>=1.0.0 <=1.1.11": ">=1.1.12", + "brace-expansion@>=2.0.0 <=2.0.1": ">=2.0.2", + "vite@>=6.0.0 <=6.3.5": ">=6.3.6", + "axios@>=1.0.0 <1.12.0": ">=1.12.0", + "happy-dom@<20.0.0": ">=20.0.0", + "vite@>=6.0.0 <=6.4.0": ">=6.4.1", + "js-yaml@>=4.0.0 <4.1.1": ">=4.1.1", + "glob@>=11.0.0 <11.1.0": ">=11.1.0" + } + } } diff --git a/browser-sdk/pnpm-lock.yaml b/browser-sdk/pnpm-lock.yaml index 5e97988..269de7c 100644 --- a/browser-sdk/pnpm-lock.yaml +++ b/browser-sdk/pnpm-lock.yaml @@ -4,6 +4,16 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + brace-expansion@>=1.0.0 <=1.1.11: '>=1.1.12' + brace-expansion@>=2.0.0 <=2.0.1: '>=2.0.2' + vite@>=6.0.0 <=6.3.5: '>=6.3.6' + axios@>=1.0.0 <1.12.0: '>=1.12.0' + happy-dom@<20.0.0: '>=20.0.0' + vite@>=6.0.0 <=6.4.0: '>=6.4.1' + js-yaml@>=4.0.0 <4.1.1: '>=4.1.1' + glob@>=11.0.0 <11.1.0: '>=11.1.0' + importers: .: @@ -15,8 +25,8 @@ importers: specifier: ^1.6.0 version: 1.6.0 axios: - specifier: ^1.11.0 - version: 1.11.0 + specifier: '>=1.12.0' + version: 1.13.2 consola: specifier: ^3.4.2 version: 3.4.2 @@ -52,8 +62,8 @@ importers: specifier: ^4.1.4 version: 4.1.4(@typescript-eslint/eslint-plugin@8.34.0(@typescript-eslint/parser@8.34.0(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1)(typescript@5.8.3))(eslint@8.57.1) happy-dom: - specifier: ^18.0.1 - version: 18.0.1 + specifier: '>=20.0.0' + version: 20.0.11 msw: specifier: ^2.10.2 version: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) @@ -71,7 +81,7 @@ importers: version: 5.8.3 vitest: specifier: ^3.2.3 - version: 3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) + version: 3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@20.0.11)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) packages: @@ -299,9 +309,13 @@ packages: '@types/node': optional: true - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} @@ -568,7 +582,7 @@ packages: resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: '>=6.4.1' peerDependenciesMeta: msw: optional: true @@ -627,18 +641,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -681,17 +687,16 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.11.0: - resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} + axios@1.13.2: + resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + balanced-match@3.0.1: + resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==} + engines: {node: '>= 16'} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@4.0.1: + resolution: {integrity: sha512-YClrbvTCXGe70pU2JiEiPLYXO9gQkyxYeKpJIQHVS/gOs6EWMQP2RYBwjFLNT322Ji8TOC3IMPfsYCedNpzKfA==} + engines: {node: '>= 18'} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -748,9 +753,6 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -832,15 +834,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - es-abstract@1.23.9: resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} @@ -1022,6 +1018,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fflate@0.8.2: resolution: {integrity: sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A==} @@ -1056,10 +1061,6 @@ packages: for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - foreground-child@3.3.0: - resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==} - engines: {node: '>=14'} - form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -1106,10 +1107,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} + glob@13.0.0: + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} engines: {node: 20 || >=22} - hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -1134,8 +1134,8 @@ packages: resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - happy-dom@18.0.1: - resolution: {integrity: sha512-qn+rKOW7KWpVTtgIUi6RVmTBZJSe2k0Db0vh1f7CWrWclkkc7/Q+FrOfkZIb2eiErLyqu5AXEzE7XthO9JVxRA==} + happy-dom@20.0.11: + resolution: {integrity: sha512-QsCdAUHAmiDeKeaNojb1OHOPF7NjcWPBR7obdu3NwH2a/oyQaLg5d0aaCy/9My6CdPChYF07dvz5chaXBGaD4g==} engines: {node: '>=20.0.0'} has-bigints@1.1.0: @@ -1313,15 +1313,11 @@ packages: peerDependencies: ws: '*' - jackspeak@4.0.2: - resolution: {integrity: sha512-bZsjR/iRjl1Nk1UkjGpAzLNfQtzuijhn2g+pbZb98HQ1Gk8vM9hfbxeMBP+M2/UUdwj0RqGG3mlvk2MsAqwvEw==} - engines: {node: 20 || >=22} - js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true json-buffer@3.0.1: @@ -1381,8 +1377,8 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -1537,6 +1533,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + possible-typed-array-names@1.0.0: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} @@ -1709,10 +1709,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} @@ -1729,10 +1725,6 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -1769,6 +1761,10 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tinypool@1.1.0: resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1872,19 +1868,19 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite@7.2.6: + resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@types/node': ^20.19.0 || >=22.12.0 jiti: '>=1.21.0' - less: '*' + less: ^4.0.0 lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -1922,7 +1918,7 @@ packages: '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 '@vitest/browser': 3.2.3 '@vitest/ui': 3.2.3 - happy-dom: '*' + happy-dom: '>=20.0.0' jsdom: '*' peerDependenciesMeta: '@edge-runtime/vm': @@ -1982,10 +1978,6 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -2128,7 +2120,7 @@ snapshots: globals: 13.24.0 ignore: 5.3.2 import-fresh: 3.3.0 - js-yaml: 4.1.0 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -2174,14 +2166,11 @@ snapshots: optionalDependencies: '@types/node': 24.0.3 - '@isaacs/cliui@8.0.2': + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/balanced-match': 4.0.1 '@jridgewell/sourcemap-codec@1.5.0': {} @@ -2436,14 +2425,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3))': + '@vitest/mocker@3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@7.2.6(@types/node@24.0.3))': dependencies: '@vitest/spy': 3.2.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) - vite: 6.3.5(@types/node@24.0.3) + vite: 7.2.6(@types/node@24.0.3) '@vitest/pretty-format@3.2.3': dependencies: @@ -2474,7 +2463,7 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.14 tinyrainbow: 2.0.0 - vitest: 3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) + vitest: 3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@20.0.11)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)) '@vitest/utils@3.2.3': dependencies: @@ -2505,14 +2494,10 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - ansi-styles@6.2.1: {} - argparse@2.0.1: {} array-buffer-byte-length@1.0.2: @@ -2572,7 +2557,7 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 - axios@1.11.0: + axios@1.13.2: dependencies: follow-redirects: 1.15.9 form-data: 4.0.4 @@ -2580,16 +2565,11 @@ snapshots: transitivePeerDependencies: - debug - balanced-match@1.0.2: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + balanced-match@3.0.1: {} - brace-expansion@2.0.1: + brace-expansion@4.0.1: dependencies: - balanced-match: 1.0.2 + balanced-match: 3.0.1 braces@3.0.3: dependencies: @@ -2649,8 +2629,6 @@ snapshots: dependencies: delayed-stream: 1.0.0 - concat-map@0.0.1: {} - consola@3.4.2: {} cookie@0.7.2: {} @@ -2723,12 +2701,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - eastasianwidth@0.2.0: {} - emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - es-abstract@1.23.9: dependencies: array-buffer-byte-length: 1.0.2 @@ -2948,7 +2922,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 + js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -3010,6 +2984,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + fflate@0.8.2: {} file-entry-cache@6.0.1: @@ -3039,11 +3017,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.3.0: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - form-data@4.0.4: dependencies: asynckit: 0.4.0 @@ -3104,13 +3077,10 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.0.1: + glob@13.0.0: dependencies: - foreground-child: 3.3.0 - jackspeak: 4.0.2 - minimatch: 10.0.1 + minimatch: 10.1.1 minipass: 7.1.2 - package-json-from-dist: 1.0.1 path-scurry: 2.0.0 glob@7.2.3: @@ -3137,7 +3107,7 @@ snapshots: graphql@16.11.0: {} - happy-dom@18.0.1: + happy-dom@20.0.11: dependencies: '@types/node': 20.17.14 '@types/whatwg-mimetype': 3.0.2 @@ -3310,13 +3280,9 @@ snapshots: dependencies: ws: 8.18.2 - jackspeak@4.0.2: - dependencies: - '@isaacs/cliui': 8.0.2 - js-tokens@9.0.1: {} - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -3368,17 +3334,17 @@ snapshots: dependencies: mime-db: 1.52.0 - minimatch@10.0.1: + minimatch@10.1.1: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 4.0.1 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 4.0.1 minimist@1.2.8: {} @@ -3533,6 +3499,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + possible-typed-array-names@1.0.0: {} postcss@8.5.6: @@ -3601,7 +3569,7 @@ snapshots: rimraf@6.0.1: dependencies: - glob: 11.0.1 + glob: 13.0.0 package-json-from-dist: 1.0.1 rollup@4.43.0: @@ -3739,12 +3707,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 @@ -3772,10 +3734,6 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - strip-bom@3.0.0: {} strip-json-comments@3.1.1: {} @@ -3805,6 +3763,11 @@ snapshots: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tinypool@1.1.0: {} tinyrainbow@2.0.0: {} @@ -3925,7 +3888,7 @@ snapshots: debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@24.0.3) + vite: 7.2.6(@types/node@24.0.3) transitivePeerDependencies: - '@types/node' - jiti @@ -3940,23 +3903,23 @@ snapshots: - tsx - yaml - vite@6.3.5(@types/node@24.0.3): + vite@7.2.6(@types/node@24.0.3): dependencies: esbuild: 0.25.5 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 rollup: 4.43.0 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 optionalDependencies: '@types/node': 24.0.3 fsevents: 2.3.3 - vitest@3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@18.0.1)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)): + vitest@3.2.3(@types/node@24.0.3)(@vitest/ui@3.2.3)(happy-dom@20.0.11)(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3)): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)) + '@vitest/mocker': 3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@7.2.6(@types/node@24.0.3)) '@vitest/pretty-format': 3.2.3 '@vitest/runner': 3.2.3 '@vitest/snapshot': 3.2.3 @@ -3974,13 +3937,13 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.0.3) + vite: 7.2.6(@types/node@24.0.3) vite-node: 3.2.3(@types/node@24.0.3) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.0.3 '@vitest/ui': 3.2.3(vitest@3.2.3) - happy-dom: 18.0.1 + happy-dom: 20.0.11 transitivePeerDependencies: - jiti - less @@ -4060,12 +4023,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - wrappy@1.0.2: {} ws@8.18.2: {} diff --git a/browser-sdk/src/browser/index.ts b/browser-sdk/src/browser/index.ts index 14152ad..4566698 100644 --- a/browser-sdk/src/browser/index.ts +++ b/browser-sdk/src/browser/index.ts @@ -197,6 +197,10 @@ interface IFunctions { get_tx_status: typeof mainnetWasm.get_tx_status | typeof testnetWasm.get_tx_status; } +const MAX_TRANSACTION_BATCH_SIZE = 32; +const MAX_TRANSFER_BATCH_SIZE = 32; +const MAX_DEPOSIT_BATCH_SIZE = 32; + export class IntMaxClient implements INTMAXClient { readonly #environment: IntMaxEnvironment; readonly #logger: ConsolaInstance; @@ -726,17 +730,21 @@ export class IntMaxClient implements INTMAXClient { // Send/Withdrawals async fetchTransactions( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_TRANSACTION_BATCH_SIZE; + } + if (actualLimit > MAX_TRANSACTION_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_TRANSACTION_BATCH_SIZE}`); } const cursorMeta = this.#environment === 'mainnet' - ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', limit) - : new testnetWasm.JsMetaDataCursor(cursor, 'desc', limit); + ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit) + : new testnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit); let data; try { @@ -772,17 +780,21 @@ export class IntMaxClient implements INTMAXClient { // Receive async fetchTransfers( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_TRANSFER_BATCH_SIZE; + } + if (actualLimit > MAX_TRANSFER_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_TRANSFER_BATCH_SIZE}`); } const cursorMeta = this.#environment === 'mainnet' - ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', limit) - : new testnetWasm.JsMetaDataCursor(cursor, 'desc', limit); + ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit) + : new testnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit); let data; try { @@ -818,17 +830,21 @@ export class IntMaxClient implements INTMAXClient { // Deposit async fetchDeposits( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_DEPOSIT_BATCH_SIZE; + } + if (actualLimit > MAX_DEPOSIT_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_DEPOSIT_BATCH_SIZE}`); } const cursorMeta = this.#environment === 'mainnet' - ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', limit) - : new testnetWasm.JsMetaDataCursor(cursor, 'desc', limit); + ? new mainnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit) + : new testnetWasm.JsMetaDataCursor(cursor, 'desc', actualLimit); let data; try { diff --git a/examples/nextjs/src/app/page.tsx b/examples/nextjs/src/app/page.tsx index 304dd1d..8e79163 100644 --- a/examples/nextjs/src/app/page.tsx +++ b/examples/nextjs/src/app/page.tsx @@ -151,8 +151,8 @@ export default function Home() { try { const [deposits, receiveTxs, send] = await Promise.all([ client.fetchDeposits(), - client.fetchTransfers(), - client.fetchTransactions(), + client.fetchTransfers({ cursor: null }), + client.fetchTransactions({ cursor: null, limit: 1 }), ]); setHistory({ diff --git a/examples/node/index.js b/examples/node/index.js index 223eb28..c9fe03d 100644 --- a/examples/node/index.js +++ b/examples/node/index.js @@ -55,17 +55,11 @@ const main = async () => { // Fetch transaction history console.log('\nFetching transaction history...'); const [deposits, receiveTransfers, sendTxs] = await Promise.all([ - client.fetchDeposits({ - limit: 1, - cursor: null, - }), - client.fetchTransfers({ - limit: 1, - cursor: null, - }), + client.fetchDeposits(), + client.fetchTransfers({ cursor: null }), client.fetchTransactions({ - limit: 1, cursor: null, + limit: 1, }), ]); console.log('\nTransaction History:'); diff --git a/examples/vanilla-js/src/main.ts b/examples/vanilla-js/src/main.ts index 6b5f1d9..edd0c14 100644 --- a/examples/vanilla-js/src/main.ts +++ b/examples/vanilla-js/src/main.ts @@ -407,7 +407,11 @@ const fetchHistoryButton = () => { button.innerHTML = 'Fetching...'; try { - const promises = [client.fetchDeposits(), client.fetchTransfers(), client.fetchTransactions()]; + const promises = [ + client.fetchDeposits(), + client.fetchTransfers({ cursor: null }), + client.fetchTransactions({ cursor: null, limit: 1 }), + ]; const [deposits, receiveTxs, send] = await Promise.all(promises); const history = { diff --git a/examples/vite/src/components/Wallet/TrnasactionHistory.tsx b/examples/vite/src/components/Wallet/TrnasactionHistory.tsx index 2ca85b3..54054e1 100644 --- a/examples/vite/src/components/Wallet/TrnasactionHistory.tsx +++ b/examples/vite/src/components/Wallet/TrnasactionHistory.tsx @@ -27,8 +27,8 @@ export const TransactionHistory: React.FC = ({ client } const [depositsData,transfersData, txData] = await Promise.allSettled([ client.fetchDeposits(), - client.fetchTransfers(), - client.fetchTransactions(), + client.fetchTransfers({ cursor: null }), + client.fetchTransactions({ cursor: null, limit: 1 }), ]); const deposits = depositsData.status === 'fulfilled' ? depositsData.value.items : [] diff --git a/server-sdk/package.json b/server-sdk/package.json index 382159a..5ef4efd 100644 --- a/server-sdk/package.json +++ b/server-sdk/package.json @@ -1,6 +1,6 @@ { "name": "intmax2-server-sdk", - "version": "1.5.1", + "version": "1.5.2", "description": "Server SDK for INTMAX2", "type": "commonjs", "main": "dist/index.js", @@ -38,7 +38,7 @@ "dependencies": { "@scure/bip32": "^1.7.0", "@scure/bip39": "^1.6.0", - "axios": "^1.11.0", + "axios": "^1.13.2", "consola": "^3.4.2", "viem": "^2.31.3" }, @@ -69,5 +69,15 @@ "engines": { "node": ">=18" }, - "packageManager": "pnpm@9.9.0+sha1.3edbe440f4e570aa8f049adbd06b9483d55cc2d2" + "packageManager": "pnpm@9.9.0+sha1.3edbe440f4e570aa8f049adbd06b9483d55cc2d2", + "pnpm": { + "overrides": { + "brace-expansion@>=1.0.0 <=1.1.11": ">=1.1.12", + "brace-expansion@>=2.0.0 <=2.0.1": ">=2.0.2", + "vite@>=6.0.0 <=6.3.5": ">=6.3.6", + "vite@>=6.0.0 <=6.4.0": ">=6.4.1", + "js-yaml@>=4.0.0 <4.1.1": ">=4.1.1", + "glob@>=11.0.0 <11.1.0": ">=11.1.0" + } + } } diff --git a/server-sdk/pnpm-lock.yaml b/server-sdk/pnpm-lock.yaml index 7ecdfbe..438f248 100644 --- a/server-sdk/pnpm-lock.yaml +++ b/server-sdk/pnpm-lock.yaml @@ -4,6 +4,14 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +overrides: + brace-expansion@>=1.0.0 <=1.1.11: '>=1.1.12' + brace-expansion@>=2.0.0 <=2.0.1: '>=2.0.2' + vite@>=6.0.0 <=6.3.5: '>=6.3.6' + vite@>=6.0.0 <=6.4.0: '>=6.4.1' + js-yaml@>=4.0.0 <4.1.1: '>=4.1.1' + glob@>=11.0.0 <11.1.0: '>=11.1.0' + importers: .: @@ -15,8 +23,8 @@ importers: specifier: ^1.6.0 version: 1.6.0 axios: - specifier: ^1.11.0 - version: 1.11.0 + specifier: ^1.13.2 + version: 1.13.2 consola: specifier: ^3.4.2 version: 3.4.2 @@ -325,9 +333,13 @@ packages: '@types/node': optional: true - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} '@jridgewell/gen-mapping@0.3.8': resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} @@ -661,7 +673,7 @@ packages: resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} peerDependencies: msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 + vite: '>=6.4.1' peerDependenciesMeta: msw: optional: true @@ -720,18 +732,10 @@ packages: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} - engines: {node: '>=12'} - ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -774,17 +778,16 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - axios@1.11.0: - resolution: {integrity: sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==} + axios@1.13.2: + resolution: {integrity: sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==} - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + balanced-match@3.0.1: + resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==} + engines: {node: '>= 16'} - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@4.0.1: + resolution: {integrity: sha512-YClrbvTCXGe70pU2JiEiPLYXO9gQkyxYeKpJIQHVS/gOs6EWMQP2RYBwjFLNT322Ji8TOC3IMPfsYCedNpzKfA==} + engines: {node: '>= 18'} braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} @@ -850,9 +853,6 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -938,15 +938,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - es-abstract@1.23.9: resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==} engines: {node: '>= 0.4'} @@ -1140,6 +1134,15 @@ packages: picomatch: optional: true + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1172,10 +1175,6 @@ packages: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - form-data@4.0.4: resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} engines: {node: '>= 6'} @@ -1222,10 +1221,9 @@ packages: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} engines: {node: '>=10.13.0'} - glob@11.0.1: - resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} + glob@13.0.0: + resolution: {integrity: sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==} engines: {node: 20 || >=22} - hasBin: true glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -1431,18 +1429,14 @@ packages: peerDependencies: ws: '*' - jackspeak@4.1.0: - resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} - engines: {node: 20 || >=22} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + js-yaml@4.1.1: + resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true json-buffer@3.0.1: @@ -1502,8 +1496,8 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - minimatch@10.0.1: - resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} + minimatch@10.1.1: + resolution: {integrity: sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -1654,6 +1648,10 @@ packages: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -1848,10 +1846,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - string.prototype.trim@1.2.10: resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==} engines: {node: '>= 0.4'} @@ -1868,10 +1862,6 @@ packages: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -1913,6 +1903,10 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} + engines: {node: '>=12.0.0'} + tinypool@1.1.0: resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -2012,19 +2006,19 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vite@6.3.5: - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} - engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + vite@7.2.6: + resolution: {integrity: sha512-tI2l/nFHC5rLh7+5+o7QjKjSR04ivXDF4jcgV0f/bTQ+OJiITy5S6gaynVsEM+7RqzufMnVbIon6Sr5x1SDYaQ==} + engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: - '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + '@types/node': ^20.19.0 || >=22.12.0 jiti: '>=1.21.0' - less: '*' + less: ^4.0.0 lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 terser: ^5.16.0 tsx: ^4.8.1 yaml: ^2.4.2 @@ -2118,10 +2112,6 @@ packages: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -2274,7 +2264,7 @@ snapshots: globals: 13.24.0 ignore: 5.3.2 import-fresh: 3.3.1 - js-yaml: 4.1.0 + js-yaml: 4.1.1 minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: @@ -2320,14 +2310,11 @@ snapshots: optionalDependencies: '@types/node': 24.0.3 - '@isaacs/cliui@8.0.2': + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/balanced-match': 4.0.1 '@jridgewell/gen-mapping@0.3.8': dependencies: @@ -2647,14 +2634,14 @@ snapshots: chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(terser@5.39.0))': + '@vitest/mocker@3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@7.2.6(@types/node@24.0.3)(terser@5.39.0))': dependencies: '@vitest/spy': 3.2.3 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: msw: 2.10.2(@types/node@24.0.3)(typescript@5.8.3) - vite: 6.3.5(@types/node@24.0.3)(terser@5.39.0) + vite: 7.2.6(@types/node@24.0.3)(terser@5.39.0) '@vitest/pretty-format@3.2.3': dependencies: @@ -2707,14 +2694,10 @@ snapshots: ansi-regex@5.0.1: {} - ansi-regex@6.1.0: {} - ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - ansi-styles@6.2.1: {} - argparse@2.0.1: {} array-buffer-byte-length@1.0.2: @@ -2775,7 +2758,7 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 - axios@1.11.0: + axios@1.13.2: dependencies: follow-redirects: 1.15.9 form-data: 4.0.4 @@ -2783,16 +2766,11 @@ snapshots: transitivePeerDependencies: - debug - balanced-match@1.0.2: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 + balanced-match@3.0.1: {} - brace-expansion@2.0.1: + brace-expansion@4.0.1: dependencies: - balanced-match: 1.0.2 + balanced-match: 3.0.1 braces@3.0.3: dependencies: @@ -2858,8 +2836,6 @@ snapshots: commondir@1.0.1: {} - concat-map@0.0.1: {} - consola@3.4.2: {} cookie@0.7.2: {} @@ -2934,12 +2910,8 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 - eastasianwidth@0.2.0: {} - emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - es-abstract@1.23.9: dependencies: array-buffer-byte-length: 1.0.2 @@ -3159,7 +3131,7 @@ snapshots: imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 + js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -3227,6 +3199,10 @@ snapshots: optionalDependencies: picomatch: 4.0.2 + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 @@ -3254,11 +3230,6 @@ snapshots: dependencies: is-callable: 1.2.7 - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - form-data@4.0.4: dependencies: asynckit: 0.4.0 @@ -3319,13 +3290,10 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.0.1: + glob@13.0.0: dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.0 - minimatch: 10.0.1 + minimatch: 10.1.1 minipass: 7.1.2 - package-json-from-dist: 1.0.1 path-scurry: 2.0.0 glob@7.2.3: @@ -3525,16 +3493,12 @@ snapshots: dependencies: ws: 8.18.2 - jackspeak@4.1.0: - dependencies: - '@isaacs/cliui': 8.0.2 - js-tokens@4.0.0: optional: true js-tokens@9.0.1: {} - js-yaml@4.1.0: + js-yaml@4.1.1: dependencies: argparse: 2.0.1 @@ -3586,17 +3550,17 @@ snapshots: dependencies: mime-db: 1.52.0 - minimatch@10.0.1: + minimatch@10.1.1: dependencies: - brace-expansion: 2.0.1 + '@isaacs/brace-expansion': 5.0.0 minimatch@3.1.2: dependencies: - brace-expansion: 1.1.11 + brace-expansion: 4.0.1 minimatch@9.0.5: dependencies: - brace-expansion: 2.0.1 + brace-expansion: 4.0.1 minimist@1.2.8: {} @@ -3749,6 +3713,8 @@ snapshots: picomatch@4.0.2: {} + picomatch@4.0.3: {} + possible-typed-array-names@1.1.0: {} postcss@8.5.6: @@ -3821,7 +3787,7 @@ snapshots: rimraf@6.0.1: dependencies: - glob: 11.0.1 + glob: 13.0.0 package-json-from-dist: 1.0.1 rollup-plugin-dts@6.2.1(rollup@4.43.0)(typescript@5.8.3): @@ -3976,12 +3942,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 @@ -4009,10 +3969,6 @@ snapshots: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: - dependencies: - ansi-regex: 6.1.0 - strip-bom@3.0.0: {} strip-json-comments@3.1.1: {} @@ -4049,6 +4005,11 @@ snapshots: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + tinypool@1.1.0: {} tinyrainbow@2.0.0: {} @@ -4167,7 +4128,7 @@ snapshots: debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 6.3.5(@types/node@24.0.3)(terser@5.39.0) + vite: 7.2.6(@types/node@24.0.3)(terser@5.39.0) transitivePeerDependencies: - '@types/node' - jiti @@ -4182,14 +4143,14 @@ snapshots: - tsx - yaml - vite@6.3.5(@types/node@24.0.3)(terser@5.39.0): + vite@7.2.6(@types/node@24.0.3)(terser@5.39.0): dependencies: esbuild: 0.25.5 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 postcss: 8.5.6 rollup: 4.43.0 - tinyglobby: 0.2.14 + tinyglobby: 0.2.15 optionalDependencies: '@types/node': 24.0.3 fsevents: 2.3.3 @@ -4199,7 +4160,7 @@ snapshots: dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@6.3.5(@types/node@24.0.3)(terser@5.39.0)) + '@vitest/mocker': 3.2.3(msw@2.10.2(@types/node@24.0.3)(typescript@5.8.3))(vite@7.2.6(@types/node@24.0.3)(terser@5.39.0)) '@vitest/pretty-format': 3.2.3 '@vitest/runner': 3.2.3 '@vitest/snapshot': 3.2.3 @@ -4217,7 +4178,7 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.0 tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@24.0.3)(terser@5.39.0) + vite: 7.2.6(@types/node@24.0.3)(terser@5.39.0) vite-node: 3.2.3(@types/node@24.0.3)(terser@5.39.0) why-is-node-running: 2.3.0 optionalDependencies: @@ -4300,12 +4261,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - wrappy@1.0.2: {} ws@8.18.2: {} diff --git a/server-sdk/src/node/index.ts b/server-sdk/src/node/index.ts index f23f6b4..530ca8a 100644 --- a/server-sdk/src/node/index.ts +++ b/server-sdk/src/node/index.ts @@ -109,6 +109,10 @@ interface IFunctions { get_tx_status: typeof mainnetWasm.get_tx_status | typeof testnetWasm.get_tx_status; } +const MAX_TRANSFER_BATCH_SIZE = 32; +const MAX_TRANSACTION_BATCH_SIZE = 32; +const MAX_DEPOSIT_BATCH_SIZE = 32; + export class IntMaxNodeClient implements INTMAXClient { #intervalId: number | null | NodeJS.Timeout = null; #isSyncInProgress: boolean = false; @@ -565,11 +569,15 @@ export class IntMaxNodeClient implements INTMAXClient { // Send/Withdrawals async fetchTransactions( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_TRANSACTION_BATCH_SIZE; + } + if (actualLimit > MAX_TRANSACTION_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_TRANSACTION_BATCH_SIZE}`); } let data; @@ -580,7 +588,7 @@ export class IntMaxNodeClient implements INTMAXClient { new (this.#environment === 'mainnet' ? mainnetWasm.JsMetaDataCursor : testnetWasm.JsMetaDataCursor)( cursor, 'desc', - limit, + actualLimit, ), ); } catch (error) { @@ -615,11 +623,15 @@ export class IntMaxNodeClient implements INTMAXClient { // Receive async fetchTransfers( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_TRANSFER_BATCH_SIZE; + } + if (actualLimit > MAX_TRANSFER_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_TRANSFER_BATCH_SIZE}`); } let data; @@ -630,7 +642,7 @@ export class IntMaxNodeClient implements INTMAXClient { new (this.#environment === 'mainnet' ? mainnetWasm.JsMetaDataCursor : testnetWasm.JsMetaDataCursor)( cursor, 'desc', - limit, + actualLimit, ), ); } catch (error) { @@ -665,11 +677,15 @@ export class IntMaxNodeClient implements INTMAXClient { // Deposit async fetchDeposits( - { cursor, limit }: FetchTransactionsRequest = { cursor: null, limit: 256 }, + { cursor, limit }: FetchTransactionsRequest = { cursor: null }, ): Promise { this.#checkAllowanceToExecuteMethod(); - if (limit && limit > 256) { - throw new Error('Limit cannot be greater than 256'); + let actualLimit = limit; + if (!actualLimit) { + actualLimit = MAX_DEPOSIT_BATCH_SIZE; + } + if (actualLimit > MAX_DEPOSIT_BATCH_SIZE) { + throw new Error(`Limit cannot be greater than ${MAX_DEPOSIT_BATCH_SIZE}`); } let data; @@ -680,7 +696,7 @@ export class IntMaxNodeClient implements INTMAXClient { new (this.#environment === 'mainnet' ? mainnetWasm.JsMetaDataCursor : testnetWasm.JsMetaDataCursor)( cursor as testnetWasm.JsMetaData | mainnetWasm.JsMetaData, 'desc', - limit, + actualLimit, ), ); } catch (error) {