fix: handle empty rpc batch requests properly (#16254)

This commit is contained in:
Justin Starry 2021-03-31 15:15:04 +08:00 committed by GitHub
parent c344702fa0
commit 2c94c6f8e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -722,6 +722,9 @@ function createRpcRequest(client: RpcClient): RpcRequest {
function createRpcBatchRequest(client: RpcClient): RpcBatchRequest {
return (requests: RpcParams[]) => {
return new Promise((resolve, reject) => {
// Do nothing if requests is empty
if (requests.length === 0) resolve([]);
const batch = requests.map((params: RpcParams) => {
return client.request(params.methodName, params.args);
});

View File

@ -894,7 +894,7 @@ describe('Connection', () => {
],
});
const result = await connection.getParsedConfirmedTransactions([
let result = await connection.getParsedConfirmedTransactions([
confirmedTransaction,
confirmedTransaction,
]);
@ -913,6 +913,14 @@ describe('Connection', () => {
if (result[1] !== null) {
expect(result[1].transaction.signatures).not.to.be.null;
}
result = await connection.getParsedConfirmedTransactions([]);
if (!result) {
expect(result).to.be.ok;
return;
}
expect(result).to.be.empty;
});
it('get confirmed transaction', async () => {