diff --git a/.changeset/forty-nails-perform.md b/.changeset/forty-nails-perform.md new file mode 100644 index 00000000000..7eb27f1bce0 --- /dev/null +++ b/.changeset/forty-nails-perform.md @@ -0,0 +1,5 @@ +--- +"@thirdweb-dev/sdk": patch +--- + +Expose rpcBatchSettings in SDKOptions diff --git a/packages/sdk/src/evm/constants/urls.ts b/packages/sdk/src/evm/constants/urls.ts index 18cb3ff7d8d..9d93ee8fed0 100644 --- a/packages/sdk/src/evm/constants/urls.ts +++ b/packages/sdk/src/evm/constants/urls.ts @@ -297,6 +297,7 @@ export function getProviderFromRpcUrl( skipFetchSetup: _skipFetchSetup, }, chainId, + sdkOptions?.rpcBatchSettings, ) : // Otherwise fall back to the built in json rpc batch provider new providers.JsonRpcBatchProvider({ diff --git a/packages/sdk/src/evm/lib/static-batch-rpc.ts b/packages/sdk/src/evm/lib/static-batch-rpc.ts index b1eeb44c2a1..b25da390fe5 100644 --- a/packages/sdk/src/evm/lib/static-batch-rpc.ts +++ b/packages/sdk/src/evm/lib/static-batch-rpc.ts @@ -30,8 +30,8 @@ export class StaticJsonRpcBatchProvider extends providers.StaticJsonRpcProvider batchOptions: BatchOptions = DEFAULT_BATCH_OPTIONS, ) { super(url, network); - this._timeLimitMs = batchOptions.timeLimitMs || DEFAULT_BATCH_SIZE_LIMIT; - this._sizeLimit = batchOptions.sizeLimit || DEFAULT_BATCH_TIME_LIMIT_MS; + this._timeLimitMs = batchOptions.timeLimitMs || DEFAULT_BATCH_TIME_LIMIT_MS; + this._sizeLimit = batchOptions.sizeLimit || DEFAULT_BATCH_SIZE_LIMIT; this._pendingBatchAggregator = null; this._pendingBatch = null; } diff --git a/packages/sdk/src/evm/schema/sdk-options.ts b/packages/sdk/src/evm/schema/sdk-options.ts index 41267e6a740..5e7aee998ae 100644 --- a/packages/sdk/src/evm/schema/sdk-options.ts +++ b/packages/sdk/src/evm/schema/sdk-options.ts @@ -64,6 +64,12 @@ export const SDKOptionsSchema = /* @__PURE__ */ (() => ]) .optional(), gatewayUrls: z.array(z.string()).optional(), + rpcBatchSettings: z + .object({ + sizeLimit: z.number().default(200), + timeLimit: z.number().default(10), + }) + .optional(), }) .default({ gasSettings: { maxPriceInGwei: 300, speed: "fastest" },