Skip to content

Commit

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

* Register handler
  • Loading branch information
sebastijankuzner authored Dec 2, 2024
1 parent 7f6c7d0 commit 954ccf3
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
import { inject, injectable } from "@mainsail/container";
import { Contracts, Exceptions, Identifiers } from "@mainsail/contracts";

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

public readonly name: string = "eth_getUncleCountByBlockNumber";

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

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

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

return `0x0`;
}
}
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-count-by-block-hash.js";
export * from "./eth-get-uncle-count-by-block-number.js";
export * from "./net-listening.js";
export * from "./net-peer-count.js";
export * from "./web3-client-version.js";
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,
EthGetUncleCountByBlockHash,
EthGetUncleCountByBlockNumber,
NetListeningAction,
NetPeerCountAction,
Web3ClientVersionAction,
Expand Down Expand Up @@ -74,6 +75,7 @@ export class ServiceProvider extends AbstractServiceProvider<Server> {
this.app.resolve(EthGetStorageAtAction),
this.app.resolve(EthGetTransactionCount),
this.app.resolve(EthGetUncleCountByBlockHash),
this.app.resolve(EthGetUncleCountByBlockNumber),
this.app.resolve(NetListeningAction),
this.app.resolve(NetPeerCountAction),
this.app.resolve(Web3ClientVersionAction),
Expand Down

0 comments on commit 954ccf3

Please sign in to comment.