@aztec/ethereum 0.73.0 → 0.74.0
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/contracts/empire_base.d.ts +13 -0
- package/dest/contracts/empire_base.d.ts.map +1 -0
- package/dest/contracts/empire_base.js +10 -0
- package/dest/contracts/forwarder.d.ts +4 -3
- package/dest/contracts/forwarder.d.ts.map +1 -1
- package/dest/contracts/forwarder.js +29 -14
- package/dest/contracts/governance_proposer.d.ts +19 -4
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +33 -2
- package/dest/contracts/index.d.ts +2 -1
- package/dest/contracts/index.d.ts.map +1 -1
- package/dest/contracts/index.js +3 -2
- package/dest/contracts/rollup.d.ts +2 -0
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +19 -9
- package/dest/contracts/slashing_proposer.d.ts +14 -4
- package/dest/contracts/slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/slashing_proposer.js +19 -1
- package/dest/deploy_l1_contracts.d.ts +1448 -203
- package/dest/deploy_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_l1_contracts.js +6 -2
- package/dest/l1_tx_utils.d.ts +7 -6
- package/dest/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils.js +6 -17
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +25 -4
- package/package.json +3 -3
- package/src/contracts/empire_base.ts +19 -0
- package/src/contracts/forwarder.ts +37 -14
- package/src/contracts/governance_proposer.ts +54 -4
- package/src/contracts/index.ts +2 -1
- package/src/contracts/rollup.ts +20 -8
- package/src/contracts/slashing_proposer.ts +29 -2
- package/src/deploy_l1_contracts.ts +6 -0
- package/src/l1_tx_utils.ts +9 -19
- package/src/utils.ts +29 -3
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type Hex } from 'viem';
|
|
2
|
+
import { type L1TxRequest } from '../l1_tx_utils.js';
|
|
3
|
+
export interface IEmpireBase {
|
|
4
|
+
getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
|
|
5
|
+
lastVote: bigint;
|
|
6
|
+
leader: Hex;
|
|
7
|
+
executed: boolean;
|
|
8
|
+
}>;
|
|
9
|
+
computeRound(slot: bigint): Promise<bigint>;
|
|
10
|
+
createVoteRequest(payload: Hex): L1TxRequest;
|
|
11
|
+
}
|
|
12
|
+
export declare function encodeVote(payload: Hex): Hex;
|
|
13
|
+
//# sourceMappingURL=empire_base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,GAAG,EAAsB,MAAM,MAAM,CAAC;AAEpD,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC/G,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5C,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;CAC9C;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM5C"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EmpireBaseAbi } from '@aztec/l1-artifacts/EmpireBaseAbi';
|
|
2
|
+
import { encodeFunctionData } from 'viem';
|
|
3
|
+
export function encodeVote(payload) {
|
|
4
|
+
return encodeFunctionData({
|
|
5
|
+
abi: EmpireBaseAbi,
|
|
6
|
+
functionName: 'vote',
|
|
7
|
+
args: [payload],
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRSxPQUFPLEVBQVksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVcEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFZO0lBQ3JDLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGFBQWE7UUFDbEIsWUFBWSxFQUFFLE1BQU07UUFDcEIsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
|
|
@@ -4,11 +4,12 @@ import { type L1Clients } from '../deploy_l1_contracts.js';
|
|
|
4
4
|
import { type L1BlobInputs, type L1GasConfig, type L1TxRequest, type L1TxUtils } from '../l1_tx_utils.js';
|
|
5
5
|
export declare class ForwarderContract {
|
|
6
6
|
readonly client: L1Clients['publicClient'];
|
|
7
|
+
readonly rollupAddress: Hex;
|
|
7
8
|
private readonly forwarder;
|
|
8
|
-
constructor(client: L1Clients['publicClient'], address: Hex);
|
|
9
|
-
static create(owner: Hex, walletClient: WalletClient<HttpTransport, Chain, Account>, publicClient: PublicClient<HttpTransport, Chain>, logger: Logger): Promise<ForwarderContract>;
|
|
9
|
+
constructor(client: L1Clients['publicClient'], address: Hex, rollupAddress: Hex);
|
|
10
|
+
static create(owner: Hex, walletClient: WalletClient<HttpTransport, Chain, Account>, publicClient: PublicClient<HttpTransport, Chain>, logger: Logger, rollupAddress: Hex): Promise<ForwarderContract>;
|
|
10
11
|
getAddress(): `0x${string}`;
|
|
11
|
-
forward(requests: L1TxRequest[], l1TxUtils: L1TxUtils, gasConfig: L1GasConfig | undefined, blobConfig: L1BlobInputs | undefined): Promise<{
|
|
12
|
+
forward(requests: L1TxRequest[], l1TxUtils: L1TxUtils, gasConfig: L1GasConfig | undefined, blobConfig: L1BlobInputs | undefined, logger: Logger): Promise<{
|
|
12
13
|
receipt: import("viem").TransactionReceipt;
|
|
13
14
|
gasPrice: import("../l1_tx_utils.js").GasPrice;
|
|
14
15
|
stats: import("../l1_tx_utils.js").TransactionStats | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EAGlB,MAAM,MAAM,CAAC;AAEd,OAAO,EAAE,KAAK,SAAS,EAAoB,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG1G,qBAAa,iBAAiB;aAGA,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;aAAgC,aAAa,EAAE,GAAG;IAF/G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiF;gBAE/E,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAkB,aAAa,EAAE,GAAG;WAIlG,MAAM,CACjB,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,EACzD,YAAY,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,EAChD,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG;IAwBb,UAAU;IAIJ,OAAO,CAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,UAAU,EAAE,YAAY,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM;;;;;;;;;;;CAqEjB"}
|
|
@@ -1,45 +1,48 @@
|
|
|
1
|
+
import { toHex } from '@aztec/foundation/bigint-buffer';
|
|
1
2
|
import { ForwarderAbi, ForwarderBytecode } from '@aztec/l1-artifacts';
|
|
2
3
|
import { encodeFunctionData, getContract, } from 'viem';
|
|
3
4
|
import { deployL1Contract } from '../deploy_l1_contracts.js';
|
|
5
|
+
import { RollupContract } from './rollup.js';
|
|
4
6
|
export class ForwarderContract {
|
|
5
|
-
constructor(client, address) {
|
|
7
|
+
constructor(client, address, rollupAddress) {
|
|
6
8
|
this.client = client;
|
|
9
|
+
this.rollupAddress = rollupAddress;
|
|
7
10
|
this.forwarder = getContract({ address, abi: ForwarderAbi, client });
|
|
8
11
|
}
|
|
9
|
-
static async create(owner, walletClient, publicClient, logger) {
|
|
12
|
+
static async create(owner, walletClient, publicClient, logger, rollupAddress) {
|
|
10
13
|
logger.info('Deploying forwarder contract');
|
|
11
14
|
const { address, txHash } = await deployL1Contract(walletClient, publicClient, ForwarderAbi, ForwarderBytecode, [owner], owner, undefined, logger);
|
|
12
15
|
if (txHash) {
|
|
13
16
|
await publicClient.waitForTransactionReceipt({ hash: txHash });
|
|
14
17
|
}
|
|
15
18
|
logger.info(`Forwarder contract deployed at ${address} with owner ${owner}`);
|
|
16
|
-
return new ForwarderContract(publicClient, address.toString());
|
|
19
|
+
return new ForwarderContract(publicClient, address.toString(), rollupAddress);
|
|
17
20
|
}
|
|
18
21
|
getAddress() {
|
|
19
22
|
return this.forwarder.address;
|
|
20
23
|
}
|
|
21
|
-
async forward(requests, l1TxUtils, gasConfig, blobConfig) {
|
|
24
|
+
async forward(requests, l1TxUtils, gasConfig, blobConfig, logger) {
|
|
22
25
|
requests = requests.filter(request => request.to !== null);
|
|
23
26
|
const toArgs = requests.map(request => request.to);
|
|
24
27
|
const dataArgs = requests.map(request => request.data);
|
|
25
|
-
const
|
|
28
|
+
const forwarderFunctionData = {
|
|
26
29
|
abi: ForwarderAbi,
|
|
27
30
|
functionName: 'forward',
|
|
28
31
|
args: [toArgs, dataArgs],
|
|
29
|
-
}
|
|
32
|
+
};
|
|
33
|
+
const encodedForwarderData = encodeFunctionData(forwarderFunctionData);
|
|
30
34
|
const { receipt, gasPrice } = await l1TxUtils.sendAndMonitorTransaction({
|
|
31
35
|
to: this.forwarder.address,
|
|
32
|
-
data,
|
|
36
|
+
data: encodedForwarderData,
|
|
33
37
|
}, gasConfig, blobConfig);
|
|
34
38
|
if (receipt.status === 'success') {
|
|
35
39
|
const stats = await l1TxUtils.getTransactionStats(receipt.transactionHash);
|
|
36
40
|
return { receipt, gasPrice, stats };
|
|
37
41
|
}
|
|
38
42
|
else {
|
|
43
|
+
logger.error('Forwarder transaction failed', undefined, { receipt });
|
|
39
44
|
const args = {
|
|
40
|
-
|
|
41
|
-
functionName: 'forward',
|
|
42
|
-
abi: ForwarderAbi,
|
|
45
|
+
...forwarderFunctionData,
|
|
43
46
|
address: this.forwarder.address,
|
|
44
47
|
};
|
|
45
48
|
let errorMsg;
|
|
@@ -49,18 +52,30 @@ export class ForwarderContract {
|
|
|
49
52
|
errorMsg = 'maxFeePerBlobGas is required to get the error message';
|
|
50
53
|
}
|
|
51
54
|
else {
|
|
52
|
-
|
|
55
|
+
logger.debug('Trying to get error from reverted tx with blob config');
|
|
56
|
+
errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(encodedForwarderData, args, {
|
|
53
57
|
blobs: blobConfig.blobs,
|
|
54
58
|
kzg: blobConfig.kzg,
|
|
55
59
|
maxFeePerBlobGas,
|
|
56
|
-
}
|
|
60
|
+
}, [
|
|
61
|
+
{
|
|
62
|
+
address: this.rollupAddress,
|
|
63
|
+
stateDiff: [
|
|
64
|
+
{
|
|
65
|
+
slot: toHex(RollupContract.checkBlobStorageSlot, true),
|
|
66
|
+
value: toHex(0n, true),
|
|
67
|
+
},
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
]);
|
|
57
71
|
}
|
|
58
72
|
}
|
|
59
73
|
else {
|
|
60
|
-
|
|
74
|
+
logger.debug('Trying to get error from reverted tx without blob config');
|
|
75
|
+
errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(encodedForwarderData, args, undefined, []);
|
|
61
76
|
}
|
|
62
77
|
return { receipt, gasPrice, errorMsg };
|
|
63
78
|
}
|
|
64
79
|
}
|
|
65
80
|
}
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9mb3J3YXJkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBU0wsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBNEIsTUFBaUMsRUFBRSxPQUFZLEVBQWtCLGFBQWtCO1FBQW5GLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQWdDLGtCQUFhLEdBQWIsYUFBYSxDQUFLO1FBQzdHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEtBQVUsRUFDVixZQUF5RCxFQUN6RCxZQUFnRCxFQUNoRCxNQUFjLEVBQ2QsYUFBa0I7UUFFbEIsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FDaEQsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLENBQUMsS0FBSyxDQUFDLEVBQ1AsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxPQUFPLGVBQWUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RSxPQUFPLElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFFBQXVCLEVBQ3ZCLFNBQW9CLEVBQ3BCLFNBQWtDLEVBQ2xDLFVBQW9DLEVBQ3BDLE1BQWM7UUFFZCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFHLENBQUMsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0scUJBQXFCLEdBQWlFO1lBQzFGLEdBQUcsRUFBRSxZQUFZO1lBQ2pCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDekIsQ0FBQztRQUNGLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV2RSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLHlCQUF5QixDQUNyRTtZQUNFLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtTQUMzQixFQUNELFNBQVMsRUFDVCxVQUFVLENBQ1gsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFckUsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsR0FBRyxxQkFBcUI7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87YUFDaEMsQ0FBQztZQUVGLElBQUksUUFBNEIsQ0FBQztZQUVqQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbEYsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkMsUUFBUSxHQUFHLHVEQUF1RCxDQUFDO2dCQUNyRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO29CQUN0RSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMseUJBQXlCLENBQ2xELG9CQUFvQixFQUNwQixJQUFJLEVBQ0o7d0JBQ0UsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO3dCQUN2QixHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUc7d0JBQ25CLGdCQUFnQjtxQkFDakIsRUFDRDt3QkFDRTs0QkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWE7NEJBQzNCLFNBQVMsRUFBRTtnQ0FDVDtvQ0FDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7b0NBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztpQ0FDdkI7NkJBQ0Y7eUJBQ0Y7cUJBQ0YsQ0FDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO2dCQUN6RSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMseUJBQXlCLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNsRyxDQUFDO1lBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
|
|
@@ -1,13 +1,28 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { type Hex, type TransactionReceipt } from 'viem';
|
|
3
|
+
import type { L1Clients } from '../deploy_l1_contracts.js';
|
|
4
|
+
import type { GasPrice, L1TxRequest, L1TxUtils } from '../l1_tx_utils.js';
|
|
5
|
+
import { type IEmpireBase } from './empire_base.js';
|
|
6
|
+
export declare class GovernanceProposerContract implements IEmpireBase {
|
|
7
|
+
readonly client: L1Clients['publicClient'];
|
|
5
8
|
private readonly proposer;
|
|
6
|
-
constructor(client:
|
|
9
|
+
constructor(client: L1Clients['publicClient'], address: Hex);
|
|
7
10
|
get address(): EthAddress;
|
|
8
11
|
getRollupAddress(): Promise<EthAddress>;
|
|
9
12
|
getRegistryAddress(): Promise<EthAddress>;
|
|
10
13
|
getQuorumSize(): Promise<bigint>;
|
|
11
14
|
getRoundSize(): Promise<bigint>;
|
|
15
|
+
computeRound(slot: bigint): Promise<bigint>;
|
|
16
|
+
getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
|
|
17
|
+
lastVote: bigint;
|
|
18
|
+
leader: Hex;
|
|
19
|
+
executed: boolean;
|
|
20
|
+
}>;
|
|
21
|
+
getProposalVotes(rollupAddress: Hex, round: bigint, proposal: Hex): Promise<bigint>;
|
|
22
|
+
createVoteRequest(payload: Hex): L1TxRequest;
|
|
23
|
+
executeProposal(round: bigint, l1TxUtils: L1TxUtils): Promise<{
|
|
24
|
+
receipt: TransactionReceipt;
|
|
25
|
+
gasPrice: GasPrice;
|
|
26
|
+
}>;
|
|
12
27
|
}
|
|
13
28
|
//# sourceMappingURL=governance_proposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/governance_proposer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,
|
|
1
|
+
{"version":3,"file":"governance_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/governance_proposer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAGL,KAAK,GAAG,EAGR,KAAK,kBAAkB,EAGxB,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,qBAAa,0BAA2B,YAAW,WAAW;aAGhC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;IAF7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0F;gBAEvF,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG;IAI3E,IAAW,OAAO,eAEjB;IAEY,gBAAgB;IAKhB,kBAAkB;IAIxB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IASzD,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;IAO5C,eAAe,CACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC;KACpB,CAAC;CAUH"}
|
|
@@ -2,7 +2,8 @@ import { __esDecorate, __runInitializers } from "tslib";
|
|
|
2
2
|
import { memoize } from '@aztec/foundation/decorators';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
4
|
import { GovernanceProposerAbi } from '@aztec/l1-artifacts';
|
|
5
|
-
import { getContract, } from 'viem';
|
|
5
|
+
import { encodeFunctionData, getContract, } from 'viem';
|
|
6
|
+
import { encodeVote } from './empire_base.js';
|
|
6
7
|
let GovernanceProposerContract = (() => {
|
|
7
8
|
var _a;
|
|
8
9
|
let _instanceExtraInitializers = [];
|
|
@@ -27,6 +28,36 @@ let GovernanceProposerContract = (() => {
|
|
|
27
28
|
getRoundSize() {
|
|
28
29
|
return this.proposer.read.M();
|
|
29
30
|
}
|
|
31
|
+
computeRound(slot) {
|
|
32
|
+
return this.proposer.read.computeRound([slot]);
|
|
33
|
+
}
|
|
34
|
+
async getRoundInfo(rollupAddress, round) {
|
|
35
|
+
const roundInfo = await this.proposer.read.rounds([rollupAddress, round]);
|
|
36
|
+
return {
|
|
37
|
+
lastVote: roundInfo[0],
|
|
38
|
+
leader: roundInfo[1],
|
|
39
|
+
executed: roundInfo[2],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
getProposalVotes(rollupAddress, round, proposal) {
|
|
43
|
+
return this.proposer.read.yeaCount([rollupAddress, round, proposal]);
|
|
44
|
+
}
|
|
45
|
+
createVoteRequest(payload) {
|
|
46
|
+
return {
|
|
47
|
+
to: this.address.toString(),
|
|
48
|
+
data: encodeVote(payload),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
executeProposal(round, l1TxUtils) {
|
|
52
|
+
return l1TxUtils.sendAndMonitorTransaction({
|
|
53
|
+
to: this.address.toString(),
|
|
54
|
+
data: encodeFunctionData({
|
|
55
|
+
abi: this.proposer.abi,
|
|
56
|
+
functionName: 'executeProposal',
|
|
57
|
+
args: [round],
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
30
61
|
},
|
|
31
62
|
(() => {
|
|
32
63
|
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
|
|
@@ -37,4 +68,4 @@ let GovernanceProposerContract = (() => {
|
|
|
37
68
|
_a;
|
|
38
69
|
})();
|
|
39
70
|
export { GovernanceProposerContract };
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZV9wcm9wb3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZ292ZXJuYW5jZV9wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBT0wsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUlkLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFFbkQsMEJBQTBCOzs7O3NCQUExQiwwQkFBMEI7WUFHckMsWUFBNEIsTUFBaUMsRUFBRSxPQUFZO2dCQUEvQyxXQUFNLElBSHZCLG1EQUEwQixFQUdULE1BQU0sRUFBMkI7Z0JBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLENBQUM7WUFFRCxJQUFXLE9BQU87Z0JBQ2hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFFTSxLQUFLLENBQUMsZ0JBQWdCO2dCQUMzQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFHTSxLQUFLLENBQUMsa0JBQWtCO2dCQUM3QixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFTSxhQUFhO2dCQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFTSxZQUFZO2dCQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFTSxZQUFZLENBQUMsSUFBWTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFFTSxLQUFLLENBQUMsWUFBWSxDQUN2QixhQUFrQixFQUNsQixLQUFhO2dCQUViLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLE9BQU87b0JBQ0wsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDdkIsQ0FBQztZQUNKLENBQUM7WUFFTSxnQkFBZ0IsQ0FBQyxhQUFrQixFQUFFLEtBQWEsRUFBRSxRQUFhO2dCQUN0RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1lBRU0saUJBQWlCLENBQUMsT0FBWTtnQkFDbkMsT0FBTztvQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7b0JBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2lCQUMxQixDQUFDO1lBQ0osQ0FBQztZQUVNLGVBQWUsQ0FDcEIsS0FBYSxFQUNiLFNBQW9CO2dCQUtwQixPQUFPLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO29CQUMzQixJQUFJLEVBQUUsa0JBQWtCLENBQUM7d0JBQ3ZCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUc7d0JBQ3RCLFlBQVksRUFBRSxpQkFBaUI7d0JBQy9CLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztxQkFDZCxDQUFDO2lCQUNILENBQUMsQ0FBQztZQUNMLENBQUM7Ozs7OENBdkRBLE9BQU87WUFDUix1TUFBYSxrQkFBa0IsNkRBRTlCOzs7OztTQWxCVSwwQkFBMEIifQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './empire_base.js';
|
|
1
2
|
export * from './forwarder.js';
|
|
2
|
-
export * from './rollup.js';
|
|
3
3
|
export * from './governance.js';
|
|
4
4
|
export * from './governance_proposer.js';
|
|
5
|
+
export * from './rollup.js';
|
|
5
6
|
export * from './slashing_proposer.js';
|
|
6
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC"}
|
package/dest/contracts/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './empire_base.js';
|
|
1
2
|
export * from './forwarder.js';
|
|
2
|
-
export * from './rollup.js';
|
|
3
3
|
export * from './governance.js';
|
|
4
4
|
export * from './governance_proposer.js';
|
|
5
|
+
export * from './rollup.js';
|
|
5
6
|
export * from './slashing_proposer.js';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQyJ9
|
|
@@ -18,6 +18,7 @@ export type EpochProofQuoteViemArgs = {
|
|
|
18
18
|
export declare class RollupContract {
|
|
19
19
|
readonly client: PublicClient<HttpTransport, Chain>;
|
|
20
20
|
private readonly rollup;
|
|
21
|
+
static get checkBlobStorageSlot(): bigint;
|
|
21
22
|
static getFromL1ContractsValues(deployL1ContractsValues: DeployL1Contracts): RollupContract;
|
|
22
23
|
static getFromConfig(config: L1ReaderConfig): RollupContract;
|
|
23
24
|
constructor(client: PublicClient<HttpTransport, Chain>, address: Hex);
|
|
@@ -57,6 +58,7 @@ export declare class RollupContract {
|
|
|
57
58
|
pendingBlockNumber: bigint;
|
|
58
59
|
provenBlockNumber: bigint;
|
|
59
60
|
}>;
|
|
61
|
+
getTimestampForSlot(slot: bigint): Promise<bigint>;
|
|
60
62
|
getEpochNumber(blockNumber?: bigint): Promise<bigint>;
|
|
61
63
|
getRollupAddresses(): Promise<L1RollupContractAddresses>;
|
|
62
64
|
getEpochNumberForSlotNumber(slotNumber: bigint): Promise<bigint>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAGrE,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EAKlB,MAAM,MAAM,CAAC;AAGd,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,mBAAmB,EACjB,eAAe,GACf,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,qBAAqB,GACrB,0BAA0B,CAC7B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
|
package/dest/contracts/rollup.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
2
|
import { memoize } from '@aztec/foundation/decorators';
|
|
3
3
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
import { RollupAbi, SlasherAbi } from '@aztec/l1-artifacts';
|
|
4
|
+
import { RollupAbi, RollupStorage, SlasherAbi } from '@aztec/l1-artifacts';
|
|
5
5
|
import { createPublicClient, getAddress, getContract, http, } from 'viem';
|
|
6
6
|
import { createEthereumChain } from '../chain.js';
|
|
7
7
|
import { formatViemError } from '../utils.js';
|
|
@@ -18,6 +18,13 @@ let RollupContract = (() => {
|
|
|
18
18
|
let _getTargetCommitteeSize_decorators;
|
|
19
19
|
let _getMinimumStake_decorators;
|
|
20
20
|
return _a = class RollupContract {
|
|
21
|
+
static get checkBlobStorageSlot() {
|
|
22
|
+
const asString = RollupStorage.find(storage => storage.label === 'checkBlob')?.slot;
|
|
23
|
+
if (asString === undefined) {
|
|
24
|
+
throw new Error('checkBlobStorageSlot not found');
|
|
25
|
+
}
|
|
26
|
+
return BigInt(asString);
|
|
27
|
+
}
|
|
21
28
|
static getFromL1ContractsValues(deployL1ContractsValues) {
|
|
22
29
|
const { publicClient, l1ContractAddresses: { rollupAddress }, } = deployL1ContractsValues;
|
|
23
30
|
return new _a(publicClient, rollupAddress.toString());
|
|
@@ -38,7 +45,7 @@ let RollupContract = (() => {
|
|
|
38
45
|
return this.rollup.address;
|
|
39
46
|
}
|
|
40
47
|
async getSlashingProposer() {
|
|
41
|
-
const slasherAddress = await this.rollup.read.
|
|
48
|
+
const slasherAddress = await this.rollup.read.getSlasher();
|
|
42
49
|
const slasher = getContract({ address: slasherAddress, abi: SlasherAbi, client: this.client });
|
|
43
50
|
const proposerAddress = await slasher.read.PROPOSER();
|
|
44
51
|
return new SlashingProposerContract(this.client, proposerAddress);
|
|
@@ -47,25 +54,25 @@ let RollupContract = (() => {
|
|
|
47
54
|
return this.rollup.read.L1_BLOCK_AT_GENESIS();
|
|
48
55
|
}
|
|
49
56
|
getL1GenesisTime() {
|
|
50
|
-
return this.rollup.read.
|
|
57
|
+
return this.rollup.read.getGenesisTime();
|
|
51
58
|
}
|
|
52
59
|
getClaimDurationInL2Slots() {
|
|
53
60
|
return this.rollup.read.CLAIM_DURATION_IN_L2_SLOTS();
|
|
54
61
|
}
|
|
55
62
|
getEpochDuration() {
|
|
56
|
-
return this.rollup.read.
|
|
63
|
+
return this.rollup.read.getEpochDuration();
|
|
57
64
|
}
|
|
58
65
|
getSlotDuration() {
|
|
59
|
-
return this.rollup.read.
|
|
66
|
+
return this.rollup.read.getSlotDuration();
|
|
60
67
|
}
|
|
61
68
|
getTargetCommitteeSize() {
|
|
62
69
|
return this.rollup.read.TARGET_COMMITTEE_SIZE();
|
|
63
70
|
}
|
|
64
71
|
getMinimumStake() {
|
|
65
|
-
return this.rollup.read.
|
|
72
|
+
return this.rollup.read.getMinimumStake();
|
|
66
73
|
}
|
|
67
74
|
async getSlashingProposerAddress() {
|
|
68
|
-
const slasherAddress = await this.rollup.read.
|
|
75
|
+
const slasherAddress = await this.rollup.read.getSlasher();
|
|
69
76
|
const slasher = getContract({
|
|
70
77
|
address: getAddress(slasherAddress.toString()),
|
|
71
78
|
abi: SlasherAbi,
|
|
@@ -109,6 +116,9 @@ let RollupContract = (() => {
|
|
|
109
116
|
getTips() {
|
|
110
117
|
return this.rollup.read.getTips();
|
|
111
118
|
}
|
|
119
|
+
getTimestampForSlot(slot) {
|
|
120
|
+
return this.rollup.read.getTimestampForSlot([slot]);
|
|
121
|
+
}
|
|
112
122
|
async getEpochNumber(blockNumber) {
|
|
113
123
|
blockNumber ?? (blockNumber = await this.getBlockNumber());
|
|
114
124
|
return this.rollup.read.getEpochForBlock([BigInt(blockNumber)]);
|
|
@@ -120,7 +130,7 @@ let RollupContract = (() => {
|
|
|
120
130
|
this.rollup.read.FEE_JUICE_PORTAL(),
|
|
121
131
|
this.rollup.read.REWARD_DISTRIBUTOR(),
|
|
122
132
|
this.rollup.read.ASSET(),
|
|
123
|
-
this.rollup.read.
|
|
133
|
+
this.rollup.read.getStakingAsset(),
|
|
124
134
|
])).map(EthAddress.fromString);
|
|
125
135
|
return {
|
|
126
136
|
rollupAddress: EthAddress.fromString(this.address),
|
|
@@ -236,4 +246,4 @@ let RollupContract = (() => {
|
|
|
236
246
|
_a;
|
|
237
247
|
})();
|
|
238
248
|
export { RollupContract };
|
|
239
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBT0wsa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBSWxELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDOUMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7SUFxQnJELGNBQWM7Ozs7Ozs7Ozs7O3NCQUFkLGNBQWM7WUFHekIsTUFBTSxDQUFDLHdCQUF3QixDQUFDLHVCQUEwQztnQkFDeEUsTUFBTSxFQUNKLFlBQVksRUFDWixtQkFBbUIsRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUN2QyxHQUFHLHVCQUF1QixDQUFDO2dCQUM1QixPQUFPLElBQUksRUFBYyxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNwRSxDQUFDO1lBRUQsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFzQjtnQkFDekMsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztvQkFDaEMsS0FBSyxFQUFFLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7aUJBQ3hFLENBQUMsQ0FBQztnQkFDSCxNQUFNLE9B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
|
|
249
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9yb2xsdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFM0UsT0FBTyxFQU9MLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsV0FBVyxFQUNYLElBQUksR0FDTCxNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0lBcUJyRCxjQUFjOzs7Ozs7Ozs7OztzQkFBZCxjQUFjO1lBR3pCLE1BQU0sS0FBSyxvQkFBb0I7Z0JBQzdCLE1BQU0sUUFBUSxHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxLQUFLLFdBQVcsQ0FBQyxFQUFFLElBQUksQ0FBQztnQkFDcEYsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7b0JBQzNCLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztnQkFDcEQsQ0FBQztnQkFDRCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUMxQixDQUFDO1lBRUQsTUFBTSxDQUFDLHdCQUF3QixDQUFDLHVCQUEwQztnQkFDeEUsTUFBTSxFQUNKLFlBQVksRUFDWixtQkFBbUIsRUFBRSxFQUFFLGFBQWEsRUFBRSxHQUN2QyxHQUFHLHVCQUF1QixDQUFDO2dCQUM1QixPQUFPLElBQUksRUFB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
|
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
-
import { type
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { type Hex } from 'viem';
|
|
3
|
+
import type { L1Clients } from '../deploy_l1_contracts.js';
|
|
4
|
+
import type { L1TxRequest } from '../l1_tx_utils.js';
|
|
5
|
+
import { type IEmpireBase } from './empire_base.js';
|
|
6
|
+
export declare class SlashingProposerContract implements IEmpireBase {
|
|
7
|
+
readonly client: L1Clients['publicClient'];
|
|
5
8
|
private readonly proposer;
|
|
6
|
-
constructor(client:
|
|
9
|
+
constructor(client: L1Clients['publicClient'], address: Hex);
|
|
7
10
|
get address(): EthAddress;
|
|
8
11
|
getQuorumSize(): Promise<bigint>;
|
|
9
12
|
getRoundSize(): Promise<bigint>;
|
|
13
|
+
computeRound(slot: bigint): Promise<bigint>;
|
|
14
|
+
getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
|
|
15
|
+
lastVote: bigint;
|
|
16
|
+
leader: Hex;
|
|
17
|
+
executed: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
createVoteRequest(payload: Hex): L1TxRequest;
|
|
10
20
|
}
|
|
11
21
|
//# sourceMappingURL=slashing_proposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,
|
|
1
|
+
{"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAGL,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,qBAAa,wBAAyB,YAAW,WAAW;aAG9B,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;IAF7D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwF;gBAErF,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG;IAI3E,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IASzD,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;CAMpD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import { SlashingProposerAbi } from '@aztec/l1-artifacts';
|
|
3
3
|
import { getContract, } from 'viem';
|
|
4
|
+
import { encodeVote } from './empire_base.js';
|
|
4
5
|
export class SlashingProposerContract {
|
|
5
6
|
constructor(client, address) {
|
|
6
7
|
this.client = client;
|
|
@@ -15,5 +16,22 @@ export class SlashingProposerContract {
|
|
|
15
16
|
getRoundSize() {
|
|
16
17
|
return this.proposer.read.M();
|
|
17
18
|
}
|
|
19
|
+
computeRound(slot) {
|
|
20
|
+
return this.proposer.read.computeRound([slot]);
|
|
21
|
+
}
|
|
22
|
+
async getRoundInfo(rollupAddress, round) {
|
|
23
|
+
const roundInfo = await this.proposer.read.rounds([rollupAddress, round]);
|
|
24
|
+
return {
|
|
25
|
+
lastVote: roundInfo[0],
|
|
26
|
+
leader: roundInfo[1],
|
|
27
|
+
executed: roundInfo[2],
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
createVoteRequest(payload) {
|
|
31
|
+
return {
|
|
32
|
+
to: this.address.toString(),
|
|
33
|
+
data: encodeVote(payload),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
18
36
|
}
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hpbmdfcHJvcG9zZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3NsYXNoaW5nX3Byb3Bvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBTUwsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBSWQsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLFlBQTRCLE1BQWlDLEVBQUUsT0FBWTtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUN2QixhQUFrQixFQUNsQixLQUFhO1FBRWIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxPQUFZO1FBQ25DLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9
|