@aztec/ethereum 0.74.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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 (81) hide show
  1. package/dest/chain.js +17 -18
  2. package/dest/client.js +5 -9
  3. package/dest/config.js +13 -14
  4. package/dest/constants.js +0 -1
  5. package/dest/contracts/empire_base.js +3 -2
  6. package/dest/contracts/forwarder.js +46 -26
  7. package/dest/contracts/governance.js +11 -6
  8. package/dest/contracts/governance_proposer.js +78 -67
  9. package/dest/contracts/index.js +0 -1
  10. package/dest/contracts/rollup.js +270 -243
  11. package/dest/contracts/slashing_proposer.js +18 -8
  12. package/dest/deploy_l1_contracts.js +201 -126
  13. package/dest/eth_cheat_codes.js +144 -127
  14. package/dest/index.js +0 -1
  15. package/dest/l1_contract_addresses.js +17 -19
  16. package/dest/l1_reader.js +6 -7
  17. package/dest/l1_tx_utils.js +227 -186
  18. package/dest/l1_tx_utils_with_blobs.js +25 -22
  19. package/dest/queries.js +6 -9
  20. package/dest/test/delayed_tx_utils.js +3 -3
  21. package/dest/test/eth_cheat_codes_with_state.js +10 -12
  22. package/dest/test/index.js +0 -1
  23. package/dest/test/start_anvil.js +17 -9
  24. package/dest/test/tx_delayer.js +77 -74
  25. package/dest/types.js +1 -2
  26. package/dest/utils.js +35 -36
  27. package/package.json +5 -4
  28. package/src/contracts/rollup.ts +1 -1
  29. package/src/l1_tx_utils_with_blobs.ts +1 -1
  30. package/dest/chain.d.ts +0 -25
  31. package/dest/chain.d.ts.map +0 -1
  32. package/dest/client.d.ts +0 -16
  33. package/dest/client.d.ts.map +0 -1
  34. package/dest/config.d.ts +0 -38
  35. package/dest/config.d.ts.map +0 -1
  36. package/dest/constants.d.ts +0 -4
  37. package/dest/constants.d.ts.map +0 -1
  38. package/dest/contracts/empire_base.d.ts +0 -13
  39. package/dest/contracts/empire_base.d.ts.map +0 -1
  40. package/dest/contracts/forwarder.d.ts +0 -24
  41. package/dest/contracts/forwarder.d.ts.map +0 -1
  42. package/dest/contracts/governance.d.ts +0 -14
  43. package/dest/contracts/governance.d.ts.map +0 -1
  44. package/dest/contracts/governance_proposer.d.ts +0 -28
  45. package/dest/contracts/governance_proposer.d.ts.map +0 -1
  46. package/dest/contracts/index.d.ts +0 -7
  47. package/dest/contracts/index.d.ts.map +0 -1
  48. package/dest/contracts/rollup.d.ts +0 -115
  49. package/dest/contracts/rollup.d.ts.map +0 -1
  50. package/dest/contracts/slashing_proposer.d.ts +0 -21
  51. package/dest/contracts/slashing_proposer.d.ts.map +0 -1
  52. package/dest/deploy_l1_contracts.d.ts +0 -21118
  53. package/dest/deploy_l1_contracts.d.ts.map +0 -1
  54. package/dest/eth_cheat_codes.d.ts +0 -146
  55. package/dest/eth_cheat_codes.d.ts.map +0 -1
  56. package/dest/index.d.ts +0 -15
  57. package/dest/index.d.ts.map +0 -1
  58. package/dest/l1_contract_addresses.d.ts +0 -55
  59. package/dest/l1_contract_addresses.d.ts.map +0 -1
  60. package/dest/l1_reader.d.ts +0 -16
  61. package/dest/l1_reader.d.ts.map +0 -1
  62. package/dest/l1_tx_utils.d.ts +0 -194
  63. package/dest/l1_tx_utils.d.ts.map +0 -1
  64. package/dest/l1_tx_utils_with_blobs.d.ts +0 -12
  65. package/dest/l1_tx_utils_with_blobs.d.ts.map +0 -1
  66. package/dest/queries.d.ts +0 -15
  67. package/dest/queries.d.ts.map +0 -1
  68. package/dest/test/delayed_tx_utils.d.ts +0 -8
  69. package/dest/test/delayed_tx_utils.d.ts.map +0 -1
  70. package/dest/test/eth_cheat_codes_with_state.d.ts +0 -18
  71. package/dest/test/eth_cheat_codes_with_state.d.ts.map +0 -1
  72. package/dest/test/index.d.ts +0 -5
  73. package/dest/test/index.d.ts.map +0 -1
  74. package/dest/test/start_anvil.d.ts +0 -9
  75. package/dest/test/start_anvil.d.ts.map +0 -1
  76. package/dest/test/tx_delayer.d.ts +0 -24
  77. package/dest/test/tx_delayer.d.ts.map +0 -1
  78. package/dest/types.d.ts +0 -12
  79. package/dest/types.d.ts.map +0 -1
  80. package/dest/utils.d.ts +0 -24
  81. package/dest/utils.d.ts.map +0 -1
package/dest/chain.js CHANGED
@@ -4,13 +4,11 @@ import { AZTEC_TEST_CHAIN_ID } from './constants.js';
4
4
  * Helper function to create an instance of Aztec Chain from an rpc url and api key.
5
5
  * @param rpcUrl - The rpc url of the chain or a chain identifier (e.g. 'testnet')
6
6
  * @param apiKey - An optional API key for the chain client.
7
- */
8
- export function createEthereumChain(rpcUrl, _chainId) {
7
+ */ export function createEthereumChain(rpcUrl, _chainId) {
9
8
  let chainId;
10
9
  if (typeof _chainId === 'string') {
11
10
  chainId = +_chainId;
12
- }
13
- else {
11
+ } else {
14
12
  chainId = _chainId;
15
13
  }
16
14
  if (chainId) {
@@ -20,37 +18,38 @@ export function createEthereumChain(rpcUrl, _chainId) {
20
18
  name: 'Ethereum',
21
19
  rpcUrls: {
22
20
  default: {
23
- http: [rpcUrl],
24
- },
21
+ http: [
22
+ rpcUrl
23
+ ]
24
+ }
25
25
  },
26
26
  nativeCurrency: {
27
27
  decimals: 18,
28
28
  name: 'Ether',
29
- symbol: 'ETH',
30
- },
29
+ symbol: 'ETH'
30
+ }
31
31
  },
32
- rpcUrl,
32
+ rpcUrl
33
33
  };
34
- }
35
- else {
34
+ } else {
36
35
  return {
37
36
  chainInfo: foundry,
38
- rpcUrl,
37
+ rpcUrl
39
38
  };
40
39
  }
41
40
  }
42
41
  /**
43
42
  * Helper function to determine if a chain id is an instance of Anvil
44
- */
45
- export function isAnvilTestChain(_chainId) {
43
+ */ export function isAnvilTestChain(_chainId) {
46
44
  let chainId;
47
45
  if (typeof _chainId === 'string') {
48
46
  chainId = +_chainId;
49
- }
50
- else {
47
+ } else {
51
48
  chainId = _chainId;
52
49
  }
53
- const testChains = [foundry.id, AZTEC_TEST_CHAIN_ID];
50
+ const testChains = [
51
+ foundry.id,
52
+ AZTEC_TEST_CHAIN_ID
53
+ ];
54
54
  return testChains.includes(chainId);
55
55
  }
56
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUV0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQWlCckQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsUUFBeUI7SUFDM0UsSUFBSSxPQUFlLENBQUM7SUFDcEIsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEdBQUcsQ0FBQyxRQUFRLENBQUM7SUFDdEIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLEdBQUcsUUFBUSxDQUFDO0lBQ3JCLENBQUM7SUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTztZQUNMLFNBQVMsRUFBRTtnQkFDVCxFQUFFLEVBQUUsT0FBTztnQkFDWCxJQUFJLEVBQUUsVUFBVTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLE9BQU8sRUFBRTt3QkFDUCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7cUJBQ2Y7aUJBQ0Y7Z0JBQ0QsY0FBYyxFQUFFO29CQUNkLFFBQVEsRUFBRSxFQUFFO29CQUNaLElBQUksRUFBRSxPQUFPO29CQUNiLE1BQU0sRUFBRSxLQUFLO2lCQUNkO2FBQ0Y7WUFDRCxNQUFNO1NBQ1AsQ0FBQztJQUNKLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTztZQUNMLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLE1BQU07U0FDUCxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUF5QjtJQUN4RCxJQUFJLE9BQWUsQ0FBQztJQUNwQixJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sR0FBRyxDQUFDLFFBQVEsQ0FBQztJQUN0QixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sR0FBRyxRQUFRLENBQUM7SUFDckIsQ0FBQztJQUNELE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JELE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN0QyxDQUFDIn0=
package/dest/client.js CHANGED
@@ -2,28 +2,25 @@ import { retryUntil } from '@aztec/foundation/retry';
2
2
  import { createPublicClient, http } from 'viem';
3
3
  import { createEthereumChain } from './chain.js';
4
4
  // TODO: Use these methods to abstract the creation of viem clients.
5
- /** Returns a viem public client given the L1 config. */
6
- export function getPublicClient(config) {
5
+ /** Returns a viem public client given the L1 config. */ export function getPublicClient(config) {
7
6
  const chain = createEthereumChain(config.l1RpcUrl, config.l1ChainId);
8
7
  return createPublicClient({
9
8
  chain: chain.chainInfo,
10
9
  transport: http(chain.rpcUrl),
11
- pollingInterval: config.viemPollingIntervalMS,
10
+ pollingInterval: config.viemPollingIntervalMS
12
11
  });
13
12
  }
14
- /** Returns a viem public client after waiting for the L1 RPC node to become available. */
15
- export async function waitForPublicClient(config, logger) {
13
+ /** Returns a viem public client after waiting for the L1 RPC node to become available. */ export async function waitForPublicClient(config, logger) {
16
14
  const client = getPublicClient(config);
17
15
  await waitForRpc(client, config, logger);
18
16
  return client;
19
17
  }
20
18
  async function waitForRpc(client, config, logger) {
21
- const l1ChainId = await retryUntil(async () => {
19
+ const l1ChainId = await retryUntil(async ()=>{
22
20
  let chainId = 0;
23
21
  try {
24
22
  chainId = await client.getChainId();
25
- }
26
- catch (err) {
23
+ } catch (err) {
27
24
  logger?.warn(`Failed to connect to Ethereum node at ${config.l1RpcUrl}. Retrying...`);
28
25
  }
29
26
  return chainId;
@@ -32,4 +29,3 @@ async function waitForRpc(client, config, logger) {
32
29
  throw new Error(`Ethereum node at ${config.l1RpcUrl} has chain ID ${l1ChainId} but expected ${config.l1ChainId}`);
33
30
  }
34
31
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFZakQsb0VBQW9FO0FBRXBFLHdEQUF3RDtBQUN4RCxNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQWM7SUFDNUMsTUFBTSxLQUFLLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDckUsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixLQUFLLEVBQUUsS0FBSyxDQUFDLFNBQVM7UUFDdEIsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO1FBQzdCLGVBQWUsRUFBRSxNQUFNLENBQUMscUJBQXFCO0tBQzlDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCwwRkFBMEY7QUFDMUYsTUFBTSxDQUFDLEtBQUssVUFBVSxtQkFBbUIsQ0FBQyxNQUFjLEVBQUUsTUFBZTtJQUN2RSxNQUFNLE1BQU0sR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdkMsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN6QyxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsS0FBSyxVQUFVLFVBQVUsQ0FBQyxNQUF3QixFQUFFLE1BQWMsRUFBRSxNQUFlO0lBQ2pGLE1BQU0sU0FBUyxHQUFHLE1BQU0sVUFBVSxDQUNoQyxLQUFLLElBQUksRUFBRTtRQUNULElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNoQixJQUFJLENBQUM7WUFDSCxPQUFPLEdBQUcsTUFBTSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDdEMsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixNQUFNLEVBQUUsSUFBSSxDQUFDLHlDQUF5QyxNQUFNLENBQUMsUUFBUSxlQUFlLENBQUMsQ0FBQztRQUN4RixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxFQUNELGlCQUFpQixNQUFNLENBQUMsUUFBUSxFQUFFLEVBQ2xDLEdBQUcsRUFDSCxDQUFDLENBQ0YsQ0FBQztJQUVGLElBQUksU0FBUyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixNQUFNLENBQUMsUUFBUSxpQkFBaUIsU0FBUyxpQkFBaUIsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDcEgsQ0FBQztBQUNILENBQUMifQ==
package/dest/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { bigintConfigHelper, getConfigFromMappings, numberConfigHelper, } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
2
2
  export const DefaultL1ContractsConfig = {
3
3
  ethereumSlotDuration: 12,
4
4
  aztecSlotDuration: 24,
@@ -9,61 +9,60 @@ export const DefaultL1ContractsConfig = {
9
9
  slashingQuorum: 6,
10
10
  slashingRoundSize: 10,
11
11
  governanceProposerQuorum: 6,
12
- governanceProposerRoundSize: 10,
12
+ governanceProposerRoundSize: 10
13
13
  };
14
14
  export const l1ContractsConfigMappings = {
15
15
  ethereumSlotDuration: {
16
16
  env: 'ETHEREUM_SLOT_DURATION',
17
17
  description: 'How many seconds an L1 slot lasts.',
18
- ...numberConfigHelper(DefaultL1ContractsConfig.ethereumSlotDuration),
18
+ ...numberConfigHelper(DefaultL1ContractsConfig.ethereumSlotDuration)
19
19
  },
20
20
  aztecSlotDuration: {
21
21
  env: 'AZTEC_SLOT_DURATION',
22
22
  description: 'How many seconds an L2 slots lasts (must be multiple of ethereum slot duration).',
23
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecSlotDuration),
23
+ ...numberConfigHelper(DefaultL1ContractsConfig.aztecSlotDuration)
24
24
  },
25
25
  aztecEpochDuration: {
26
26
  env: 'AZTEC_EPOCH_DURATION',
27
27
  description: `How many L2 slots an epoch lasts (maximum AZTEC_MAX_EPOCH_DURATION).`,
28
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochDuration),
28
+ ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochDuration)
29
29
  },
30
30
  aztecTargetCommitteeSize: {
31
31
  env: 'AZTEC_TARGET_COMMITTEE_SIZE',
32
32
  description: 'The target validator committee size.',
33
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize),
33
+ ...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize)
34
34
  },
35
35
  aztecEpochProofClaimWindowInL2Slots: {
36
36
  env: 'AZTEC_EPOCH_PROOF_CLAIM_WINDOW_IN_L2_SLOTS',
37
37
  description: 'The number of L2 slots that we can wait for a proof of an epoch to be produced.',
38
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochProofClaimWindowInL2Slots),
38
+ ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochProofClaimWindowInL2Slots)
39
39
  },
40
40
  minimumStake: {
41
41
  env: 'AZTEC_MINIMUM_STAKE',
42
42
  description: 'The minimum stake for a validator.',
43
- ...bigintConfigHelper(DefaultL1ContractsConfig.minimumStake),
43
+ ...bigintConfigHelper(DefaultL1ContractsConfig.minimumStake)
44
44
  },
45
45
  slashingQuorum: {
46
46
  env: 'AZTEC_SLASHING_QUORUM',
47
47
  description: 'The slashing quorum',
48
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingQuorum),
48
+ ...numberConfigHelper(DefaultL1ContractsConfig.slashingQuorum)
49
49
  },
50
50
  slashingRoundSize: {
51
51
  env: 'AZTEC_SLASHING_ROUND_SIZE',
52
52
  description: 'The slashing round size',
53
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingRoundSize),
53
+ ...numberConfigHelper(DefaultL1ContractsConfig.slashingRoundSize)
54
54
  },
55
55
  governanceProposerQuorum: {
56
56
  env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
57
57
  description: 'The governance proposing quorum',
58
- ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerQuorum),
58
+ ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerQuorum)
59
59
  },
60
60
  governanceProposerRoundSize: {
61
61
  env: 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
62
62
  description: 'The governance proposing round size',
63
- ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerRoundSize),
64
- },
63
+ ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerRoundSize)
64
+ }
65
65
  };
66
66
  export function getL1ContractsConfigEnvVars() {
67
67
  return getConfigFromMappings(l1ContractsConfigMappings);
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQztBQXlCbEMsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsb0JBQW9CLEVBQUUsRUFBRTtJQUN4QixpQkFBaUIsRUFBRSxFQUFFO0lBQ3JCLGtCQUFrQixFQUFFLEVBQUU7SUFDdEIsd0JBQXdCLEVBQUUsRUFBRTtJQUM1QixtQ0FBbUMsRUFBRSxFQUFFO0lBQ3ZDLFlBQVksRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzVCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLGlCQUFpQixFQUFFLEVBQUU7SUFDckIsd0JBQXdCLEVBQUUsQ0FBQztJQUMzQiwyQkFBMkIsRUFBRSxFQUFFO0NBQ0osQ0FBQztBQUU5QixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBMEM7SUFDOUUsb0JBQW9CLEVBQUU7UUFDcEIsR0FBRyxFQUFFLHdCQUF3QjtRQUM3QixXQUFXLEVBQUUsb0NBQW9DO1FBQ2pELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsb0JBQW9CLENBQUM7S0FDckU7SUFDRCxpQkFBaUIsRUFBRTtRQUNqQixHQUFHLEVBQUUscUJBQXFCO1FBQzFCLFdBQVcsRUFBRSxrRkFBa0Y7UUFDL0YsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxpQkFBaUIsQ0FBQztLQUNsRTtJQUNELGtCQUFrQixFQUFFO1FBQ2xCLEdBQUcsRUFBRSxzQkFBc0I7UUFDM0IsV0FBVyxFQUFFLHNFQUFzRTtRQUNuRixHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGtCQUFrQixDQUFDO0tBQ25FO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQUUsc0NBQXNDO1FBQ25ELEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7S0FDekU7SUFDRCxtQ0FBbUMsRUFBRTtRQUNuQyxHQUFHLEVBQUUsNENBQTRDO1FBQ2pELFdBQVcsRUFBRSxpRkFBaUY7UUFDOUYsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQyxtQ0FBbUMsQ0FBQztLQUNwRjtJQUNELFlBQVksRUFBRTtRQUNaLEdBQUcsRUFBRSxxQkFBcUI7UUFDMUIsV0FBVyxFQUFFLG9DQUFvQztRQUNqRCxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLFlBQVksQ0FBQztLQUM3RDtJQUNELGNBQWMsRUFBRTtRQUNkLEdBQUcsRUFBRSx1QkFBdUI7UUFDNUIsV0FBVyxFQUFFLHFCQUFxQjtRQUNsQyxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQztLQUMvRDtJQUNELGlCQUFpQixFQUFFO1FBQ2pCLEdBQUcsRUFBRSwyQkFBMkI7UUFDaEMsV0FBVyxFQUFFLHlCQUF5QjtRQUN0QyxHQUFHLGtCQUFrQixDQUFDLHdCQUF3QixDQUFDLGlCQUFpQixDQUFDO0tBQ2xFO0lBQ0Qsd0JBQXdCLEVBQUU7UUFDeEIsR0FBRyxFQUFFLGtDQUFrQztRQUN2QyxXQUFXLEVBQUUsaUNBQWlDO1FBQzlDLEdBQUcsa0JBQWtCLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLENBQUM7S0FDekU7SUFDRCwyQkFBMkIsRUFBRTtRQUMzQixHQUFHLEVBQUUsc0NBQXNDO1FBQzNDLFdBQVcsRUFBRSxxQ0FBcUM7UUFDbEQsR0FBRyxrQkFBa0IsQ0FBQyx3QkFBd0IsQ0FBQywyQkFBMkIsQ0FBQztLQUM1RTtDQUNGLENBQUM7QUFFRixNQUFNLFVBQVUsMkJBQTJCO0lBQ3pDLE9BQU8scUJBQXFCLENBQUMseUJBQXlCLENBQUMsQ0FBQztBQUMxRCxDQUFDIn0=
package/dest/constants.js CHANGED
@@ -1,3 +1,2 @@
1
1
  export const NULL_KEY = `0x${'0000000000000000000000000000000000000000000000000000000000000000'}`;
2
2
  export const AZTEC_TEST_CHAIN_ID = 677692;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQVEsS0FBSyxrRUFBa0UsRUFBRSxDQUFDO0FBQ3ZHLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyJ9
@@ -4,7 +4,8 @@ export function encodeVote(payload) {
4
4
  return encodeFunctionData({
5
5
  abi: EmpireBaseAbi,
6
6
  functionName: 'vote',
7
- args: [payload],
7
+ args: [
8
+ payload
9
+ ]
8
10
  });
9
11
  }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUVsRSxPQUFPLEVBQVksa0JBQWtCLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFVcEQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUFZO0lBQ3JDLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGFBQWE7UUFDbEIsWUFBWSxFQUFFLE1BQU07UUFDcEIsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQ2hCLENBQUMsQ0FBQztBQUNMLENBQUMifQ==
@@ -1,19 +1,30 @@
1
1
  import { toHex } from '@aztec/foundation/bigint-buffer';
2
2
  import { ForwarderAbi, ForwarderBytecode } from '@aztec/l1-artifacts';
3
- import { encodeFunctionData, getContract, } from 'viem';
3
+ import { encodeFunctionData, getContract } from 'viem';
4
4
  import { deployL1Contract } from '../deploy_l1_contracts.js';
5
5
  import { RollupContract } from './rollup.js';
6
6
  export class ForwarderContract {
7
- constructor(client, address, rollupAddress) {
7
+ client;
8
+ rollupAddress;
9
+ forwarder;
10
+ constructor(client, address, rollupAddress){
8
11
  this.client = client;
9
12
  this.rollupAddress = rollupAddress;
10
- this.forwarder = getContract({ address, abi: ForwarderAbi, client });
13
+ this.forwarder = getContract({
14
+ address,
15
+ abi: ForwarderAbi,
16
+ client
17
+ });
11
18
  }
12
19
  static async create(owner, walletClient, publicClient, logger, rollupAddress) {
13
20
  logger.info('Deploying forwarder contract');
14
- const { address, txHash } = await deployL1Contract(walletClient, publicClient, ForwarderAbi, ForwarderBytecode, [owner], owner, undefined, logger);
21
+ const { address, txHash } = await deployL1Contract(walletClient, publicClient, ForwarderAbi, ForwarderBytecode, [
22
+ owner
23
+ ], owner, undefined, logger);
15
24
  if (txHash) {
16
- await publicClient.waitForTransactionReceipt({ hash: txHash });
25
+ await publicClient.waitForTransactionReceipt({
26
+ hash: txHash
27
+ });
17
28
  }
18
29
  logger.info(`Forwarder contract deployed at ${address} with owner ${owner}`);
19
30
  return new ForwarderContract(publicClient, address.toString(), rollupAddress);
@@ -22,60 +33,69 @@ export class ForwarderContract {
22
33
  return this.forwarder.address;
23
34
  }
24
35
  async forward(requests, l1TxUtils, gasConfig, blobConfig, logger) {
25
- requests = requests.filter(request => request.to !== null);
26
- const toArgs = requests.map(request => request.to);
27
- const dataArgs = requests.map(request => request.data);
36
+ requests = requests.filter((request)=>request.to !== null);
37
+ const toArgs = requests.map((request)=>request.to);
38
+ const dataArgs = requests.map((request)=>request.data);
28
39
  const forwarderFunctionData = {
29
40
  abi: ForwarderAbi,
30
41
  functionName: 'forward',
31
- args: [toArgs, dataArgs],
42
+ args: [
43
+ toArgs,
44
+ dataArgs
45
+ ]
32
46
  };
33
47
  const encodedForwarderData = encodeFunctionData(forwarderFunctionData);
34
48
  const { receipt, gasPrice } = await l1TxUtils.sendAndMonitorTransaction({
35
49
  to: this.forwarder.address,
36
- data: encodedForwarderData,
50
+ data: encodedForwarderData
37
51
  }, gasConfig, blobConfig);
38
52
  if (receipt.status === 'success') {
39
53
  const stats = await l1TxUtils.getTransactionStats(receipt.transactionHash);
40
- return { receipt, gasPrice, stats };
41
- }
42
- else {
43
- logger.error('Forwarder transaction failed', undefined, { receipt });
54
+ return {
55
+ receipt,
56
+ gasPrice,
57
+ stats
58
+ };
59
+ } else {
60
+ logger.error('Forwarder transaction failed', undefined, {
61
+ receipt
62
+ });
44
63
  const args = {
45
64
  ...forwarderFunctionData,
46
- address: this.forwarder.address,
65
+ address: this.forwarder.address
47
66
  };
48
67
  let errorMsg;
49
68
  if (blobConfig) {
50
69
  const maxFeePerBlobGas = blobConfig.maxFeePerBlobGas ?? gasPrice.maxFeePerBlobGas;
51
70
  if (maxFeePerBlobGas === undefined) {
52
71
  errorMsg = 'maxFeePerBlobGas is required to get the error message';
53
- }
54
- else {
72
+ } else {
55
73
  logger.debug('Trying to get error from reverted tx with blob config');
56
74
  errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(encodedForwarderData, args, {
57
75
  blobs: blobConfig.blobs,
58
76
  kzg: blobConfig.kzg,
59
- maxFeePerBlobGas,
77
+ maxFeePerBlobGas
60
78
  }, [
61
79
  {
62
80
  address: this.rollupAddress,
63
81
  stateDiff: [
64
82
  {
65
83
  slot: toHex(RollupContract.checkBlobStorageSlot, true),
66
- value: toHex(0n, true),
67
- },
68
- ],
69
- },
84
+ value: toHex(0n, true)
85
+ }
86
+ ]
87
+ }
70
88
  ]);
71
89
  }
72
- }
73
- else {
90
+ } else {
74
91
  logger.debug('Trying to get error from reverted tx without blob config');
75
92
  errorMsg = await l1TxUtils.tryGetErrorFromRevertedTx(encodedForwarderData, args, undefined, []);
76
93
  }
77
- return { receipt, gasPrice, errorMsg };
94
+ return {
95
+ receipt,
96
+ gasPrice,
97
+ errorMsg
98
+ };
78
99
  }
79
100
  }
80
101
  }
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9mb3J3YXJkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRXhELE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RSxPQUFPLEVBU0wsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUVkLE9BQU8sRUFBa0IsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUU3RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTdDLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsWUFBNEIsTUFBaUMsRUFBRSxPQUFZLEVBQWtCLGFBQWtCO1FBQW5GLFdBQU0sR0FBTixNQUFNLENBQTJCO1FBQWdDLGtCQUFhLEdBQWIsYUFBYSxDQUFLO1FBQzdHLElBQUksQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEtBQVUsRUFDVixZQUF5RCxFQUN6RCxZQUFnRCxFQUNoRCxNQUFjLEVBQ2QsYUFBa0I7UUFFbEIsTUFBTSxDQUFDLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1FBRTVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxnQkFBZ0IsQ0FDaEQsWUFBWSxFQUNaLFlBQVksRUFDWixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLENBQUMsS0FBSyxDQUFDLEVBQ1AsS0FBSyxFQUNMLFNBQVMsRUFDVCxNQUFNLENBQ1AsQ0FBQztRQUVGLElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxNQUFNLFlB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
@@ -1,11 +1,17 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import { GovernanceAbi } from '@aztec/l1-artifacts';
3
- import { getContract, } from 'viem';
3
+ import { getContract } from 'viem';
4
4
  import { GovernanceProposerContract } from './governance_proposer.js';
5
5
  export class GovernanceContract {
6
- constructor(client, address) {
6
+ client;
7
+ governance;
8
+ constructor(client, address){
7
9
  this.client = client;
8
- this.governance = getContract({ address, abi: GovernanceAbi, client });
10
+ this.governance = getContract({
11
+ address,
12
+ abi: GovernanceAbi,
13
+ client
14
+ });
9
15
  }
10
16
  get address() {
11
17
  return EthAddress.fromString(this.governance.address);
@@ -18,14 +24,13 @@ export class GovernanceContract {
18
24
  const governanceProposer = await this.getProposer();
19
25
  const [rollupAddress, registryAddress] = await Promise.all([
20
26
  governanceProposer.getRollupAddress(),
21
- governanceProposer.getRegistryAddress(),
27
+ governanceProposer.getRegistryAddress()
22
28
  ]);
23
29
  return {
24
30
  governanceAddress: this.address,
25
31
  rollupAddress,
26
32
  registryAddress,
27
- governanceProposerAddress: governanceProposer.address,
33
+ governanceProposerAddress: governanceProposer.address
28
34
  };
29
35
  }
30
36
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZ292ZXJuYW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXBELE9BQU8sRUFNTCxXQUFXLEdBQ1osTUFBTSxNQUFNLENBQUM7QUFHZCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQU90RSxNQUFNLE9BQU8sa0JBQWtCO0lBRzdCLFlBQTRCLE1BQTBDLEVBQUUsT0FBWTtRQUF4RCxXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUNwRSxJQUFJLENBQUMsVUFBVSxHQUFHLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELElBQVcsT0FBTztRQUNoQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVc7UUFDdEIsTUFBTSx5QkFBeUIsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pHLE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLHlCQUF5QixDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQUVNLEtBQUssQ0FBQyxzQkFBc0I7UUFDakMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxNQUFNLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN6RCxrQkFBa0IsQ0FBQyxnQkFBZ0IsRUFBRTtZQUNyQyxrQkFBa0IsQ0FBQyxrQkFBa0IsRUFBRTtTQUN4QyxDQUFDLENBQUM7UUFDSCxPQUFPO1lBQ0wsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDL0IsYUFBYTtZQUNiLGVBQWU7WUFDZix5QkFBeUIsRUFBRSxrQkFBa0IsQ0FBQyxPQUFPO1NBQ3RELENBQUM7SUFDSixDQUFDO0NBQ0YifQ==
@@ -1,71 +1,82 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
1
+ function _ts_decorate(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ }
2
7
  import { memoize } from '@aztec/foundation/decorators';
3
8
  import { EthAddress } from '@aztec/foundation/eth-address';
4
9
  import { GovernanceProposerAbi } from '@aztec/l1-artifacts';
5
- import { encodeFunctionData, getContract, } from 'viem';
10
+ import { encodeFunctionData, getContract } from 'viem';
6
11
  import { encodeVote } from './empire_base.js';
7
- let GovernanceProposerContract = (() => {
8
- var _a;
9
- let _instanceExtraInitializers = [];
10
- let _getRegistryAddress_decorators;
11
- return _a = class GovernanceProposerContract {
12
- constructor(client, address) {
13
- this.client = (__runInitializers(this, _instanceExtraInitializers), client);
14
- this.proposer = getContract({ address, abi: GovernanceProposerAbi, client });
15
- }
16
- get address() {
17
- return EthAddress.fromString(this.proposer.address);
18
- }
19
- async getRollupAddress() {
20
- return EthAddress.fromString(await this.proposer.read.getInstance());
21
- }
22
- async getRegistryAddress() {
23
- return EthAddress.fromString(await this.proposer.read.REGISTRY());
24
- }
25
- getQuorumSize() {
26
- return this.proposer.read.N();
27
- }
28
- getRoundSize() {
29
- return this.proposer.read.M();
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
- }
61
- },
62
- (() => {
63
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
64
- _getRegistryAddress_decorators = [memoize];
65
- __esDecorate(_a, null, _getRegistryAddress_decorators, { kind: "method", name: "getRegistryAddress", static: false, private: false, access: { has: obj => "getRegistryAddress" in obj, get: obj => obj.getRegistryAddress }, metadata: _metadata }, null, _instanceExtraInitializers);
66
- if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
67
- })(),
68
- _a;
69
- })();
70
- export { GovernanceProposerContract };
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZV9wcm9wb3Nlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZ292ZXJuYW5jZV9wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBT0wsa0JBQWtCLEVBQ2xCLFdBQVcsR0FDWixNQUFNLE1BQU0sQ0FBQztBQUlkLE9BQU8sRUFBb0IsVUFBVSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFFbkQsMEJBQTBCOzs7O3NCQUExQiwwQkFBMEI7WUFHckMsWUFBNEIsTUFBaUMsRUFBRSxPQUFZO2dCQUEvQyxXQUFNLElBSHZCLG1EQUEwQixFQUdULE1BQU0sRUFBMkI7Z0JBQzNELElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQy9FLENBQUM7WUFFRCxJQUFXLE9BQU87Z0JBQ2hCLE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3RELENBQUM7WUFFTSxLQUFLLENBQUMsZ0JBQWdCO2dCQUMzQixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7WUFHTSxLQUFLLENBQUMsa0JBQWtCO2dCQUM3QixPQUFPLFVBQVUsQ0FBQyxVQUFVLENBQUMsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQ3BFLENBQUM7WUFFTSxhQUFhO2dCQUNsQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFTSxZQUFZO2dCQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ2hDLENBQUM7WUFFTSxZQUFZLENBQUMsSUFBWTtnQkFDOUIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ2pELENBQUM7WUFFTSxLQUFLLENBQUMsWUFBWSxDQUN2QixhQUFrQixFQUNsQixLQUFhO2dCQUViLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQzFFLE9BQU87b0JBQ0wsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO29CQUNwQixRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztpQkFDdkIsQ0FBQztZQUNKLENBQUM7WUFFTSxnQkFBZ0IsQ0FBQyxhQUFrQixFQUFFLEtBQWEsRUFBRSxRQUFhO2dCQUN0RSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUN2RSxDQUFDO1lBRU0saUJBQWlCLENBQUMsT0FBWTtnQkFDbkMsT0FBTztvQkFDTCxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7b0JBQzNCLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDO2lCQUMxQixDQUFDO1lBQ0osQ0FBQztZQUVNLGVBQWUsQ0FDcEIsS0FBYSxFQUNiLFNBQW9CO2dCQUtwQixPQUFPLFNBQVMsQ0FBQyx5QkFBeUIsQ0FBQztvQkFDekMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO29CQUMzQixJQUFJLEVBQUUsa0JBQWtCLENBQUM7d0JBQ3ZCLEdBQUcsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUc7d0JBQ3RCLFlBQVksRUFBRSxpQkFBaUI7d0JBQy9CLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQztxQkFDZCxDQUFDO2lCQUNILENBQUMsQ0FBQztZQUNMLENBQUM7Ozs7OENBdkRBLE9BQU87WUFDUix1TUFBYSxrQkFBa0IsNkRBRTlCOzs7OztTQWxCVSwwQkFBMEIifQ==
12
+ export class GovernanceProposerContract {
13
+ client;
14
+ proposer;
15
+ constructor(client, address){
16
+ this.client = client;
17
+ this.proposer = getContract({
18
+ address,
19
+ abi: GovernanceProposerAbi,
20
+ client
21
+ });
22
+ }
23
+ get address() {
24
+ return EthAddress.fromString(this.proposer.address);
25
+ }
26
+ async getRollupAddress() {
27
+ return EthAddress.fromString(await this.proposer.read.getInstance());
28
+ }
29
+ async getRegistryAddress() {
30
+ return EthAddress.fromString(await this.proposer.read.REGISTRY());
31
+ }
32
+ getQuorumSize() {
33
+ return this.proposer.read.N();
34
+ }
35
+ getRoundSize() {
36
+ return this.proposer.read.M();
37
+ }
38
+ computeRound(slot) {
39
+ return this.proposer.read.computeRound([
40
+ slot
41
+ ]);
42
+ }
43
+ async getRoundInfo(rollupAddress, round) {
44
+ const roundInfo = await this.proposer.read.rounds([
45
+ rollupAddress,
46
+ round
47
+ ]);
48
+ return {
49
+ lastVote: roundInfo[0],
50
+ leader: roundInfo[1],
51
+ executed: roundInfo[2]
52
+ };
53
+ }
54
+ getProposalVotes(rollupAddress, round, proposal) {
55
+ return this.proposer.read.yeaCount([
56
+ rollupAddress,
57
+ round,
58
+ proposal
59
+ ]);
60
+ }
61
+ createVoteRequest(payload) {
62
+ return {
63
+ to: this.address.toString(),
64
+ data: encodeVote(payload)
65
+ };
66
+ }
67
+ executeProposal(round, l1TxUtils) {
68
+ return l1TxUtils.sendAndMonitorTransaction({
69
+ to: this.address.toString(),
70
+ data: encodeFunctionData({
71
+ abi: this.proposer.abi,
72
+ functionName: 'executeProposal',
73
+ args: [
74
+ round
75
+ ]
76
+ })
77
+ });
78
+ }
79
+ }
80
+ _ts_decorate([
81
+ memoize
82
+ ], GovernanceProposerContract.prototype, "getRegistryAddress", null);
@@ -4,4 +4,3 @@ export * from './governance.js';
4
4
  export * from './governance_proposer.js';
5
5
  export * from './rollup.js';
6
6
  export * from './slashing_proposer.js';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyx3QkFBd0IsQ0FBQyJ9