Skip to content

Commit

Permalink
feat(evm-api): implement eth_getUncleByBlockNumberAndIndex (#790)
Browse files Browse the repository at this point in the history
* Add eth_getUncleByBlockNumberAndIndex

* Import
  • Loading branch information
sebastijankuzner authored Dec 2, 2024
1 parent 47ab48b commit 73552a6
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { inject, injectable } from "@mainsail/container";
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";

@injectable()
export class EthGetUncleByBlockNumberAndIndex implements Contracts.Api.RPC.Action {
@inject(Identifiers.State.Store)
private readonly stateStore!: Contracts.State.Store;

public readonly name: string = "eth_getUncleByBlockNumberAndIndex";

public readonly schema = {
$id: `jsonRpc_${this.name}`,
maxItems: 2,
minItems: 2,

prefixItems: [{ $ref: "prefixedHex" }, { $ref: "prefixedHex" }],
type: "array",
};

public async handle(parameters: [string]): Promise<null> {
if (this.stateStore.getHeight() < Number(parameters[0])) {
throw new Exceptions.RpcError("Block not found");
}

// eslint-disable-next-line unicorn/no-null
return null;
}
}
1 change: 1 addition & 0 deletions packages/api-evm/source/actions/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ export * from "./eth-get-code.js";
export * from "./eth-get-storage-at.js";
export * from "./eth-get-transaction-count.js";
export * from "./eth-get-uncle-by-block-hash-and-index.js";
export * from "./eth-get-uncle-by-block-number-and-index.js";
export * from "./eth-get-uncle-count-by-block-hash.js";
export * from "./eth-get-uncle-count-by-block-number.js";
export * from "./net-listening.js";
Expand Down
2 changes: 2 additions & 0 deletions packages/api-evm/source/service-provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
EthGetStorageAtAction,
EthGetTransactionCount,
EthGetUncleByBlockHashAndIndex,
EthGetUncleByBlockNumberAndIndex,
EthGetUncleCountByBlockHash,
EthGetUncleCountByBlockNumber,
NetListeningAction,
Expand Down Expand Up @@ -76,6 +77,7 @@ export class ServiceProvider extends AbstractServiceProvider<Server> {
this.app.resolve(EthGetStorageAtAction),
this.app.resolve(EthGetTransactionCount),
this.app.resolve(EthGetUncleByBlockHashAndIndex),
this.app.resolve(EthGetUncleByBlockNumberAndIndex),
this.app.resolve(EthGetUncleCountByBlockHash),
this.app.resolve(EthGetUncleCountByBlockNumber),
this.app.resolve(NetListeningAction),
Expand Down

0 comments on commit 73552a6

Please sign in to comment.