@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.
Files changed (36) hide show
  1. package/dest/contracts/empire_base.d.ts +13 -0
  2. package/dest/contracts/empire_base.d.ts.map +1 -0
  3. package/dest/contracts/empire_base.js +10 -0
  4. package/dest/contracts/forwarder.d.ts +4 -3
  5. package/dest/contracts/forwarder.d.ts.map +1 -1
  6. package/dest/contracts/forwarder.js +29 -14
  7. package/dest/contracts/governance_proposer.d.ts +19 -4
  8. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  9. package/dest/contracts/governance_proposer.js +33 -2
  10. package/dest/contracts/index.d.ts +2 -1
  11. package/dest/contracts/index.d.ts.map +1 -1
  12. package/dest/contracts/index.js +3 -2
  13. package/dest/contracts/rollup.d.ts +2 -0
  14. package/dest/contracts/rollup.d.ts.map +1 -1
  15. package/dest/contracts/rollup.js +19 -9
  16. package/dest/contracts/slashing_proposer.d.ts +14 -4
  17. package/dest/contracts/slashing_proposer.d.ts.map +1 -1
  18. package/dest/contracts/slashing_proposer.js +19 -1
  19. package/dest/deploy_l1_contracts.d.ts +1448 -203
  20. package/dest/deploy_l1_contracts.d.ts.map +1 -1
  21. package/dest/deploy_l1_contracts.js +6 -2
  22. package/dest/l1_tx_utils.d.ts +7 -6
  23. package/dest/l1_tx_utils.d.ts.map +1 -1
  24. package/dest/l1_tx_utils.js +6 -17
  25. package/dest/utils.d.ts.map +1 -1
  26. package/dest/utils.js +25 -4
  27. package/package.json +3 -3
  28. package/src/contracts/empire_base.ts +19 -0
  29. package/src/contracts/forwarder.ts +37 -14
  30. package/src/contracts/governance_proposer.ts +54 -4
  31. package/src/contracts/index.ts +2 -1
  32. package/src/contracts/rollup.ts +20 -8
  33. package/src/contracts/slashing_proposer.ts +29 -2
  34. package/src/deploy_l1_contracts.ts +6 -0
  35. package/src/l1_tx_utils.ts +9 -19
  36. 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":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EAEV,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;AAE1G,qBAAa,iBAAiB;aAGA,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;IAF7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiF;gBAE/E,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG;WAI9D,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;IAwBT,UAAU;IAIJ,OAAO,CAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,UAAU,EAAE,YAAY,GAAG,SAAS;;;;;;;;;;;CAmDvC"}
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 data = encodeFunctionData({
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
- args: [toArgs, dataArgs],
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
- errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(data, args, {
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
- errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(data, args);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9mb3J3YXJkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXRFLE9BQU8sRUFRTCxrQkFBa0IsRUFDbEIsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFrQixnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRzdFLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBNEIsTUFBaUMsRUFBRSxPQUFZO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQzNELElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEtBQVUsRUFDVixZQUF5RCxFQUN6RCxZQUFnRCxFQUNoRCxNQUFjO1FBRWQsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FDaEQsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLENBQUMsS0FBSyxDQUFDLEVBQ1AsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxPQUFPLGVBQWUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RSxP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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9mb3J3YXJkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBU0wsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBNEIsTUFBaUMsRUFBRSxPQUFZLEVBQWtCLGFBQWtCO1FBQW5GLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQWdDLGtCQUFhLEdBQWIsYUFBYSxDQUFLO1FBQzdHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEtBQVUsRUFDVixZQUF5RCxFQUN6RCxZQUFnRCxFQUNoRCxNQUFjLEVBQ2QsYUFBa0I7UUFFbEIsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FDaEQsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLENBQUMsS0FBSyxDQUFDLEVBQ1AsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLENBQUM7UUFFRCxNQUFNLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxPQUFPLGVBQWUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUU3RSxPQUFPLElBQUksaUJBQWlCLENBQUMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUM7SUFDaEMsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLFFBQXVCLEVBQ3ZCLFNBQW9CLEVBQ3BCLFNBQWtDLEVBQ2xDLFVBQW9DLEVBQ3BDLE1BQWM7UUFFZCxRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7UUFDM0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFHLENBQUMsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUssQ0FBQyxDQUFDO1FBQ3hELE1BQU0scUJBQXFCLEdBQWlFO1lBQzFGLEdBQUcsRUFBRSxZQUFZO1lBQ2pCLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUM7U0FDekIsQ0FBQztRQUNGLE1BQU0sb0JBQW9CLEdBQUcsa0JBQWtCLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUV2RSxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLHlCQUF5QixDQUNyRTtZQUNFLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87WUFDMUIsSUFBSSxFQUFFLG9CQUFvQjtTQUMzQixFQUNELFNBQVMsRUFDVCxVQUFVLENBQ1gsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNqQyxNQUFNLEtBQUssR0FBRyxNQUFNLFNBQVMsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDdEMsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsS0FBSyxDQUFDLDhCQUE4QixFQUFFLFNBQVMsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFckUsTUFBTSxJQUFJLEdBQUc7Z0JBQ1gsR0FBRyxxQkFBcUI7Z0JBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU87YUFDaEMsQ0FBQztZQUVGLElBQUksUUFBNEIsQ0FBQztZQUVqQyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNmLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLGdCQUFnQixJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQztnQkFDbEYsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztvQkFDbkMsUUFBUSxHQUFHLHVEQUF1RCxDQUFDO2dCQUNyRSxDQUFDO3FCQUFNLENBQUM7b0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFDO29CQUN0RSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMseUJBQXlCLENBQ2xELG9CQUFvQixFQUNwQixJQUFJLEVBQ0o7d0JBQ0UsS0FBSyxFQUFFLFVBQVUsQ0FBQyxLQUFLO3dCQUN2QixHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUc7d0JBQ25CLGdCQUFnQjtxQkFDakIsRUFDRDt3QkFDRTs0QkFDRSxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWE7NEJBQzNCLFNBQVMsRUFBRTtnQ0FDVDtvQ0FDRSxJQUFJLEVBQUUsS0FBSyxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUM7b0NBQ3RELEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQztpQ0FDdkI7NkJBQ0Y7eUJBQ0Y7cUJBQ0YsQ0FDRixDQUFDO2dCQUNKLENBQUM7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxDQUFDLEtBQUssQ0FBQywwREFBMEQsQ0FBQyxDQUFDO2dCQUN6RSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMseUJBQXlCLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNsRyxDQUFDO1lBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDekMsQ0FBQztJQUNILENBQUM7Q0FDRiJ9
@@ -1,13 +1,28 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { type Chain, type Hex, type HttpTransport, type PublicClient } from 'viem';
3
- export declare class GovernanceProposerContract {
4
- readonly client: PublicClient<HttpTransport, Chain>;
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: PublicClient<HttpTransport, Chain>, address: Hex);
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,EACL,KAAK,KAAK,EAEV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,MAAM,CAAC;AAEd,qBAAa,0BAA0B;aAGT,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC;IAFtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0F;gBAEvF,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG;IAIpF,IAAW,OAAO,eAEjB;IAEY,gBAAgB;IAKhB,kBAAkB;IAIxB,aAAa;IAIb,YAAY;CAGpB"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZV9wcm9wb3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZ292ZXJuYW5jZV9wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBTUwsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0lBRUQsMEJBQTBCOzs7O3NCQUExQiwwQkFBMEI7WUFHckMsWUFBNEIsTUFBMEMsRUFBRSxPQUFZO2dCQUF4RCxXQUFNLElBSHZCLG1EQUEwQixFQUdULE1BQU0sRUFBb0M7Z0JBQ3BFLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLENBQUM7WUFFRCxJQUFXLE9BQU87Z0JBQ2hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFFTSxLQUFLLENBQUMsZ0JBQWdCO2dCQUMzQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFHTSxLQUFLLENBQUMsa0JBQWtCO2dCQUM3QixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFTSxhQUFhO2dCQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFTSxZQUFZO2dCQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7Ozs7OENBWEEsT0FBTztZQUNSLHVNQUFhLGtCQUFrQiw2REFFOUI7Ozs7O1NBbEJVLDBCQUEwQiJ9
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,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,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"}
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsd0JBQXdCLENBQUMifQ==
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":"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"}
1
+ {"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
@@ -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.SLASHER();
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.GENESIS_TIME();
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.EPOCH_DURATION();
63
+ return this.rollup.read.getEpochDuration();
57
64
  }
58
65
  getSlotDuration() {
59
- return this.rollup.read.SLOT_DURATION();
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.MINIMUM_STAKE();
72
+ return this.rollup.read.getMinimumStake();
66
73
  }
67
74
  async getSlashingProposerAddress() {
68
- const slasherAddress = await this.rollup.read.SLASHER();
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.STAKING_ASSET(),
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 Chain, type Hex, type HttpTransport, type PublicClient } from 'viem';
3
- export declare class SlashingProposerContract {
4
- readonly client: PublicClient<HttpTransport, Chain>;
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: PublicClient<HttpTransport, Chain>, address: Hex);
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,EACL,KAAK,KAAK,EAEV,KAAK,GAAG,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,MAAM,CAAC;AAEd,qBAAa,wBAAwB;aAGP,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC;IAFtE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwF;gBAErF,MAAM,EAAE,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG;IAIpF,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;CAGpB"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hpbmdfcHJvcG9zZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3NsYXNoaW5nX3Byb3Bvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBTUwsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBRWQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUE0QixNQUEwQyxFQUFFLE9BQVk7UUFBeEQsV0FBTSxHQUFOLE1BQU0sQ0FBb0M7UUFDcEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU0sYUFBYTtRQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFTSxZQUFZO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUNGIn0=
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhc2hpbmdfcHJvcG9zZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3NsYXNoaW5nX3Byb3Bvc2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUxRCxPQUFPLEVBTUwsV0FBVyxHQUNaLE1BQU0sTUFBTSxDQUFDO0FBSWQsT0FBTyxFQUFvQixVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVoRSxNQUFNLE9BQU8sd0JBQXdCO0lBR25DLFlBQTRCLE1BQWlDLEVBQUUsT0FBWTtRQUEvQyxXQUFNLEdBQU4sTUFBTSxDQUEyQjtRQUMzRCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFTSxhQUFhO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVNLFlBQVk7UUFDakIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRU0sWUFBWSxDQUFDLElBQVk7UUFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxLQUFLLENBQUMsWUFBWSxDQUN2QixhQUFrQixFQUNsQixLQUFhO1FBRWIsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUMxRSxPQUFPO1lBQ0wsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDdEIsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDcEIsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxPQUFZO1FBQ25DLE9BQU87WUFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7WUFDM0IsSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUM7U0FDMUIsQ0FBQztJQUNKLENBQUM7Q0FDRiJ9