@aztec/ethereum 1.0.0 → 1.1.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 (44) hide show
  1. package/dest/config.d.ts +27 -5
  2. package/dest/config.d.ts.map +1 -1
  3. package/dest/config.js +90 -9
  4. package/dest/contracts/empire_base.d.ts +3 -4
  5. package/dest/contracts/empire_base.d.ts.map +1 -1
  6. package/dest/contracts/empire_base.js +4 -8
  7. package/dest/contracts/governance_proposer.d.ts +2 -2
  8. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  9. package/dest/contracts/governance_proposer.js +4 -9
  10. package/dest/contracts/multicall.d.ts +2 -1
  11. package/dest/contracts/multicall.d.ts.map +1 -1
  12. package/dest/contracts/multicall.js +79 -48
  13. package/dest/contracts/rollup.d.ts +13 -1
  14. package/dest/contracts/rollup.d.ts.map +1 -1
  15. package/dest/contracts/rollup.js +64 -0
  16. package/dest/contracts/slashing_proposer.d.ts +2 -2
  17. package/dest/contracts/slashing_proposer.d.ts.map +1 -1
  18. package/dest/contracts/slashing_proposer.js +5 -10
  19. package/dest/deploy_l1_contracts.d.ts +837 -534
  20. package/dest/deploy_l1_contracts.d.ts.map +1 -1
  21. package/dest/deploy_l1_contracts.js +35 -19
  22. package/dest/l1_tx_utils.d.ts +7 -2
  23. package/dest/l1_tx_utils.d.ts.map +1 -1
  24. package/dest/l1_tx_utils.js +41 -13
  25. package/dest/l1_tx_utils_with_blobs.d.ts +2 -1
  26. package/dest/l1_tx_utils_with_blobs.d.ts.map +1 -1
  27. package/dest/l1_tx_utils_with_blobs.js +5 -3
  28. package/dest/queries.d.ts.map +1 -1
  29. package/dest/queries.js +5 -3
  30. package/dest/test/start_anvil.d.ts +2 -0
  31. package/dest/test/start_anvil.d.ts.map +1 -1
  32. package/dest/test/start_anvil.js +3 -0
  33. package/package.json +6 -4
  34. package/src/config.ts +102 -8
  35. package/src/contracts/empire_base.ts +10 -16
  36. package/src/contracts/governance_proposer.ts +10 -10
  37. package/src/contracts/multicall.ts +73 -46
  38. package/src/contracts/rollup.ts +82 -1
  39. package/src/contracts/slashing_proposer.ts +11 -11
  40. package/src/deploy_l1_contracts.ts +45 -18
  41. package/src/l1_tx_utils.ts +56 -19
  42. package/src/l1_tx_utils_with_blobs.ts +14 -3
  43. package/src/queries.ts +3 -0
  44. package/src/test/start_anvil.ts +5 -3
@@ -2,7 +2,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import EventEmitter from 'events';
3
3
  import { type Hex } from 'viem';
4
4
  import type { L1TxRequest, L1TxUtils } from '../l1_tx_utils.js';
5
- import type { ExtendedViemWalletClient, ViemClient } from '../types.js';
5
+ import type { ViemClient } from '../types.js';
6
6
  import { type IEmpireBase } from './empire_base.js';
7
7
  export declare class ProposalAlreadyExecutedError extends Error {
8
8
  constructor(round: bigint);
@@ -23,7 +23,7 @@ export declare class SlashingProposerContract extends EventEmitter implements IE
23
23
  }>;
24
24
  getProposalVotes(rollupAddress: Hex, round: bigint, proposal: Hex): Promise<bigint>;
25
25
  createVoteRequest(payload: Hex): L1TxRequest;
26
- createVoteRequestWithSignature(payload: Hex, wallet: ExtendedViemWalletClient): Promise<L1TxRequest>;
26
+ createVoteRequestWithSignature(payload: Hex, chainId: number, signerAddress: Hex, signer: (msg: Hex) => Promise<Hex>): Promise<L1TxRequest>;
27
27
  listenToExecutableProposals(callback: (args: {
28
28
  proposal: `0x${string}`;
29
29
  round: bigint;
@@ -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;AAI3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAExE,OAAO,EAAE,KAAK,WAAW,EAAwD,MAAM,kBAAkB,CAAC;AAE1G,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,wBAAyB,SAAQ,YAAa,YAAW,WAAW;aAI7D,MAAM,EAAE,UAAU;IAHpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;gBAGvE,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG;IAMd,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlC,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,8BAA8B,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,WAAW,CAAC;IAS1G,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO;IAiBnG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAgBhG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU;IAYxD,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC;CA+CxD"}
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;AAI3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAAwD,MAAM,kBAAkB,CAAC;AAE1G,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,wBAAyB,SAAQ,YAAa,YAAW,WAAW;aAI7D,MAAM,EAAE,UAAU;IAHpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;gBAGvE,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG;IAMd,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlC,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;IAIzD,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,8BAA8B,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;IAShB,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO;IAiBnG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAgBhG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU;IAYxD,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC;CA+CxD"}
@@ -41,15 +41,10 @@ export class SlashingProposerContract extends EventEmitter {
41
41
  ]);
42
42
  }
43
43
  async getRoundInfo(rollupAddress, round) {
44
- const roundInfo = await this.proposer.read.rounds([
44
+ return await this.proposer.read.getRoundData([
45
45
  rollupAddress,
46
46
  round
47
47
  ]);
48
- return {
49
- lastVote: roundInfo[0],
50
- leader: roundInfo[1],
51
- executed: roundInfo[2]
52
- };
53
48
  }
54
49
  getProposalVotes(rollupAddress, round, proposal) {
55
50
  return this.proposer.read.yeaCount([
@@ -64,9 +59,9 @@ export class SlashingProposerContract extends EventEmitter {
64
59
  data: encodeVote(payload)
65
60
  };
66
61
  }
67
- async createVoteRequestWithSignature(payload, wallet) {
68
- const nonce = await this.getNonce(wallet.account.address);
69
- const signature = await signVoteWithSig(wallet, payload, nonce, this.address.toString(), wallet.chain.id);
62
+ async createVoteRequestWithSignature(payload, chainId, signerAddress, signer) {
63
+ const nonce = await this.getNonce(signerAddress);
64
+ const signature = await signVoteWithSig(signer, payload, nonce, this.address.toString(), chainId);
70
65
  return {
71
66
  to: this.address.toString(),
72
67
  data: encodeVoteWithSignature(payload, signature)
@@ -121,7 +116,7 @@ export class SlashingProposerContract extends EventEmitter {
121
116
  }, {
122
117
  // Gas estimation is way off for this, likely because we are creating the contract/selector to call
123
118
  // for the actual slashing dynamically.
124
- gasLimitBufferPercentage: 1000
119
+ gasLimitBufferPercentage: 50
125
120
  }).catch((err)=>{
126
121
  if (err instanceof FormattedViemError && err.message.includes('ProposalAlreadyExecuted')) {
127
122
  throw new ProposalAlreadyExecutedError(round);