@aztec/ethereum 0.78.0 → 0.79.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 (46) hide show
  1. package/dest/contracts/fee_juice.js +1 -1
  2. package/dest/contracts/forwarder.d.ts.map +1 -1
  3. package/dest/contracts/forwarder.js +2 -1
  4. package/dest/contracts/governance.d.ts +17 -5
  5. package/dest/contracts/governance.d.ts.map +1 -1
  6. package/dest/contracts/governance.js +18 -20
  7. package/dest/contracts/governance_proposer.d.ts +1 -0
  8. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  9. package/dest/contracts/governance_proposer.js +10 -3
  10. package/dest/contracts/registry.js +2 -2
  11. package/dest/contracts/rollup.d.ts.map +1 -1
  12. package/dest/contracts/rollup.js +3 -1
  13. package/dest/contracts/slashing_proposer.js +1 -1
  14. package/dest/deploy_l1_contracts.d.ts +181 -325
  15. package/dest/deploy_l1_contracts.d.ts.map +1 -1
  16. package/dest/deploy_l1_contracts.js +48 -26
  17. package/dest/l1_tx_utils.d.ts +1 -0
  18. package/dest/l1_tx_utils.d.ts.map +1 -1
  19. package/dest/l1_tx_utils.js +4 -1
  20. package/dest/queries.d.ts +7 -0
  21. package/dest/queries.d.ts.map +1 -1
  22. package/dest/queries.js +14 -2
  23. package/dest/test/chain_monitor.d.ts +25 -0
  24. package/dest/test/chain_monitor.d.ts.map +1 -0
  25. package/dest/test/chain_monitor.js +74 -0
  26. package/dest/test/index.d.ts +1 -0
  27. package/dest/test/index.d.ts.map +1 -1
  28. package/dest/test/index.js +1 -0
  29. package/dest/test/upgrade_utils.d.ts.map +1 -1
  30. package/dest/test/upgrade_utils.js +1 -1
  31. package/dest/utils.js +1 -1
  32. package/package.json +5 -5
  33. package/src/contracts/fee_juice.ts +1 -1
  34. package/src/contracts/forwarder.ts +2 -1
  35. package/src/contracts/governance.ts +22 -21
  36. package/src/contracts/governance_proposer.ts +7 -3
  37. package/src/contracts/registry.ts +2 -2
  38. package/src/contracts/rollup.ts +3 -1
  39. package/src/contracts/slashing_proposer.ts +1 -1
  40. package/src/deploy_l1_contracts.ts +66 -28
  41. package/src/l1_tx_utils.ts +5 -0
  42. package/src/queries.ts +29 -2
  43. package/src/test/chain_monitor.ts +88 -0
  44. package/src/test/index.ts +1 -0
  45. package/src/test/upgrade_utils.ts +1 -1
  46. package/src/utils.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { TestERC20Abi as FeeJuiceAbi } from '@aztec/l1-artifacts';
2
+ import { TestERC20Abi as FeeJuiceAbi } from '@aztec/l1-artifacts/TestERC20Abi';
3
3
  import { getContract } from 'viem';
4
4
  export class FeeJuiceContract {
5
5
  publicClient;
@@ -1 +1 @@
1
- {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAGpD,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,qBAAa,iBAAiB;aAGA,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;aAAgC,aAAa,EAAE,GAAG;IAF/G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+D;gBAE7D,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAkB,aAAa,EAAE,GAAG;WAIlG,MAAM,CACjB,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,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
+ {"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,qBAAa,iBAAiB;aAGA,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;aAAgC,aAAa,EAAE,GAAG;IAF/G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+D;gBAE7D,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAkB,aAAa,EAAE,GAAG;WAIlG,MAAM,CACjB,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,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,5 +1,6 @@
1
1
  import { toHex } from '@aztec/foundation/bigint-buffer';
2
- import { ForwarderAbi, ForwarderBytecode } from '@aztec/l1-artifacts';
2
+ import { ForwarderAbi } from '@aztec/l1-artifacts/ForwarderAbi';
3
+ import { ForwarderBytecode } from '@aztec/l1-artifacts/ForwarderBytecode';
3
4
  import { encodeFunctionData, getContract } from 'viem';
4
5
  import { deployL1Contract } from '../deploy_l1_contracts.js';
5
6
  import { RollupContract } from './rollup.js';
@@ -1,9 +1,8 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import type { Logger } from '@aztec/foundation/log';
3
- import { type Hex } from 'viem';
3
+ import { type Hex, type Log } from 'viem';
4
4
  import type { L1ContractAddresses } from '../l1_contract_addresses.js';
5
5
  import type { ViemPublicClient, ViemWalletClient } from '../types.js';
6
- import { GovernanceProposerContract } from './governance_proposer.js';
7
6
  export type L1GovernanceContractAddresses = Pick<L1ContractAddresses, 'governanceAddress' | 'rollupAddress' | 'registryAddress' | 'governanceProposerAddress'>;
8
7
  export declare enum ProposalState {
9
8
  Pending = 0,
@@ -15,6 +14,7 @@ export declare enum ProposalState {
15
14
  Dropped = 6,
16
15
  Expired = 7
17
16
  }
17
+ export declare function extractProposalIdFromLogs(logs: Log[]): bigint;
18
18
  export declare class GovernanceContract {
19
19
  readonly publicClient: ViemPublicClient;
20
20
  readonly walletClient: ViemWalletClient | undefined;
@@ -22,8 +22,20 @@ export declare class GovernanceContract {
22
22
  private readonly walletGovernance;
23
23
  constructor(address: Hex, publicClient: ViemPublicClient, walletClient: ViemWalletClient | undefined);
24
24
  get address(): EthAddress;
25
- getProposer(): Promise<GovernanceProposerContract>;
26
- getGovernanceAddresses(): Promise<L1GovernanceContractAddresses>;
25
+ getGovernanceProposerAddress(): Promise<EthAddress>;
26
+ getConfiguration(): Promise<{
27
+ proposeConfig: {
28
+ lockDelay: bigint;
29
+ lockAmount: bigint;
30
+ };
31
+ votingDelay: bigint;
32
+ votingDuration: bigint;
33
+ executionDelay: bigint;
34
+ gracePeriod: bigint;
35
+ quorum: bigint;
36
+ voteDifferential: bigint;
37
+ minimumVotes: bigint;
38
+ }>;
27
39
  getProposal(proposalId: bigint): Promise<{
28
40
  config: {
29
41
  proposeConfig: {
@@ -53,7 +65,7 @@ export declare class GovernanceContract {
53
65
  proposeWithLock({ payloadAddress, withdrawAddress, }: {
54
66
  payloadAddress: Hex;
55
67
  withdrawAddress: Hex;
56
- }): Promise<number>;
68
+ }): Promise<bigint>;
57
69
  awaitProposalActive({ proposalId, logger }: {
58
70
  proposalId: bigint;
59
71
  logger: Logger;
@@ -1 +1 @@
1
- {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,mBAAmB,EACnB,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,2BAA2B,CACxF,CAAC;AAGF,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,qBAAa,kBAAkB;aAMX,YAAY,EAAE,gBAAgB;aAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAN5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgE;IACjG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4E;gBAG3G,OAAO,EAAE,GAAG,EACI,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAQ5D,IAAW,OAAO,eAEjB;IAEY,WAAW;IAKX,sBAAsB,IAAI,OAAO,CAAC,6BAA6B,CAAC;IActE,WAAW,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAIxB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,OAAO,CAAC,sBAAsB;IAOjB,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;IAMvC,eAAe,CAAC,EAC3B,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,GAAG,CAAC;QACpB,eAAe,EAAE,GAAG,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYN,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAsBlF,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA2BtF,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAM3B,IAAI,CAAC,EAChB,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;IAkDY,eAAe,CAAC,EAC3B,UAAU,EACV,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;CA2CF"}
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,mBAAmB,EACnB,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,2BAA2B,CACxF,CAAC;AAGF,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAW7D;AAED,qBAAa,kBAAkB;aAMX,YAAY,EAAE,gBAAgB;aAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAN5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgE;IACjG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4E;gBAG3G,OAAO,EAAE,GAAG,EACI,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAQ5D,IAAW,OAAO,eAEjB;IAEY,4BAA4B;IAIlC,gBAAgB;;;;;;;;;;;;;IAIhB,WAAW,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAIxB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,OAAO,CAAC,sBAAsB;IAOjB,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;IAMvC,eAAe,CAAC,EAC3B,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,GAAG,CAAC;QACpB,eAAe,EAAE,GAAG,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUN,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAsBlF,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA2BtF,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAM3B,IAAI,CAAC,EAChB,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;IAkDY,eAAe,CAAC,EAC3B,UAAU,EACV,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;CA2CF"}
@@ -1,9 +1,8 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import { sleep } from '@aztec/foundation/sleep';
3
- import { GovernanceAbi } from '@aztec/l1-artifacts';
4
- import { encodeFunctionData, getContract } from 'viem';
3
+ import { GovernanceAbi } from '@aztec/l1-artifacts/GovernanceAbi';
4
+ import { encodeFunctionData, getContract, parseEventLogs } from 'viem';
5
5
  import { L1TxUtils } from '../l1_tx_utils.js';
6
- import { GovernanceProposerContract } from './governance_proposer.js';
7
6
  // NOTE: Must be kept in sync with DataStructures.ProposalState in l1-contracts
8
7
  export var ProposalState = /*#__PURE__*/ function(ProposalState) {
9
8
  ProposalState[ProposalState["Pending"] = 0] = "Pending";
@@ -16,6 +15,17 @@ export var ProposalState = /*#__PURE__*/ function(ProposalState) {
16
15
  ProposalState[ProposalState["Expired"] = 7] = "Expired";
17
16
  return ProposalState;
18
17
  }({});
18
+ export function extractProposalIdFromLogs(logs) {
19
+ const parsedLogs = parseEventLogs({
20
+ abi: GovernanceAbi,
21
+ logs: logs,
22
+ eventName: 'Proposed'
23
+ });
24
+ if (parsedLogs.length === 0) {
25
+ throw new Error('Proposal log not found');
26
+ }
27
+ return parsedLogs[0].args.proposalId;
28
+ }
19
29
  export class GovernanceContract {
20
30
  publicClient;
21
31
  walletClient;
@@ -38,22 +48,11 @@ export class GovernanceContract {
38
48
  get address() {
39
49
  return EthAddress.fromString(this.publicGovernance.address);
40
50
  }
41
- async getProposer() {
42
- const governanceProposerAddress = EthAddress.fromString(await this.publicGovernance.read.governanceProposer());
43
- return new GovernanceProposerContract(this.publicClient, governanceProposerAddress.toString());
51
+ async getGovernanceProposerAddress() {
52
+ return EthAddress.fromString(await this.publicGovernance.read.governanceProposer());
44
53
  }
45
- async getGovernanceAddresses() {
46
- const governanceProposer = await this.getProposer();
47
- const [rollupAddress, registryAddress] = await Promise.all([
48
- governanceProposer.getRollupAddress(),
49
- governanceProposer.getRegistryAddress()
50
- ]);
51
- return {
52
- governanceAddress: this.address,
53
- rollupAddress,
54
- registryAddress,
55
- governanceProposerAddress: governanceProposer.address
56
- };
54
+ getConfiguration() {
55
+ return this.publicGovernance.read.getConfiguration();
57
56
  }
58
57
  getProposal(proposalId) {
59
58
  return this.publicGovernance.read.getProposal([
@@ -97,8 +96,7 @@ export class GovernanceContract {
97
96
  if (receipt.status !== 'success') {
98
97
  throw new Error(`Proposal failed: ${receipt.status}`);
99
98
  }
100
- const proposalId = Number(receipt.logs[1].topics[1]);
101
- return proposalId;
99
+ return extractProposalIdFromLogs(receipt.logs);
102
100
  }
103
101
  async awaitProposalActive({ proposalId, logger }) {
104
102
  const state = await this.getProposalState(proposalId);
@@ -23,6 +23,7 @@ export declare class GovernanceProposerContract implements IEmpireBase {
23
23
  executeProposal(round: bigint, l1TxUtils: L1TxUtils): Promise<{
24
24
  receipt: TransactionReceipt;
25
25
  gasPrice: GasPrice;
26
+ proposalId: bigint;
26
27
  }>;
27
28
  }
28
29
  //# 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,EAA8B,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAEtH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAEhE,qBAAa,0BAA2B,YAAW,WAAW;aAGhC,MAAM,EAAE,gBAAgB;IAFpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwE;gBAErE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG;IAIlE,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"}
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,EAA8B,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAEtH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAGhE,qBAAa,0BAA2B,YAAW,WAAW;aAGhC,MAAM,EAAE,gBAAgB;IAFpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwE;gBAErE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG;IAIlE,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;IAOtC,eAAe,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CAYH"}
@@ -6,9 +6,10 @@ function _ts_decorate(decorators, target, key, desc) {
6
6
  }
7
7
  import { memoize } from '@aztec/foundation/decorators';
8
8
  import { EthAddress } from '@aztec/foundation/eth-address';
9
- import { GovernanceProposerAbi } from '@aztec/l1-artifacts';
9
+ import { GovernanceProposerAbi } from '@aztec/l1-artifacts/GovernanceProposerAbi';
10
10
  import { encodeFunctionData, getContract } from 'viem';
11
11
  import { encodeVote } from './empire_base.js';
12
+ import { extractProposalIdFromLogs } from './governance.js';
12
13
  export class GovernanceProposerContract {
13
14
  client;
14
15
  proposer;
@@ -64,8 +65,8 @@ export class GovernanceProposerContract {
64
65
  data: encodeVote(payload)
65
66
  };
66
67
  }
67
- executeProposal(round, l1TxUtils) {
68
- return l1TxUtils.sendAndMonitorTransaction({
68
+ async executeProposal(round, l1TxUtils) {
69
+ const { receipt, gasPrice } = await l1TxUtils.sendAndMonitorTransaction({
69
70
  to: this.address.toString(),
70
71
  data: encodeFunctionData({
71
72
  abi: this.proposer.abi,
@@ -75,6 +76,12 @@ export class GovernanceProposerContract {
75
76
  ]
76
77
  })
77
78
  });
79
+ const proposalId = extractProposalIdFromLogs(receipt.logs);
80
+ return {
81
+ receipt,
82
+ gasPrice,
83
+ proposalId
84
+ };
78
85
  }
79
86
  }
80
87
  _ts_decorate([
@@ -54,10 +54,10 @@ export class RegistryContract {
54
54
  async getGovernanceAddresses() {
55
55
  const governanceAddress = await this.registry.read.getGovernance();
56
56
  const governance = new GovernanceContract(governanceAddress, this.client, undefined);
57
- const governanceProposer = await governance.getProposer();
57
+ const governanceProposerAddress = await governance.getGovernanceProposerAddress();
58
58
  return {
59
59
  governanceAddress: governance.address,
60
- governanceProposerAddress: governanceProposer.address
60
+ governanceProposerAddress: governanceProposerAddress
61
61
  };
62
62
  }
63
63
  static async collectAddresses(client, registryAddress, rollupVersion) {
@@ -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":";;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAKrE,OAAO,EAAE,KAAK,OAAO,EAA8B,KAAK,GAAG,EAA2B,MAAM,MAAM,CAAC;AAGnG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,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,GAC1B,qBAAqB,CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,qBAAa,cAAc;aAyBG,MAAM,EAAE,gBAAgB;IAxBpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IAEnF,MAAM,KAAK,oBAAoB,IAAI,MAAM,CAMxC;IAED,MAAM,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,2BAA2B;IAQpF,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc;gBAMf,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU;IAO/E,IAAW,OAAO,kBAEjB;IAGY,mBAAmB;IAQhC,eAAe;IAKf,gBAAgB;IAKhB,wBAAwB;IAKxB,gBAAgB;IAKhB,eAAe;IAKf,sBAAsB;IAKtB,eAAe;IAIF,0BAA0B;IAUvC,cAAc;IAId,oBAAoB;IAIpB,aAAa;IAIb,cAAc,CAAC,SAAS,EAAE,MAAM;IAIhC,eAAe,CAAC,SAAS,EAAE,MAAM;IAIjC,oBAAoB;IAIpB,wBAAwB;IAIxB,kBAAkB;IAIlB,aAAa,CAAC,SAAS,EAAE,MAAM;IAI/B,QAAQ,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;IAI5B,OAAO;;;;IAIP,mBAAmB,CAAC,IAAI,EAAE,MAAM;IAI1B,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM;IAKnC,kBAAkB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8BjD,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7E,yBAAyB,CACvB,IAAI,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;IAKvG,cAAc,CACzB,IAAI,EAAE,SAAS;QACb,KAAK,MAAM,EAAE;QACb,aAAa,EAAE;QACf,KAAK,MAAM,EAAE;QACb,MAAM;QACN,KAAK,MAAM,EAAE;QACb;YACE,QAAQ,EAAE,OAAO,CAAC;YAClB,gBAAgB,EAAE,OAAO,CAAC;SAC3B;KACF,EACD,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,GAC/B,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;OAQG;IACU,wBAAwB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,OAAO,EAChC,YAAY,EAAE,MAAM,GAAG,MAAM,GAC5B,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAgB5B,wIAAwI;IACjI,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU;CAGnG"}
@@ -6,7 +6,9 @@ function _ts_decorate(decorators, target, key, desc) {
6
6
  }
7
7
  import { memoize } from '@aztec/foundation/decorators';
8
8
  import { EthAddress } from '@aztec/foundation/eth-address';
9
- import { RollupAbi, RollupStorage, SlasherAbi } from '@aztec/l1-artifacts';
9
+ import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
10
+ import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
11
+ import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
10
12
  import { getAddress, getContract } from 'viem';
11
13
  import { getPublicClient } from '../client.js';
12
14
  import { formatViemError } from '../utils.js';
@@ -1,5 +1,5 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
- import { SlashingProposerAbi } from '@aztec/l1-artifacts';
2
+ import { SlashingProposerAbi } from '@aztec/l1-artifacts/SlashingProposerAbi';
3
3
  import { getContract } from 'viem';
4
4
  import { encodeVote } from './empire_base.js';
5
5
  export class SlashingProposerContract {