Compare commits

...

4 Commits

6 changed files with 21 additions and 13 deletions

View File

@ -1,3 +1,5 @@
# [0.1.0-develop.8](https://git.lumeweb.com/LumeWeb/libethsync/compare/v0.1.0-develop.7...v0.1.0-develop.8) (2023-07-11)
# [0.1.0-develop.7](https://git.lumeweb.com/LumeWeb/libethsync/compare/v0.1.0-develop.6...v0.1.0-develop.7) (2023-07-11)

4
npm-shrinkwrap.json generated
View File

@ -1,12 +1,12 @@
{
"name": "@lumeweb/libethclient",
"version": "0.1.0-develop.7",
"version": "0.1.0-develop.8",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@lumeweb/libethclient",
"version": "0.1.0-develop.7",
"version": "0.1.0-develop.8",
"dependencies": {
"@chainsafe/as-sha256": "^0.3.1",
"@chainsafe/bls": "7.1.1",

View File

@ -1,6 +1,6 @@
{
"name": "@lumeweb/libethsync",
"version": "0.1.0-develop.7",
"version": "0.1.0-develop.8",
"type": "module",
"repository": {
"type": "git",

View File

@ -6,6 +6,7 @@ import { Bytes32, capella, LightClientUpdate } from "#types.js";
import {
consensusClient,
deserializePubkeys,
getConsensusOptimisticUpdate,
optimisticUpdateFromJSON,
optimisticUpdateVerify,
} from "#util.js";
@ -87,16 +88,8 @@ export default class Client extends BaseClient {
}
protected async getLatestExecution(): Promise<ExecutionInfo | null> {
const resp = await axios.get(
`/eth/v1/beacon/light_client/optimistic_update`,
);
const updateJSON = resp.data;
if (!updateJSON) {
throw Error(`fetching optimistic update failed`);
}
const update = optimisticUpdateFromJSON(updateJSON.data);
const updateJSON = await getConsensusOptimisticUpdate();
const update = optimisticUpdateFromJSON(updateJSON);
const verify = await optimisticUpdateVerify(
this.latestCommittee as Uint8Array[],
update,

View File

@ -12,3 +12,4 @@ function createDefaultClient(beaconUrl: string): Client {
export { Client, Prover, Store, createDefaultClient };
export * from "#interfaces.js";
export { getConsensusOptimisticUpdate, getCommitteeHash } from "#util.js";

View File

@ -77,3 +77,15 @@ export function getCommitteeHash(committee: Uint8Array[]): Uint8Array {
export const consensusClient = axios.create();
axiosRetry(consensusClient, { retries: 3 });
export async function getConsensusOptimisticUpdate() {
const resp = await consensusClient.get(
`/eth/v1/beacon/light_client/optimistic_update`,
);
const updateJSON = resp.data;
if (!updateJSON) {
throw Error(`fetching optimistic update failed`);
}
}