@aztec/prover-node 0.76.4-devnet-test-rc3 → 0.77.0-testnet-ignition.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/config.d.ts +5 -8
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +24 -51
- package/dest/factory.d.ts +6 -3
- package/dest/factory.d.ts.map +1 -1
- package/dest/factory.js +23 -45
- package/dest/http.d.ts +1 -1
- package/dest/http.d.ts.map +1 -1
- package/dest/http.js +2 -4
- package/dest/index.js +0 -1
- package/dest/job/epoch-proving-job.d.ts +8 -4
- package/dest/job/epoch-proving-job.d.ts.map +1 -1
- package/dest/job/epoch-proving-job.js +233 -190
- package/dest/metrics.d.ts +5 -2
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +50 -25
- package/dest/monitors/epoch-monitor.d.ts +22 -4
- package/dest/monitors/epoch-monitor.d.ts.map +1 -1
- package/dest/monitors/epoch-monitor.js +102 -48
- package/dest/monitors/index.d.ts +0 -1
- package/dest/monitors/index.d.ts.map +1 -1
- package/dest/monitors/index.js +0 -2
- package/dest/prover-coordination/config.js +2 -3
- package/dest/prover-coordination/factory.d.ts +5 -5
- package/dest/prover-coordination/factory.d.ts.map +1 -1
- package/dest/prover-coordination/factory.js +11 -8
- package/dest/prover-coordination/index.js +0 -1
- package/dest/prover-node-publisher.d.ts +5 -11
- package/dest/prover-node-publisher.d.ts.map +1 -1
- package/dest/prover-node-publisher.js +68 -61
- package/dest/prover-node.d.ts +23 -32
- package/dest/prover-node.d.ts.map +1 -1
- package/dest/prover-node.js +237 -289
- package/dest/test/index.d.ts +2 -2
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +2 -1
- package/package.json +21 -22
- package/src/config.ts +18 -62
- package/src/factory.ts +18 -47
- package/src/http.ts +2 -2
- package/src/job/epoch-proving-job.ts +15 -13
- package/src/metrics.ts +26 -5
- package/src/monitors/epoch-monitor.ts +57 -13
- package/src/monitors/index.ts +0 -1
- package/src/prover-coordination/factory.ts +9 -12
- package/src/prover-node-publisher.ts +29 -24
- package/src/prover-node.ts +53 -128
- package/src/test/index.ts +2 -2
- package/dest/bond/bond-manager.d.ts +0 -22
- package/dest/bond/bond-manager.d.ts.map +0 -1
- package/dest/bond/bond-manager.js +0 -42
- package/dest/bond/config.d.ts +0 -8
- package/dest/bond/config.d.ts.map +0 -1
- package/dest/bond/config.js +0 -17
- package/dest/bond/escrow-contract.d.ts +0 -19
- package/dest/bond/escrow-contract.d.ts.map +0 -1
- package/dest/bond/escrow-contract.js +0 -32
- package/dest/bond/factory.d.ts +0 -6
- package/dest/bond/factory.d.ts.map +0 -1
- package/dest/bond/factory.js +0 -17
- package/dest/bond/index.d.ts +0 -3
- package/dest/bond/index.d.ts.map +0 -1
- package/dest/bond/index.js +0 -3
- package/dest/bond/token-contract.d.ts +0 -26
- package/dest/bond/token-contract.d.ts.map +0 -1
- package/dest/bond/token-contract.js +0 -58
- package/dest/monitors/claims-monitor.d.ts +0 -24
- package/dest/monitors/claims-monitor.d.ts.map +0 -1
- package/dest/monitors/claims-monitor.js +0 -54
- package/dest/quote-provider/http.d.ts +0 -15
- package/dest/quote-provider/http.d.ts.map +0 -1
- package/dest/quote-provider/http.js +0 -33
- package/dest/quote-provider/index.d.ts +0 -6
- package/dest/quote-provider/index.d.ts.map +0 -1
- package/dest/quote-provider/index.js +0 -2
- package/dest/quote-provider/simple.d.ts +0 -9
- package/dest/quote-provider/simple.d.ts.map +0 -1
- package/dest/quote-provider/simple.js +0 -11
- package/dest/quote-provider/utils.d.ts +0 -4
- package/dest/quote-provider/utils.d.ts.map +0 -1
- package/dest/quote-provider/utils.js +0 -8
- package/dest/quote-signer.d.ts +0 -13
- package/dest/quote-signer.d.ts.map +0 -1
- package/dest/quote-signer.js +0 -18
- package/src/bond/bond-manager.ts +0 -48
- package/src/bond/config.ts +0 -25
- package/src/bond/escrow-contract.ts +0 -50
- package/src/bond/factory.ts +0 -28
- package/src/bond/index.ts +0 -2
- package/src/bond/token-contract.ts +0 -72
- package/src/monitors/claims-monitor.ts +0 -69
- package/src/quote-provider/http.ts +0 -48
- package/src/quote-provider/index.ts +0 -8
- package/src/quote-provider/simple.ts +0 -15
- package/src/quote-provider/utils.ts +0 -10
- package/src/quote-signer.ts +0 -24
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { type L2Block } from '@aztec/circuit-types';
|
|
2
|
-
import { jsonStringify } from '@aztec/foundation/json-rpc';
|
|
3
|
-
|
|
4
|
-
import { type QuoteProvider, type QuoteProviderResult } from './index.js';
|
|
5
|
-
import { getTotalFees, getTxCount } from './utils.js';
|
|
6
|
-
|
|
7
|
-
export class HttpQuoteProvider implements QuoteProvider {
|
|
8
|
-
constructor(private readonly url: string) {}
|
|
9
|
-
|
|
10
|
-
public async getQuote(epochNumber: number, epoch: L2Block[]): Promise<QuoteProviderResult | undefined> {
|
|
11
|
-
const payload: HttpQuoteRequestPayload = {
|
|
12
|
-
epochNumber,
|
|
13
|
-
fromBlock: epoch[0].number,
|
|
14
|
-
toBlock: epoch.at(-1)!.number,
|
|
15
|
-
totalFees: getTotalFees(epoch).toString(),
|
|
16
|
-
txCount: getTxCount(epoch),
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const response = await fetch(this.url, {
|
|
20
|
-
method: 'POST',
|
|
21
|
-
body: jsonStringify(payload),
|
|
22
|
-
headers: { 'content-type': 'application/json' },
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
if (!response.ok) {
|
|
26
|
-
throw new Error(`Failed to fetch quote: ${response.statusText}`);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const data = await response.json();
|
|
30
|
-
if (!data.basisPointFee || !data.bondAmount) {
|
|
31
|
-
throw new Error(`Missing required fields (basisPointFee | bondAmount) in response: ${jsonStringify(data)}`);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
const basisPointFee = Number(data.basisPointFee);
|
|
35
|
-
const bondAmount = BigInt(data.bondAmount);
|
|
36
|
-
const validUntilSlot = data.validUntilSlot ? BigInt(data.validUntilSlot) : undefined;
|
|
37
|
-
|
|
38
|
-
return { basisPointFee, bondAmount, validUntilSlot };
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export type HttpQuoteRequestPayload = {
|
|
43
|
-
epochNumber: number;
|
|
44
|
-
fromBlock: number;
|
|
45
|
-
toBlock: number;
|
|
46
|
-
totalFees: string;
|
|
47
|
-
txCount: number;
|
|
48
|
-
};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { type EpochProofQuotePayload, type L2Block } from '@aztec/circuit-types';
|
|
2
|
-
|
|
3
|
-
export type QuoteProviderResult = Pick<EpochProofQuotePayload, 'basisPointFee' | 'bondAmount'> &
|
|
4
|
-
Partial<Pick<EpochProofQuotePayload, 'validUntilSlot'>>;
|
|
5
|
-
|
|
6
|
-
export interface QuoteProvider {
|
|
7
|
-
getQuote(epochNumber: number, epoch: L2Block[]): Promise<QuoteProviderResult | undefined>;
|
|
8
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { type EpochProofQuotePayload, type L2Block } from '@aztec/circuit-types';
|
|
2
|
-
|
|
3
|
-
import { type QuoteProvider } from './index.js';
|
|
4
|
-
|
|
5
|
-
export class SimpleQuoteProvider implements QuoteProvider {
|
|
6
|
-
constructor(public readonly basisPointFee: number, public readonly bondAmount: bigint) {}
|
|
7
|
-
|
|
8
|
-
getQuote(
|
|
9
|
-
_epochNumber: number,
|
|
10
|
-
_epoch: L2Block[],
|
|
11
|
-
): Promise<Pick<EpochProofQuotePayload, 'basisPointFee' | 'bondAmount'>> {
|
|
12
|
-
const { basisPointFee, bondAmount } = this;
|
|
13
|
-
return Promise.resolve({ basisPointFee, bondAmount });
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { type L2Block } from '@aztec/circuit-types';
|
|
2
|
-
import { Fr } from '@aztec/circuits.js';
|
|
3
|
-
|
|
4
|
-
export function getTotalFees(epoch: L2Block[]) {
|
|
5
|
-
return epoch.reduce((total, block) => total.add(block.header.totalFees), Fr.ZERO).toBigInt();
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export function getTxCount(epoch: L2Block[]) {
|
|
9
|
-
return epoch.reduce((total, block) => total + block.body.txEffects.length, 0);
|
|
10
|
-
}
|
package/src/quote-signer.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { EpochProofQuote, type EpochProofQuotePayload } from '@aztec/circuit-types';
|
|
2
|
-
import { Buffer32 } from '@aztec/foundation/buffer';
|
|
3
|
-
import { Secp256k1Signer } from '@aztec/foundation/crypto';
|
|
4
|
-
import { type RollupAbi } from '@aztec/l1-artifacts';
|
|
5
|
-
|
|
6
|
-
import { type GetContractReturnType, type PublicClient } from 'viem';
|
|
7
|
-
|
|
8
|
-
export class QuoteSigner {
|
|
9
|
-
constructor(
|
|
10
|
-
private readonly signer: Secp256k1Signer,
|
|
11
|
-
private readonly quoteToDigest: (payload: EpochProofQuotePayload) => Promise<Buffer32>,
|
|
12
|
-
) {}
|
|
13
|
-
|
|
14
|
-
static new(privateKey: Buffer32, rollupContract: GetContractReturnType<typeof RollupAbi, PublicClient>): QuoteSigner {
|
|
15
|
-
const quoteToDigest = (payload: EpochProofQuotePayload) =>
|
|
16
|
-
rollupContract.read.quoteToDigest([payload.toViemArgs()]).then(Buffer32.fromString);
|
|
17
|
-
return new QuoteSigner(new Secp256k1Signer(privateKey), quoteToDigest);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
public async sign(payload: EpochProofQuotePayload) {
|
|
21
|
-
const digest = await this.quoteToDigest(payload);
|
|
22
|
-
return EpochProofQuote.new(digest, payload, this.signer);
|
|
23
|
-
}
|
|
24
|
-
}
|