@aztec/ethereum 3.0.3 → 4.0.0-devnet.1-patch.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 (129) hide show
  1. package/dest/client.js +6 -2
  2. package/dest/config.d.ts +17 -27
  3. package/dest/config.d.ts.map +1 -1
  4. package/dest/config.js +51 -54
  5. package/dest/contracts/empire_base.d.ts +2 -1
  6. package/dest/contracts/empire_base.d.ts.map +1 -1
  7. package/dest/contracts/empire_slashing_proposer.d.ts +2 -1
  8. package/dest/contracts/empire_slashing_proposer.d.ts.map +1 -1
  9. package/dest/contracts/empire_slashing_proposer.js +22 -15
  10. package/dest/contracts/fee_asset_handler.d.ts +6 -5
  11. package/dest/contracts/fee_asset_handler.d.ts.map +1 -1
  12. package/dest/contracts/fee_asset_handler.js +11 -9
  13. package/dest/contracts/governance.d.ts +3 -1
  14. package/dest/contracts/governance.d.ts.map +1 -1
  15. package/dest/contracts/governance.js +11 -1
  16. package/dest/contracts/governance_proposer.d.ts +2 -1
  17. package/dest/contracts/governance_proposer.d.ts.map +1 -1
  18. package/dest/contracts/governance_proposer.js +395 -9
  19. package/dest/contracts/inbox.d.ts +22 -1
  20. package/dest/contracts/inbox.d.ts.map +1 -1
  21. package/dest/contracts/inbox.js +36 -1
  22. package/dest/contracts/index.d.ts +3 -1
  23. package/dest/contracts/index.d.ts.map +1 -1
  24. package/dest/contracts/index.js +2 -0
  25. package/dest/contracts/log.d.ts +13 -0
  26. package/dest/contracts/log.d.ts.map +1 -0
  27. package/dest/contracts/log.js +1 -0
  28. package/dest/contracts/multicall.d.ts +1 -1
  29. package/dest/contracts/multicall.d.ts.map +1 -1
  30. package/dest/contracts/multicall.js +2 -1
  31. package/dest/contracts/outbox.d.ts +41 -0
  32. package/dest/contracts/outbox.d.ts.map +1 -0
  33. package/dest/contracts/outbox.js +86 -0
  34. package/dest/contracts/rollup.d.ts +162 -81
  35. package/dest/contracts/rollup.d.ts.map +1 -1
  36. package/dest/contracts/rollup.js +691 -132
  37. package/dest/contracts/tally_slashing_proposer.d.ts +1 -1
  38. package/dest/contracts/tally_slashing_proposer.d.ts.map +1 -1
  39. package/dest/contracts/tally_slashing_proposer.js +8 -1
  40. package/dest/deploy_aztec_l1_contracts.d.ts +17 -2
  41. package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -1
  42. package/dest/deploy_aztec_l1_contracts.js +87 -19
  43. package/dest/generated/l1-contracts-defaults.d.ts +30 -0
  44. package/dest/generated/l1-contracts-defaults.d.ts.map +1 -0
  45. package/dest/generated/l1-contracts-defaults.js +30 -0
  46. package/dest/l1_artifacts.d.ts +4964 -1573
  47. package/dest/l1_artifacts.d.ts.map +1 -1
  48. package/dest/l1_contract_addresses.d.ts +1 -1
  49. package/dest/l1_contract_addresses.d.ts.map +1 -1
  50. package/dest/l1_contract_addresses.js +3 -3
  51. package/dest/l1_tx_utils/constants.d.ts +8 -2
  52. package/dest/l1_tx_utils/constants.d.ts.map +1 -1
  53. package/dest/l1_tx_utils/constants.js +27 -2
  54. package/dest/l1_tx_utils/fee-strategies/index.d.ts +10 -0
  55. package/dest/l1_tx_utils/fee-strategies/index.d.ts.map +1 -0
  56. package/dest/l1_tx_utils/fee-strategies/index.js +12 -0
  57. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts +8 -0
  58. package/dest/l1_tx_utils/fee-strategies/p75_competitive.d.ts.map +1 -0
  59. package/dest/l1_tx_utils/fee-strategies/p75_competitive.js +129 -0
  60. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts +23 -0
  61. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.d.ts.map +1 -0
  62. package/dest/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.js +191 -0
  63. package/dest/l1_tx_utils/fee-strategies/types.d.ts +51 -0
  64. package/dest/l1_tx_utils/fee-strategies/types.d.ts.map +1 -0
  65. package/dest/l1_tx_utils/fee-strategies/types.js +3 -0
  66. package/dest/l1_tx_utils/index.d.ts +3 -1
  67. package/dest/l1_tx_utils/index.d.ts.map +1 -1
  68. package/dest/l1_tx_utils/index.js +2 -0
  69. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts +233 -0
  70. package/dest/l1_tx_utils/l1_fee_analyzer.d.ts.map +1 -0
  71. package/dest/l1_tx_utils/l1_fee_analyzer.js +506 -0
  72. package/dest/l1_tx_utils/l1_tx_utils.js +6 -6
  73. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +4 -15
  74. package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
  75. package/dest/l1_tx_utils/readonly_l1_tx_utils.js +35 -143
  76. package/dest/publisher_manager.d.ts +3 -2
  77. package/dest/publisher_manager.d.ts.map +1 -1
  78. package/dest/publisher_manager.js +2 -2
  79. package/dest/queries.d.ts +2 -2
  80. package/dest/queries.d.ts.map +1 -1
  81. package/dest/queries.js +12 -4
  82. package/dest/test/chain_monitor.js +1 -2
  83. package/dest/test/eth_cheat_codes.d.ts +13 -1
  84. package/dest/test/eth_cheat_codes.d.ts.map +1 -1
  85. package/dest/test/eth_cheat_codes.js +3 -1
  86. package/dest/test/rollup_cheat_codes.d.ts +5 -2
  87. package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
  88. package/dest/test/rollup_cheat_codes.js +22 -3
  89. package/dest/test/start_anvil.js +1 -1
  90. package/dest/test/tx_delayer.js +1 -1
  91. package/dest/utils.d.ts +15 -2
  92. package/dest/utils.d.ts.map +1 -1
  93. package/dest/utils.js +64 -0
  94. package/package.json +9 -7
  95. package/src/client.ts +2 -2
  96. package/src/config.ts +62 -53
  97. package/src/contracts/README.md +157 -0
  98. package/src/contracts/empire_base.ts +1 -1
  99. package/src/contracts/empire_slashing_proposer.ts +22 -28
  100. package/src/contracts/fee_asset_handler.ts +10 -7
  101. package/src/contracts/governance.ts +10 -1
  102. package/src/contracts/governance_proposer.ts +10 -2
  103. package/src/contracts/inbox.ts +53 -1
  104. package/src/contracts/index.ts +2 -0
  105. package/src/contracts/log.ts +13 -0
  106. package/src/contracts/multicall.ts +5 -2
  107. package/src/contracts/outbox.ts +98 -0
  108. package/src/contracts/rollup.ts +364 -100
  109. package/src/contracts/tally_slashing_proposer.ts +5 -1
  110. package/src/deploy_aztec_l1_contracts.ts +94 -18
  111. package/src/generated/l1-contracts-defaults.ts +32 -0
  112. package/src/l1_contract_addresses.ts +22 -20
  113. package/src/l1_tx_utils/constants.ts +13 -2
  114. package/src/l1_tx_utils/fee-strategies/index.ts +22 -0
  115. package/src/l1_tx_utils/fee-strategies/p75_competitive.ts +163 -0
  116. package/src/l1_tx_utils/fee-strategies/p75_competitive_blob_txs_only.ts +245 -0
  117. package/src/l1_tx_utils/fee-strategies/types.ts +56 -0
  118. package/src/l1_tx_utils/index.ts +2 -0
  119. package/src/l1_tx_utils/l1_fee_analyzer.ts +803 -0
  120. package/src/l1_tx_utils/l1_tx_utils.ts +6 -6
  121. package/src/l1_tx_utils/readonly_l1_tx_utils.ts +48 -186
  122. package/src/publisher_manager.ts +4 -2
  123. package/src/queries.ts +11 -3
  124. package/src/test/chain_monitor.ts +1 -1
  125. package/src/test/eth_cheat_codes.ts +1 -1
  126. package/src/test/rollup_cheat_codes.ts +22 -4
  127. package/src/test/start_anvil.ts +1 -1
  128. package/src/test/tx_delayer.ts +1 -1
  129. package/src/utils.ts +82 -0
package/dest/client.js CHANGED
@@ -8,7 +8,9 @@ import { createEthereumChain } from './chain.js';
8
8
  const chain = createEthereumChain(config.l1RpcUrls, config.l1ChainId);
9
9
  return createPublicClient({
10
10
  chain: chain.chainInfo,
11
- transport: fallback(config.l1RpcUrls.map((url)=>http(url))),
11
+ transport: fallback(config.l1RpcUrls.map((url)=>http(url, {
12
+ batch: false
13
+ }))),
12
14
  pollingInterval: config.viemPollingIntervalMS
13
15
  });
14
16
  }
@@ -38,7 +40,9 @@ export function createExtendedL1Client(rpcUrls, mnemonicOrPrivateKeyOrHdAccount,
38
40
  const extendedClient = createWalletClient({
39
41
  account: hdAccount,
40
42
  chain,
41
- transport: fallback(rpcUrls.map((url)=>http(url))),
43
+ transport: fallback(rpcUrls.map((url)=>http(url, {
44
+ batch: false
45
+ }))),
42
46
  pollingInterval: pollingIntervalMS
43
47
  }).extend(publicActions);
44
48
  return extendedClient;
package/dest/config.d.ts CHANGED
@@ -20,6 +20,8 @@ export type L1ContractsConfig = {
20
20
  lagInEpochsForValidatorSet: number;
21
21
  /** The number of epochs to lag behind the current epoch for randao selection. */
22
22
  lagInEpochsForRandao: number;
23
+ /** The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks). */
24
+ inboxLag: number;
23
25
  /** The number of epochs after an epoch ends that proofs are still accepted. */
24
26
  aztecProofSubmissionEpochs: number;
25
27
  /** The deposit amount for a validator */
@@ -54,41 +56,29 @@ export type L1ContractsConfig = {
54
56
  governanceProposerQuorum?: number;
55
57
  /** Governance proposing round size */
56
58
  governanceProposerRoundSize: number;
59
+ /** Governance voting duration in seconds (only for local/devnet/next-net, default 3600) */
60
+ governanceVotingDuration?: number;
57
61
  /** The mana target for the rollup */
58
62
  manaTarget: bigint;
59
63
  /** The proving cost per mana */
60
64
  provingCostPerMana: bigint;
65
+ /** The initial ETH per fee asset price (with 1e12 precision) */
66
+ initialEthPerFeeAsset: bigint;
61
67
  /** The number of seconds to wait for an exit */
62
68
  exitDelaySeconds: number;
63
69
  } & L1TxUtilsConfig;
64
- export declare const DefaultL1ContractsConfig: {
65
- ethereumSlotDuration: number;
66
- aztecSlotDuration: number;
67
- aztecEpochDuration: number;
68
- aztecTargetCommitteeSize: number;
69
- lagInEpochsForValidatorSet: number;
70
- lagInEpochsForRandao: number;
71
- aztecProofSubmissionEpochs: number;
72
- activationThreshold: bigint;
73
- ejectionThreshold: bigint;
74
- localEjectionThreshold: bigint;
75
- slashAmountSmall: bigint;
76
- slashAmountMedium: bigint;
77
- slashAmountLarge: bigint;
78
- slashingRoundSizeInEpochs: number;
79
- slashingLifetimeInRounds: number;
80
- slashingExecutionDelayInRounds: number;
81
- slashingVetoer: EthAddress;
82
- governanceProposerRoundSize: number;
83
- manaTarget: bigint;
84
- provingCostPerMana: bigint;
85
- exitDelaySeconds: number;
86
- slasherFlavor: "tally";
87
- slashingOffsetInRounds: number;
88
- slashingDisableDuration: number;
89
- };
70
+ /**
71
+ * Config mappings for L1ContractsConfig.
72
+ * Default values come from generated l1-contracts-defaults.json (source: defaults.yml).
73
+ * Real deployments use forge scripts which require explicit env vars (vm.envUint).
74
+ */
90
75
  export declare const l1ContractsConfigMappings: ConfigMappingsType<L1ContractsConfig>;
76
+ /**
77
+ * Default L1 contracts configuration derived from l1ContractsConfigMappings.
78
+ * Source of truth: spartan/environments/defaults.yml -> defaults.l1-contracts
79
+ */
80
+ export declare const DefaultL1ContractsConfig: L1ContractsConfig;
91
81
  export declare const genesisStateConfigMappings: ConfigMappingsType<GenesisStateConfig>;
92
82
  export declare function getL1ContractsConfigEnvVars(): L1ContractsConfig;
93
83
  export declare function getGenesisStateConfigEnvVars(): GenesisStateConfig;
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQVF4QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQTJCLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0NBQ3ZCLENBQUM7QUFFRixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIseUNBQXlDO0lBQ3pDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3Qix1RkFBdUY7SUFDdkYsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLHdDQUF3QztJQUN4QyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsMkNBQTJDO0lBQzNDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyxvRkFBb0Y7SUFDcEYsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQ25DLGlGQUFpRjtJQUNqRixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0IsK0VBQStFO0lBQy9FLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUNuQyx5Q0FBeUM7SUFDekMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHlDQUF5QztJQUN6QyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsbUhBQW1IO0lBQ25ILHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQix3S0FBd0s7SUFDeEssY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLDRFQUE0RTtJQUM1RSx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0dBQWdHO0lBQ2hHLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyx5R0FBeUc7SUFDekcsOEJBQThCLEVBQUUsTUFBTSxDQUFDO0lBQ3ZDLHlFQUF5RTtJQUN6RSxjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLDRJQUE0STtJQUM1SSxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsK0VBQStFO0lBQy9FLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywrQkFBK0I7SUFDL0IsYUFBYSxFQUFFLFFBQVEsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzNDLDJEQUEyRDtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsK0NBQStDO0lBQy9DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixxRUFBcUU7SUFDckUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGdFQUFnRTtJQUNoRSx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxzQ0FBc0M7SUFDdEMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLHFDQUFxQztJQUNyQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0lBQ25CLGdDQUFnQztJQUNoQyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsZ0RBQWdEO0lBQ2hELGdCQUFnQixFQUFFLE1BQU0sQ0FBQztDQUMxQixHQUFHLGVBQWUsQ0FBQztBQUVwQixlQUFPLE1BQU0sd0JBQXdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBeUJSLENBQUM7QUFFOUIsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQXVJM0UsQ0FBQztBQUVGLGVBQU8sTUFBTSwwQkFBMEIsRUFBRSxrQkFBa0IsQ0FBQyxrQkFBa0IsQ0FXN0UsQ0FBQztBQUVGLHdCQUFnQiwyQkFBMkIsSUFBSSxpQkFBaUIsQ0FFL0Q7QUFFRCx3QkFBZ0IsNEJBQTRCLElBQUksa0JBQWtCLENBRWpFIn0=
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGtCQUFrQixFQVF4QixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUczRCxPQUFPLEVBQUUsS0FBSyxlQUFlLEVBQTJCLE1BQU0seUJBQXlCLENBQUM7QUFFeEYsTUFBTSxNQUFNLGtCQUFrQixHQUFHO0lBQy9CLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ3RCLHlGQUF5RjtJQUN6RixZQUFZLEVBQUUsT0FBTyxDQUFDO0NBQ3ZCLENBQUM7QUFFRixNQUFNLE1BQU0saUJBQWlCLEdBQUc7SUFDOUIseUNBQXlDO0lBQ3pDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQztJQUM3Qix1RkFBdUY7SUFDdkYsaUJBQWlCLEVBQUUsTUFBTSxDQUFDO0lBQzFCLHdDQUF3QztJQUN4QyxrQkFBa0IsRUFBRSxNQUFNLENBQUM7SUFDM0IsMkNBQTJDO0lBQzNDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyxvRkFBb0Y7SUFDcEYsMEJBQTBCLEVBQUUsTUFBTSxDQUFDO0lBQ25DLGlGQUFpRjtJQUNqRixvQkFBb0IsRUFBRSxNQUFNLENBQUM7SUFDN0Isc0ZBQXNGO0lBQ3RGLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsK0VBQStFO0lBQy9FLDBCQUEwQixFQUFFLE1BQU0sQ0FBQztJQUNuQyx5Q0FBeUM7SUFDekMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDO0lBQzVCLHlDQUF5QztJQUN6QyxpQkFBaUIsRUFBRSxNQUFNLENBQUM7SUFDMUIsbUhBQW1IO0lBQ25ILHNCQUFzQixFQUFFLE1BQU0sQ0FBQztJQUMvQix3S0FBd0s7SUFDeEssY0FBYyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3hCLDRFQUE0RTtJQUM1RSx5QkFBeUIsRUFBRSxNQUFNLENBQUM7SUFDbEMsZ0dBQWdHO0lBQ2hHLHdCQUF3QixFQUFFLE1BQU0sQ0FBQztJQUNqQyx5R0FBeUc7SUFDekcsOEJBQThCLEVBQUUsTUFBTSxDQUFDO0lBQ3ZDLHlFQUF5RTtJQUN6RSxjQUFjLEVBQUUsVUFBVSxDQUFDO0lBQzNCLDRJQUE0STtJQUM1SSxzQkFBc0IsRUFBRSxNQUFNLENBQUM7SUFDL0IsK0VBQStFO0lBQy9FLHVCQUF1QixFQUFFLE1BQU0sQ0FBQztJQUNoQywrQkFBK0I7SUFDL0IsYUFBYSxFQUFFLFFBQVEsR0FBRyxPQUFPLEdBQUcsTUFBTSxDQUFDO0lBQzNDLDJEQUEyRDtJQUMzRCxnQkFBZ0IsRUFBRSxNQUFNLENBQUM7SUFDekIsK0NBQStDO0lBQy9DLGlCQUFpQixFQUFFLE1BQU0sQ0FBQztJQUMxQixxRUFBcUU7SUFDckUsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLGdFQUFnRTtJQUNoRSx3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxzQ0FBc0M7SUFDdEMsMkJBQTJCLEVBQUUsTUFBTSxDQUFDO0lBQ3BDLDJGQUEyRjtJQUMzRix3QkFBd0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQztJQUNsQyxxQ0FBcUM7SUFDckMsVUFBVSxFQUFFLE1BQU0sQ0FBQztJQUNuQixnQ0FBZ0M7SUFDaEMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDO0lBQzNCLGdFQUFnRTtJQUNoRSxxQkFBcUIsRUFBRSxNQUFNLENBQUM7SUFDOUIsZ0RBQWdEO0lBQ2hELGdCQUFnQixFQUFFLE1BQU0sQ0FBQztDQUMxQixHQUFHLGVBQWUsQ0FBQztBQUVwQjs7OztHQUlHO0FBQ0gsZUFBTyxNQUFNLHlCQUF5QixFQUFFLGtCQUFrQixDQUFDLGlCQUFpQixDQXlKM0UsQ0FBQztBQUVGOzs7R0FHRztBQUNILGVBQU8sTUFBTSx3QkFBd0IsbUJBQThDLENBQUM7QUFFcEYsZUFBTyxNQUFNLDBCQUEwQixFQUFFLGtCQUFrQixDQUFDLGtCQUFrQixDQVc3RSxDQUFDO0FBRUYsd0JBQWdCLDJCQUEyQixJQUFJLGlCQUFpQixDQUUvRDtBQUVELHdCQUFnQiw0QkFBNEIsSUFBSSxrQkFBa0IsQ0FFakUifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,yBAAyB,CAAC;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,oFAAoF;IACpF,0BAA0B,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;CAyBR,CAAC;AAE9B,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAuI3E,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAQxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,yBAAyB,CAAC;AAExF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;IACtB,yFAAyF;IACzF,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,oFAAoF;IACpF,0BAA0B,EAAE,MAAM,CAAC;IACnC,iFAAiF;IACjF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mHAAmH;IACnH,sBAAsB,EAAE,MAAM,CAAC;IAC/B,wKAAwK;IACxK,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,yBAAyB,EAAE,MAAM,CAAC;IAClC,gGAAgG;IAChG,wBAAwB,EAAE,MAAM,CAAC;IACjC,yGAAyG;IACzG,8BAA8B,EAAE,MAAM,CAAC;IACvC,yEAAyE;IACzE,cAAc,EAAE,UAAU,CAAC;IAC3B,4IAA4I;IAC5I,sBAAsB,EAAE,MAAM,CAAC;IAC/B,+EAA+E;IAC/E,uBAAuB,EAAE,MAAM,CAAC;IAChC,+BAA+B;IAC/B,aAAa,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC3C,2DAA2D;IAC3D,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,gBAAgB,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,2FAA2F;IAC3F,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gEAAgE;IAChE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;CAC1B,GAAG,eAAe,CAAC;AAEpB;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CAyJ3E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,mBAA8C,CAAC;AAEpF,eAAO,MAAM,0BAA0B,EAAE,kBAAkB,CAAC,kBAAkB,CAW7E,CAAC;AAEF,wBAAgB,2BAA2B,IAAI,iBAAiB,CAE/D;AAED,wBAAgB,4BAA4B,IAAI,kBAAkB,CAEjE"}
package/dest/config.js CHANGED
@@ -1,88 +1,71 @@
1
- import { // type NetworkNames,
2
- bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
1
+ import { bigintConfigHelper, booleanConfigHelper, enumConfigHelper, getConfigFromMappings, getDefaultConfig, numberConfigHelper, optionalNumberConfigHelper } from '@aztec/foundation/config';
3
2
  import { EthAddress } from '@aztec/foundation/eth-address';
3
+ import { l1ContractsDefaultEnv } from './generated/l1-contracts-defaults.js';
4
4
  import { l1TxUtilsConfigMappings } from './l1_tx_utils/config.js';
5
- export const DefaultL1ContractsConfig = {
6
- ethereumSlotDuration: 12,
7
- aztecSlotDuration: 36,
8
- aztecEpochDuration: 32,
9
- aztecTargetCommitteeSize: 48,
10
- lagInEpochsForValidatorSet: 2,
11
- lagInEpochsForRandao: 2,
12
- aztecProofSubmissionEpochs: 1,
13
- activationThreshold: 100n * 10n ** 18n,
14
- ejectionThreshold: 50n * 10n ** 18n,
15
- localEjectionThreshold: 98n * 10n ** 18n,
16
- slashAmountSmall: 10n * 10n ** 18n,
17
- slashAmountMedium: 20n * 10n ** 18n,
18
- slashAmountLarge: 50n * 10n ** 18n,
19
- slashingRoundSizeInEpochs: 4,
20
- slashingLifetimeInRounds: 5,
21
- slashingExecutionDelayInRounds: 0,
22
- slashingVetoer: EthAddress.ZERO,
23
- governanceProposerRoundSize: 300,
24
- manaTarget: BigInt(100e6),
25
- provingCostPerMana: BigInt(100),
26
- exitDelaySeconds: 2 * 24 * 60 * 60,
27
- slasherFlavor: 'tally',
28
- slashingOffsetInRounds: 2,
29
- slashingDisableDuration: 5 * 24 * 60 * 60
30
- };
31
- export const l1ContractsConfigMappings = {
5
+ /**
6
+ * Config mappings for L1ContractsConfig.
7
+ * Default values come from generated l1-contracts-defaults.json (source: defaults.yml).
8
+ * Real deployments use forge scripts which require explicit env vars (vm.envUint).
9
+ */ export const l1ContractsConfigMappings = {
32
10
  ethereumSlotDuration: {
33
11
  env: 'ETHEREUM_SLOT_DURATION',
34
12
  description: 'How many seconds an L1 slot lasts.',
35
- ...numberConfigHelper(DefaultL1ContractsConfig.ethereumSlotDuration)
13
+ ...numberConfigHelper(l1ContractsDefaultEnv.ETHEREUM_SLOT_DURATION)
36
14
  },
37
15
  aztecSlotDuration: {
38
16
  env: 'AZTEC_SLOT_DURATION',
39
17
  description: 'How many seconds an L2 slots lasts (must be multiple of ethereum slot duration).',
40
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecSlotDuration)
18
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLOT_DURATION)
41
19
  },
42
20
  aztecEpochDuration: {
43
21
  env: 'AZTEC_EPOCH_DURATION',
44
- description: `How many L2 slots an epoch lasts (maximum AZTEC_MAX_EPOCH_DURATION).`,
45
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecEpochDuration)
22
+ description: `How many L2 slots an epoch lasts (maximum MAX_CHECKPOINTS_PER_EPOCH).`,
23
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_EPOCH_DURATION)
46
24
  },
47
25
  aztecTargetCommitteeSize: {
48
26
  env: 'AZTEC_TARGET_COMMITTEE_SIZE',
49
27
  description: 'The target validator committee size.',
50
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecTargetCommitteeSize)
28
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_TARGET_COMMITTEE_SIZE)
51
29
  },
52
30
  lagInEpochsForValidatorSet: {
53
31
  env: 'AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET',
54
32
  description: 'The number of epochs to lag behind the current epoch for validator selection.',
55
- ...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForValidatorSet)
33
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_LAG_IN_EPOCHS_FOR_VALIDATOR_SET)
56
34
  },
57
35
  lagInEpochsForRandao: {
58
36
  env: 'AZTEC_LAG_IN_EPOCHS_FOR_RANDAO',
59
37
  description: 'The number of epochs to lag behind the current epoch for randao selection.',
60
- ...numberConfigHelper(DefaultL1ContractsConfig.lagInEpochsForRandao)
38
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_LAG_IN_EPOCHS_FOR_RANDAO)
39
+ },
40
+ inboxLag: {
41
+ env: 'AZTEC_INBOX_LAG',
42
+ description: 'The number of checkpoints to lag in the inbox (prevents sequencer DOS attacks).',
43
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_INBOX_LAG)
61
44
  },
62
45
  aztecProofSubmissionEpochs: {
63
46
  env: 'AZTEC_PROOF_SUBMISSION_EPOCHS',
64
47
  description: 'The number of epochs after an epoch ends that proofs are still accepted.',
65
- ...numberConfigHelper(DefaultL1ContractsConfig.aztecProofSubmissionEpochs)
48
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_PROOF_SUBMISSION_EPOCHS)
66
49
  },
67
50
  activationThreshold: {
68
51
  env: 'AZTEC_ACTIVATION_THRESHOLD',
69
52
  description: 'The deposit amount for a validator',
70
- ...bigintConfigHelper(DefaultL1ContractsConfig.activationThreshold)
53
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_ACTIVATION_THRESHOLD))
71
54
  },
72
55
  ejectionThreshold: {
73
56
  env: 'AZTEC_EJECTION_THRESHOLD',
74
57
  description: 'The minimum stake for a validator.',
75
- ...bigintConfigHelper(DefaultL1ContractsConfig.ejectionThreshold)
58
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_EJECTION_THRESHOLD))
76
59
  },
77
60
  localEjectionThreshold: {
78
61
  env: 'AZTEC_LOCAL_EJECTION_THRESHOLD',
79
62
  description: 'The local ejection threshold for a validator. Stricter than ejectionThreshold but local to a specific rollup',
80
- ...bigintConfigHelper(DefaultL1ContractsConfig.localEjectionThreshold)
63
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_LOCAL_EJECTION_THRESHOLD))
81
64
  },
82
65
  slashingOffsetInRounds: {
83
66
  env: 'AZTEC_SLASHING_OFFSET_IN_ROUNDS',
84
67
  description: 'How many slashing rounds back we slash (ie when slashing in round N, we slash for offenses committed during epochs of round N-offset)',
85
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingOffsetInRounds)
68
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_OFFSET_IN_ROUNDS)
86
69
  },
87
70
  slasherFlavor: {
88
71
  env: 'AZTEC_SLASHER_FLAVOR',
@@ -91,22 +74,22 @@ export const l1ContractsConfigMappings = {
91
74
  'empire',
92
75
  'tally',
93
76
  'none'
94
- ], DefaultL1ContractsConfig.slasherFlavor)
77
+ ], l1ContractsDefaultEnv.AZTEC_SLASHER_FLAVOR)
95
78
  },
96
79
  slashAmountSmall: {
97
80
  env: 'AZTEC_SLASH_AMOUNT_SMALL',
98
81
  description: 'Small slashing amount for light offenses',
99
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountSmall)
82
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_SMALL))
100
83
  },
101
84
  slashAmountMedium: {
102
85
  env: 'AZTEC_SLASH_AMOUNT_MEDIUM',
103
86
  description: 'Medium slashing amount for moderate offenses',
104
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountMedium)
87
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_MEDIUM))
105
88
  },
106
89
  slashAmountLarge: {
107
90
  env: 'AZTEC_SLASH_AMOUNT_LARGE',
108
91
  description: 'Large slashing amount for severe offenses',
109
- ...bigintConfigHelper(DefaultL1ContractsConfig.slashAmountLarge)
92
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_SLASH_AMOUNT_LARGE))
110
93
  },
111
94
  slashingQuorum: {
112
95
  env: 'AZTEC_SLASHING_QUORUM',
@@ -116,28 +99,28 @@ export const l1ContractsConfigMappings = {
116
99
  slashingRoundSizeInEpochs: {
117
100
  env: 'AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS',
118
101
  description: 'The slashing round size',
119
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingRoundSizeInEpochs)
102
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_ROUND_SIZE_IN_EPOCHS)
120
103
  },
121
104
  slashingLifetimeInRounds: {
122
105
  env: 'AZTEC_SLASHING_LIFETIME_IN_ROUNDS',
123
106
  description: 'The slashing lifetime in rounds',
124
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingLifetimeInRounds)
107
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_LIFETIME_IN_ROUNDS)
125
108
  },
126
109
  slashingExecutionDelayInRounds: {
127
110
  env: 'AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS',
128
111
  description: 'The slashing execution delay in rounds',
129
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingExecutionDelayInRounds)
112
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_EXECUTION_DELAY_IN_ROUNDS)
130
113
  },
131
114
  slashingVetoer: {
132
115
  env: 'AZTEC_SLASHING_VETOER',
133
116
  description: 'The slashing vetoer',
134
117
  parseEnv: (val)=>EthAddress.fromString(val),
135
- defaultValue: DefaultL1ContractsConfig.slashingVetoer
118
+ defaultValue: EthAddress.fromString(l1ContractsDefaultEnv.AZTEC_SLASHING_VETOER)
136
119
  },
137
120
  slashingDisableDuration: {
138
121
  env: 'AZTEC_SLASHING_DISABLE_DURATION',
139
122
  description: 'How long slashing can be disabled for in seconds when vetoer disables it',
140
- ...numberConfigHelper(DefaultL1ContractsConfig.slashingDisableDuration)
123
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_SLASHING_DISABLE_DURATION)
141
124
  },
142
125
  governanceProposerQuorum: {
143
126
  env: 'AZTEC_GOVERNANCE_PROPOSER_QUORUM',
@@ -147,25 +130,39 @@ export const l1ContractsConfigMappings = {
147
130
  governanceProposerRoundSize: {
148
131
  env: 'AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE',
149
132
  description: 'The governance proposing round size',
150
- ...numberConfigHelper(DefaultL1ContractsConfig.governanceProposerRoundSize)
133
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_GOVERNANCE_PROPOSER_ROUND_SIZE)
134
+ },
135
+ governanceVotingDuration: {
136
+ env: 'AZTEC_GOVERNANCE_VOTING_DURATION',
137
+ description: 'Governance voting duration in seconds (only for local/devnet/next-net)',
138
+ ...numberConfigHelper(3600)
151
139
  },
152
140
  manaTarget: {
153
141
  env: 'AZTEC_MANA_TARGET',
154
142
  description: 'The mana target for the rollup',
155
- ...bigintConfigHelper(DefaultL1ContractsConfig.manaTarget)
143
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_MANA_TARGET))
156
144
  },
157
145
  provingCostPerMana: {
158
146
  env: 'AZTEC_PROVING_COST_PER_MANA',
159
147
  description: 'The proving cost per mana',
160
- ...bigintConfigHelper(DefaultL1ContractsConfig.provingCostPerMana)
148
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_PROVING_COST_PER_MANA))
149
+ },
150
+ initialEthPerFeeAsset: {
151
+ env: 'AZTEC_INITIAL_ETH_PER_FEE_ASSET',
152
+ description: 'The initial ETH per fee asset price (with 1e12 precision)',
153
+ ...bigintConfigHelper(BigInt(l1ContractsDefaultEnv.AZTEC_INITIAL_ETH_PER_FEE_ASSET))
161
154
  },
162
155
  exitDelaySeconds: {
163
156
  env: 'AZTEC_EXIT_DELAY_SECONDS',
164
157
  description: 'The delay before a validator can exit the set',
165
- ...numberConfigHelper(DefaultL1ContractsConfig.exitDelaySeconds)
158
+ ...numberConfigHelper(l1ContractsDefaultEnv.AZTEC_EXIT_DELAY_SECONDS)
166
159
  },
167
160
  ...l1TxUtilsConfigMappings
168
161
  };
162
+ /**
163
+ * Default L1 contracts configuration derived from l1ContractsConfigMappings.
164
+ * Source of truth: spartan/environments/defaults.yml -> defaults.l1-contracts
165
+ */ export const DefaultL1ContractsConfig = getDefaultConfig(l1ContractsConfigMappings);
169
166
  export const genesisStateConfigMappings = {
170
167
  testAccounts: {
171
168
  env: 'TEST_ACCOUNTS',
@@ -8,6 +8,7 @@ export interface IEmpireBase {
8
8
  getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
9
9
  lastSignalSlot: SlotNumber;
10
10
  payloadWithMostSignals: Hex;
11
+ quorumReached: boolean;
11
12
  executed: boolean;
12
13
  }>;
13
14
  computeRound(slot: SlotNumber): Promise<bigint>;
@@ -26,4 +27,4 @@ export declare function encodeSignalWithSignature(payload: Hex, signature: Signa
26
27
  * @returns The EIP-712 signature
27
28
  */
28
29
  export declare function signSignalWithSig(signer: (msg: TypedDataDefinition) => Promise<Hex>, payload: Hex, slot: SlotNumber, instance: Hex, verifyingContract: Hex, chainId: number): Promise<Signature>;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZW1waXJlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLLG1CQUFtQixFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUM7SUFDMUIsWUFBWSxDQUNWLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDO1FBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQztRQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBQUM7SUFDM0YsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsV0FBVyxDQUFDO0lBQy9DLGdDQUFnQyxDQUM5QixPQUFPLEVBQUUsR0FBRyxFQUNaLElBQUksRUFBRSxVQUFVLEVBQ2hCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLEdBQUcsRUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDakQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0NBQ3pCO0FBRUQsd0JBQWdCLFlBQVksQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FNOUM7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsU0FBUyxpQkFNM0U7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILHdCQUFzQixpQkFBaUIsQ0FDckMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixRQUFRLEVBQUUsR0FBRyxFQUNiLGlCQUFpQixFQUFFLEdBQUcsRUFDdEIsT0FBTyxFQUFFLE1BQU0sR0FDZCxPQUFPLENBQUMsU0FBUyxDQUFDLENBOEJwQiJ9
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX2Jhc2UuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZW1waXJlX2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRzVELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBRSxLQUFLLG1CQUFtQixFQUFzQixNQUFNLE1BQU0sQ0FBQztBQUU5RSxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUzRCxNQUFNLFdBQVcsV0FBVztJQUMxQixJQUFJLE9BQU8sSUFBSSxVQUFVLENBQUM7SUFDMUIsWUFBWSxDQUNWLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQ1osT0FBTyxDQUFDO1FBQUUsY0FBYyxFQUFFLFVBQVUsQ0FBQztRQUFDLHNCQUFzQixFQUFFLEdBQUcsQ0FBQztRQUFDLGFBQWEsRUFBRSxPQUFPLENBQUM7UUFBQyxRQUFRLEVBQUUsT0FBTyxDQUFBO0tBQUUsQ0FBQyxDQUFDO0lBQ25ILFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFdBQVcsQ0FBQztJQUMvQyxnQ0FBZ0MsQ0FDOUIsT0FBTyxFQUFFLEdBQUcsRUFDWixJQUFJLEVBQUUsVUFBVSxFQUNoQixPQUFPLEVBQUUsTUFBTSxFQUNmLGFBQWEsRUFBRSxHQUFHLEVBQ2xCLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQ2pELE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztDQUN6QjtBQUVELHdCQUFnQixZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBTTlDO0FBRUQsd0JBQWdCLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsaUJBTTNFO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCx3QkFBc0IsaUJBQWlCLENBQ3JDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxtQkFBbUIsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQ1osSUFBSSxFQUFFLFVBQVUsRUFDaEIsUUFBUSxFQUFFLEdBQUcsRUFDYixpQkFBaUIsRUFBRSxHQUFHLEVBQ3RCLE9BQU8sRUFBRSxNQUFNLEdBQ2QsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQThCcEIifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,IAAI,OAAO,IAAI,UAAU,CAAC;IAC1B,YAAY,CACV,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC3F,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C,gCAAgC,CAC9B,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM9C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,iBAM3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE,GAAG,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
1
+ {"version":3,"file":"empire_base.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_base.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAG5D,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,mBAAmB,EAAsB,MAAM,MAAM,CAAC;AAE9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,IAAI,OAAO,IAAI,UAAU,CAAC;IAC1B,YAAY,CACV,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,cAAc,EAAE,UAAU,CAAC;QAAC,sBAAsB,EAAE,GAAG,CAAC;QAAC,aAAa,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnH,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,mBAAmB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW,CAAC;IAC/C,gCAAgC,CAC9B,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,GACjD,OAAO,CAAC,WAAW,CAAC,CAAC;CACzB;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,GAAG,CAM9C;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,iBAM3E;AAED;;;;;;;;GAQG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,CAAC,GAAG,EAAE,mBAAmB,KAAK,OAAO,CAAC,GAAG,CAAC,EAClD,OAAO,EAAE,GAAG,EACZ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,GAAG,EACb,iBAAiB,EAAE,GAAG,EACtB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,SAAS,CAAC,CA8BpB"}
@@ -25,6 +25,7 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
25
25
  getRoundInfo(rollupAddress: Hex, round: bigint): Promise<{
26
26
  lastSignalSlot: SlotNumber;
27
27
  payloadWithMostSignals: Hex;
28
+ quorumReached: boolean;
28
29
  executed: boolean;
29
30
  }>;
30
31
  getPayloadSignals(rollupAddress: Hex, round: bigint, payload: Hex): Promise<bigint>;
@@ -63,4 +64,4 @@ export declare class EmpireSlashingProposerContract extends EventEmitter impleme
63
64
  waitForRound(round: bigint, pollingIntervalSeconds?: number): Promise<boolean>;
64
65
  executeRound(txUtils: L1TxUtils, round: bigint | number): ReturnType<typeof txUtils.sendAndMonitorTransaction>;
65
66
  }
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX3NsYXNoaW5nX3Byb3Bvc2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9zbGFzaGluZ19wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzNELE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBR0wsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxtQkFBbUIsRUFHekIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBOEQsTUFBTSxrQkFBa0IsQ0FBQztBQUVoSCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksS0FBSyxFQUFFLE1BQU0sRUFFeEI7Q0FDRjtBQUVELHFCQUFhLDhCQUErQixTQUFRLFlBQWEsWUFBVyxXQUFXO2FBT25FLE1BQU0sRUFBRSxVQUFVO0lBTnBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUErRDtJQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBc0U7SUFFL0YsU0FBZ0IsSUFBSSxXQUFxQjtJQUV6QyxZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFRMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLG9CQUVuQjtJQUVNLFlBQVksb0JBRWxCO0lBRU0sbUJBQW1CLG9CQUV6QjtJQUVNLHlCQUF5QixvQkFFL0I7SUFFTSxlQUFlLG9CQUVyQjtJQUVNLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckQ7SUFFTSxXQUFXLDJCQUVqQjtJQUVZLFlBQVksQ0FDdkIsYUFBYSxFQUFFLEdBQUcsRUFDbEIsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUM7UUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO1FBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDO1FBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQTtLQUFFLENBQUMsQ0FPekY7SUFFTSxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBRXpGO0lBRU0sbUJBQW1CLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxXQUFXLENBS3BEO0lBRVksZ0NBQWdDLENBQzNDLE9BQU8sRUFBRSxHQUFHLEVBQ1osSUFBSSxFQUFFLFVBQVUsRUFDaEIsT0FBTyxFQUFFLE1BQU0sRUFDZixhQUFhLEVBQUUsR0FBRyxFQUNsQixNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLEtBQUssT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUNqRCxPQUFPLENBQUMsV0FBVyxDQUFDLENBYXRCO0lBRU0sMkJBQTJCLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUM7UUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFBO0tBQUUsS0FBSyxPQUFPLCtDQWV4RztJQUVNLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQTtLQUFFLEtBQUssT0FBTywrQ0Fjckc7SUFFTSxvQkFBb0IsQ0FDekIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFO1FBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQztRQUFDLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxLQUFLLE9BQU8sK0NBZWhHO0lBRUQsNkVBQTZFO0lBQ3RFLHdCQUF3QixDQUFDLEtBQUssRUFBRSxNQUFNLEdBQUcsV0FBVyxDQVMxRDtJQUVELHFFQUFxRTtJQUM5RCwrQkFBK0IsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFOzs7Ozs7a0JBRWpEO0lBRUQ7Ozs7OztPQU1HO0lBQ0ksWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEdBQUUsTUFBVSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FhdkY7SUFFWSxZQUFZLENBQ3ZCLE9BQU8sRUFBRSxTQUFTLEVBQ2xCLEtBQUssRUFBRSxNQUFNLEdBQUcsTUFBTSxHQUNyQixVQUFVLENBQUMsT0FBTyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FnRHREO0NBQ0YifQ==
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1waXJlX3NsYXNoaW5nX3Byb3Bvc2VyLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL2VtcGlyZV9zbGFzaGluZ19wcm9wb3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDN0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBSzNELE9BQU8sWUFBWSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBRUwsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxtQkFBbUIsRUFHekIsTUFBTSxNQUFNLENBQUM7QUFFZCxPQUFPLEtBQUssRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdEUsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLE9BQU8sRUFBRSxLQUFLLFdBQVcsRUFBOEQsTUFBTSxrQkFBa0IsQ0FBQztBQUVoSCxxQkFBYSw0QkFBNkIsU0FBUSxLQUFLO0lBQ3JELFlBQVksS0FBSyxFQUFFLE1BQU0sRUFFeEI7Q0FDRjtBQUVELHFCQUFhLDhCQUErQixTQUFRLFlBQWEsWUFBVyxXQUFXO2FBT25FLE1BQU0sRUFBRSxVQUFVO0lBTnBDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUErRDtJQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBc0U7SUFFL0YsU0FBZ0IsSUFBSSxXQUFxQjtJQUV6QyxZQUNrQixNQUFNLEVBQUUsVUFBVSxFQUNsQyxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFRMUI7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFTSxhQUFhLG9CQUVuQjtJQUVNLFlBQVksb0JBRWxCO0lBRU0sbUJBQW1CLG9CQUV6QjtJQUVNLHlCQUF5QixvQkFFL0I7SUFFTSxlQUFlLG9CQUVyQjtJQUVNLFlBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FFckQ7SUFFTSxXQUFXLDJCQUVqQjtJQUVZLFlBQVksQ0FDdkIsYUFBYSxFQUFFLEdBQUcsRUFDbEIsS0FBSyxFQUFFLE1BQU0sR0FDWixPQUFPLENBQUM7UUFBRSxjQUFjLEVBQUUsVUFBVSxDQUFDO1FBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDO1FBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQztRQUFDLFFBQVEsRUFBRSxPQUFPLENBQUE7S0FBRSxDQUFDLENBWWpIO0lBRU0saUJBQWlCLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUV6RjtJQUVNLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUcsV0FBVyxDQU1wRDtJQUVZLGdDQUFnQyxDQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUNaLElBQUksRUFBRSxVQUFVLEVBQ2hCLE9BQU8sRUFBRSxNQUFNLEVBQ2YsYUFBYSxFQUFFLEdBQUcsRUFDbEIsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLG1CQUFtQixLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FDakQsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQWN0QjtJQUVNLDJCQUEyQixDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLE9BQU8sRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQTtLQUFFLEtBQUssT0FBTywrQ0FleEc7SUFFTSx3QkFBd0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUU7UUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO1FBQUMsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUE7S0FBRSxLQUFLLE9BQU8sK0NBY3JHO0lBRU0sb0JBQW9CLENBQ3pCLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRTtRQUFFLEtBQUssRUFBRSxNQUFNLENBQUM7UUFBQyxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQztRQUFDLFFBQVEsRUFBRSxLQUFLLE1BQU0sRUFBRSxDQUFBO0tBQUUsS0FBSyxPQUFPLCtDQWVoRztJQUVELDZFQUE2RTtJQUN0RSx3QkFBd0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxHQUFHLFdBQVcsQ0FVMUQ7SUFFRCxxRUFBcUU7SUFDOUQsK0JBQStCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRTs7Ozs7O2tCQUVqRDtJQUVEOzs7Ozs7T0FNRztJQUNJLFlBQVksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixHQUFFLE1BQVUsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBYXZGO0lBRVksWUFBWSxDQUN2QixPQUFPLEVBQUUsU0FBUyxFQUNsQixLQUFLLEVBQUUsTUFBTSxHQUFHLE1BQU0sR0FDckIsVUFBVSxDQUFDLE9BQU8sT0FBTyxDQUFDLHlCQUF5QixDQUFDLENBbUN0RDtDQUNGIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"empire_slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/empire_slashing_proposer.ts"],"names":[],"mappings":"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"}
@@ -56,9 +56,18 @@ export class EmpireSlashingProposerContract extends EventEmitter {
56
56
  rollupAddress,
57
57
  round
58
58
  ]);
59
+ const [signalCount, quorum] = await Promise.all([
60
+ this.proposer.read.signalCount([
61
+ rollupAddress,
62
+ round,
63
+ result.payloadWithMostSignals
64
+ ]),
65
+ this.getQuorumSize()
66
+ ]);
59
67
  return {
60
68
  lastSignalSlot: SlotNumber.fromBigInt(result.lastSignalSlot),
61
69
  payloadWithMostSignals: result.payloadWithMostSignals,
70
+ quorumReached: signalCount >= quorum,
62
71
  executed: result.executed
63
72
  };
64
73
  }
@@ -72,6 +81,7 @@ export class EmpireSlashingProposerContract extends EventEmitter {
72
81
  createSignalRequest(payload) {
73
82
  return {
74
83
  to: this.address.toString(),
84
+ abi: EmpireSlashingProposerAbi,
75
85
  data: encodeSignal(payload)
76
86
  };
77
87
  }
@@ -79,6 +89,7 @@ export class EmpireSlashingProposerContract extends EventEmitter {
79
89
  const signature = await signSignalWithSig(signer, payload, slot, await this.getInstance(), this.address.toString(), chainId);
80
90
  return {
81
91
  to: this.address.toString(),
92
+ abi: EmpireSlashingProposerAbi,
82
93
  data: encodeSignalWithSignature(payload, signature)
83
94
  };
84
95
  }
@@ -132,6 +143,7 @@ export class EmpireSlashingProposerContract extends EventEmitter {
132
143
  /** Creates an L1TxRequest to submit the round winner for the given round. */ buildExecuteRoundRequest(round) {
133
144
  return {
134
145
  to: this.address.toString(),
146
+ abi: EmpireSlashingProposerAbi,
135
147
  data: encodeFunctionData({
136
148
  abi: EmpireSlashingProposerAbi,
137
149
  functionName: 'submitRoundWinner',
@@ -163,18 +175,8 @@ export class EmpireSlashingProposerContract extends EventEmitter {
163
175
  if (typeof round === 'number') {
164
176
  round = BigInt(round);
165
177
  }
166
- const args = {
167
- abi: EmpireSlashingProposerAbi,
168
- functionName: 'submitRoundWinner',
169
- args: [
170
- round
171
- ]
172
- };
173
- const data = encodeFunctionData(args);
174
- const response = await txUtils.sendAndMonitorTransaction({
175
- to: this.address.toString(),
176
- data
177
- }, {
178
+ const request = this.buildExecuteRoundRequest(round);
179
+ const response = await txUtils.sendAndMonitorTransaction(request, {
178
180
  // Gas estimation is way off for this, likely because we are creating the contract/selector to call
179
181
  // for the actual slashing dynamically.
180
182
  gasLimitBufferPercentage: 50
@@ -185,10 +187,15 @@ export class EmpireSlashingProposerContract extends EventEmitter {
185
187
  throw err;
186
188
  });
187
189
  if (response.receipt.status === 'reverted') {
188
- const error = await txUtils.tryGetErrorFromRevertedTx(data, {
189
- ...args,
190
+ const args = {
191
+ abi: EmpireSlashingProposerAbi,
192
+ functionName: 'submitRoundWinner',
193
+ args: [
194
+ round
195
+ ],
190
196
  address: this.address.toString()
191
- }, undefined, []);
197
+ };
198
+ const error = await txUtils.tryGetErrorFromRevertedTx(request.data, args, undefined, []);
192
199
  if (error?.includes('ProposalAlreadyExecuted')) {
193
200
  throw new ProposalAlreadyExecutedError(round);
194
201
  }
@@ -1,19 +1,20 @@
1
1
  import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import { type Hex } from 'viem';
3
3
  import type { L1TxUtils } from '../l1_tx_utils/index.js';
4
+ import type { ViemClient } from '../types.js';
4
5
  export declare class FeeAssetHandlerContract {
5
- readonly txUtils: L1TxUtils;
6
+ readonly client: ViemClient;
6
7
  address: EthAddress;
7
- constructor(address: Hex | EthAddress, txUtils: L1TxUtils);
8
+ constructor(client: ViemClient, address: Hex | EthAddress);
8
9
  getOwner(): Promise<EthAddress>;
9
10
  getMintAmount(): Promise<bigint>;
10
- mint(recipient: Hex | EthAddress): Promise<{
11
+ mint(txUtils: L1TxUtils, recipient: Hex | EthAddress): Promise<{
11
12
  receipt: import("viem").TransactionReceipt;
12
13
  state: import("../l1_tx_utils/types.js").L1TxState;
13
14
  }>;
14
- setMintAmount(amount: bigint): Promise<{
15
+ setMintAmount(txUtils: L1TxUtils, amount: bigint): Promise<{
15
16
  receipt: import("viem").TransactionReceipt;
16
17
  state: import("../l1_tx_utils/types.js").L1TxState;
17
18
  }>;
18
19
  }
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX2Fzc2V0X2hhbmRsZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZmVlX2Fzc2V0X2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBbUMsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQscUJBQWEsdUJBQXVCO2FBS2hCLE9BQU8sRUFBRSxTQUFTO0lBSjdCLE9BQU8sRUFBRSxVQUFVLENBQUM7SUFFM0IsWUFDRSxPQUFPLEVBQUUsR0FBRyxHQUFHLFVBQVUsRUFDVCxPQUFPLEVBQUUsU0FBUyxFQU1uQztJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBTzNDO0lBRU0sYUFBYSxvQkFPbkI7SUFFTSxJQUFJLENBQUMsU0FBUyxFQUFFLEdBQUcsR0FBRyxVQUFVOzs7T0FZdEM7SUFFTSxhQUFhLENBQUMsTUFBTSxFQUFFLE1BQU07OztPQVNsQztDQUNGIn0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlX2Fzc2V0X2hhbmRsZXIuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250cmFjdHMvZmVlX2Fzc2V0X2hhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzNELE9BQU8sRUFBRSxLQUFLLEdBQUcsRUFBbUMsTUFBTSxNQUFNLENBQUM7QUFFakUsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTlDLHFCQUFhLHVCQUF1QjthQUloQixNQUFNLEVBQUUsVUFBVTtJQUg3QixPQUFPLEVBQUUsVUFBVSxDQUFDO0lBRTNCLFlBQ2tCLE1BQU0sRUFBRSxVQUFVLEVBQ2xDLE9BQU8sRUFBRSxHQUFHLEdBQUcsVUFBVSxFQU0xQjtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLENBTzNDO0lBRU0sYUFBYSxvQkFPbkI7SUFFTSxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLFVBQVU7OztPQWExRDtJQUVNLGFBQWEsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNOzs7T0FVdEQ7Q0FDRiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"fee_asset_handler.d.ts","sourceRoot":"","sources":["../../src/contracts/fee_asset_handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,KAAK,GAAG,EAAmC,MAAM,MAAM,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,qBAAa,uBAAuB;aAKhB,OAAO,EAAE,SAAS;IAJ7B,OAAO,EAAE,UAAU,CAAC;IAE3B,YACE,OAAO,EAAE,GAAG,GAAG,UAAU,EACT,OAAO,EAAE,SAAS,EAMnC;IAEY,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAO3C;IAEM,aAAa,oBAOnB;IAEM,IAAI,CAAC,SAAS,EAAE,GAAG,GAAG,UAAU;;;OAYtC;IAEM,aAAa,CAAC,MAAM,EAAE,MAAM;;;OASlC;CACF"}
1
+ {"version":3,"file":"fee_asset_handler.d.ts","sourceRoot":"","sources":["../../src/contracts/fee_asset_handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAAE,KAAK,GAAG,EAAmC,MAAM,MAAM,CAAC;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,uBAAuB;aAIhB,MAAM,EAAE,UAAU;IAH7B,OAAO,EAAE,UAAU,CAAC;IAE3B,YACkB,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG,GAAG,UAAU,EAM1B;IAEY,QAAQ,IAAI,OAAO,CAAC,UAAU,CAAC,CAO3C;IAEM,aAAa,oBAOnB;IAEM,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,GAAG,UAAU;;;OAa1D;IAEM,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM;;;OAUtD;CACF"}
@@ -2,10 +2,10 @@ import { EthAddress } from '@aztec/foundation/eth-address';
2
2
  import { FeeAssetHandlerAbi } from '@aztec/l1-artifacts/FeeAssetHandlerAbi';
3
3
  import { encodeFunctionData, getContract } from 'viem';
4
4
  export class FeeAssetHandlerContract {
5
- txUtils;
5
+ client;
6
6
  address;
7
- constructor(address, txUtils){
8
- this.txUtils = txUtils;
7
+ constructor(client, address){
8
+ this.client = client;
9
9
  if (address instanceof EthAddress) {
10
10
  address = address.toString();
11
11
  }
@@ -15,7 +15,7 @@ export class FeeAssetHandlerContract {
15
15
  const contract = getContract({
16
16
  abi: FeeAssetHandlerAbi,
17
17
  address: this.address.toString(),
18
- client: this.txUtils.client
18
+ client: this.client
19
19
  });
20
20
  return EthAddress.fromString(await contract.read.owner());
21
21
  }
@@ -23,16 +23,17 @@ export class FeeAssetHandlerContract {
23
23
  const contract = getContract({
24
24
  abi: FeeAssetHandlerAbi,
25
25
  address: this.address.toString(),
26
- client: this.txUtils.client
26
+ client: this.client
27
27
  });
28
28
  return contract.read.mintAmount();
29
29
  }
30
- mint(recipient) {
30
+ mint(txUtils, recipient) {
31
31
  if (recipient instanceof EthAddress) {
32
32
  recipient = recipient.toString();
33
33
  }
34
- return this.txUtils.sendAndMonitorTransaction({
34
+ return txUtils.sendAndMonitorTransaction({
35
35
  to: this.address.toString(),
36
+ abi: FeeAssetHandlerAbi,
36
37
  data: encodeFunctionData({
37
38
  abi: FeeAssetHandlerAbi,
38
39
  functionName: 'mint',
@@ -42,9 +43,10 @@ export class FeeAssetHandlerContract {
42
43
  })
43
44
  });
44
45
  }
45
- setMintAmount(amount) {
46
- return this.txUtils.sendAndMonitorTransaction({
46
+ setMintAmount(txUtils, amount) {
47
+ return txUtils.sendAndMonitorTransaction({
47
48
  to: this.address.toString(),
49
+ abi: FeeAssetHandlerAbi,
48
50
  data: encodeFunctionData({
49
51
  abi: FeeAssetHandlerAbi,
50
52
  functionName: 'setMintAmount',
@@ -74,6 +74,8 @@ export declare class GovernanceContract extends ReadOnlyGovernanceContract {
74
74
  withdrawAddress: Hex;
75
75
  }): Promise<bigint>;
76
76
  getPower(): Promise<bigint>;
77
+ /** Returns the user's voting power for a specific proposal, checked at pendingThrough timestamp. */
78
+ getPowerForProposal(proposalId: bigint): Promise<bigint>;
77
79
  vote({ proposalId, voteAmount, inFavor, retries, logger }: {
78
80
  proposalId: bigint;
79
81
  voteAmount: bigint | undefined;
@@ -87,4 +89,4 @@ export declare class GovernanceContract extends ReadOnlyGovernanceContract {
87
89
  logger: Logger;
88
90
  }): Promise<void>;
89
91
  }
90
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9nb3Zlcm5hbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUVMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUlULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxLQUFLLFVBQVUsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFFL0YsTUFBTSxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FDOUMsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUFHLGVBQWUsR0FBRyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FDeEYsQ0FBQztBQUdGLG9CQUFZLGFBQWE7SUFDdkIsT0FBTyxJQUFBO0lBQ1AsTUFBTSxJQUFBO0lBQ04sTUFBTSxJQUFBO0lBQ04sVUFBVSxJQUFBO0lBQ1YsUUFBUSxJQUFBO0lBQ1IsUUFBUSxJQUFBO0lBQ1IsT0FBTyxJQUFBO0lBQ1AsT0FBTyxJQUFBO0NBQ1I7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FXN0Q7QUFFRCxxQkFBYSwwQkFBMEI7YUFLbkIsTUFBTSxFQUFFLFVBQVU7SUFKcEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUvRixZQUNFLE9BQU8sRUFBRSxHQUFHLEVBQ0ksTUFBTSxFQUFFLFVBQVUsRUFHbkM7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFWSw0QkFBNEIsd0JBRXhDO0lBRU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7T0FFdEI7SUFFTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVwQztJQUVZLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQU94RTtJQUVZLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7S0FBRSxpQkFvQjlGO0lBRVksdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQTtLQUFFLGlCQXlCbEc7Q0FDRjtBQUVELHFCQUFhLGtCQUFtQixTQUFRLDBCQUEwQjthQUtyQyxNQUFNLEVBQUUsd0JBQXdCO0lBSjNELG1CQUE0QixrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRXRILFlBQ0UsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEVBQ0EsTUFBTSxFQUFFLHdCQUF3QixFQVUxRDtJQUVZLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUduRDtJQUVZLGVBQWUsQ0FBQyxFQUMzQixjQUFjLEVBQ2QsZUFBZSxFQUNoQixFQUFFO1FBQ0QsY0FBYyxFQUFFLEdBQUcsQ0FBQztRQUNwQixlQUFlLEVBQUUsR0FBRyxDQUFDO0tBQ3RCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU9sQjtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBR3ZDO0lBRVksSUFBSSxDQUFDLEVBQ2hCLFVBQVUsRUFDVixVQUFVLEVBQ1YsT0FBTyxFQUNQLE9BQVksRUFDWixNQUFNLEVBQ1AsRUFBRTtRQUNELFVBQVUsRUFBRSxNQUFNLENBQUM7UUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUM7UUFDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQztRQUNqQixPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDaEIsaUJBK0NBO0lBRVksZUFBZSxDQUFDLEVBQzNCLFVBQVUsRUFDVixPQUFZLEVBQ1osTUFBTSxFQUNQLEVBQUU7UUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ25CLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFDaEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztLQUNoQixpQkF5Q0E7Q0FDRiJ9
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ292ZXJuYW5jZS5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy9nb3Zlcm5hbmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsT0FBTyxFQUVMLEtBQUsscUJBQXFCLEVBQzFCLEtBQUssR0FBRyxFQUNSLEtBQUssR0FBRyxFQUlULE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxLQUFLLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RSxPQUFPLEVBQUUsS0FBSyx3QkFBd0IsRUFBRSxLQUFLLFVBQVUsRUFBb0IsTUFBTSxhQUFhLENBQUM7QUFFL0YsTUFBTSxNQUFNLDZCQUE2QixHQUFHLElBQUksQ0FDOUMsbUJBQW1CLEVBQ25CLG1CQUFtQixHQUFHLGVBQWUsR0FBRyxpQkFBaUIsR0FBRywyQkFBMkIsQ0FDeEYsQ0FBQztBQUdGLG9CQUFZLGFBQWE7SUFDdkIsT0FBTyxJQUFBO0lBQ1AsTUFBTSxJQUFBO0lBQ04sTUFBTSxJQUFBO0lBQ04sVUFBVSxJQUFBO0lBQ1YsUUFBUSxJQUFBO0lBQ1IsUUFBUSxJQUFBO0lBQ1IsT0FBTyxJQUFBO0lBQ1AsT0FBTyxJQUFBO0NBQ1I7QUFFRCx3QkFBZ0IseUJBQXlCLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLE1BQU0sQ0FXN0Q7QUFFRCxxQkFBYSwwQkFBMEI7YUFLbkIsTUFBTSxFQUFFLFVBQVU7SUFKcEMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUUvRixZQUNFLE9BQU8sRUFBRSxHQUFHLEVBQ0ksTUFBTSxFQUFFLFVBQVUsRUFHbkM7SUFFRCxJQUFXLE9BQU8sZUFFakI7SUFFWSw0QkFBNEIsd0JBRXhDO0lBRU0sZ0JBQWdCOzs7Ozs7Ozs7Ozs7T0FFdEI7SUFFTSxXQUFXLENBQUMsVUFBVSxFQUFFLE1BQU07Ozs7Ozs7Ozs7Ozs7Ozs7OztPQUVwQztJQUVZLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQU94RTtJQUVZLG1CQUFtQixDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUFDLE1BQU0sRUFBRSxNQUFNLENBQUE7S0FBRSxpQkFvQjlGO0lBRVksdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQTtLQUFFLGlCQXlCbEc7Q0FDRjtBQUVELHFCQUFhLGtCQUFtQixTQUFRLDBCQUEwQjthQUtyQyxNQUFNLEVBQUUsd0JBQXdCO0lBSjNELG1CQUE0QixrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQyxPQUFPLGFBQWEsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBRXRILFlBQ0UsT0FBTyxFQUFFLEdBQUcsR0FBRyxVQUFVLEVBQ0EsTUFBTSxFQUFFLHdCQUF3QixFQVUxRDtJQUVZLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUduRDtJQUVZLGVBQWUsQ0FBQyxFQUMzQixjQUFjLEVBQ2QsZUFBZSxFQUNoQixFQUFFO1FBQ0QsY0FBYyxFQUFFLEdBQUcsQ0FBQztRQUNwQixlQUFlLEVBQUUsR0FBRyxDQUFDO0tBQ3RCLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQU9sQjtJQUVZLFFBQVEsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBR3ZDO0lBRUQsb0dBQW9HO0lBQ3ZGLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUlwRTtJQUVZLElBQUksQ0FBQyxFQUNoQixVQUFVLEVBQ1YsVUFBVSxFQUNWLE9BQU8sRUFDUCxPQUFZLEVBQ1osTUFBTSxFQUNQLEVBQUU7UUFDRCxVQUFVLEVBQUUsTUFBTSxDQUFDO1FBQ25CLFVBQVUsRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDO1FBQy9CLE9BQU8sRUFBRSxPQUFPLENBQUM7UUFDakIsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUNoQixNQUFNLEVBQUUsTUFBTSxDQUFDO0tBQ2hCLGlCQWdEQTtJQUVZLGVBQWUsQ0FBQyxFQUMzQixVQUFVLEVBQ1YsT0FBWSxFQUNaLE1BQU0sRUFDUCxFQUFFO1FBQ0QsVUFBVSxFQUFFLE1BQU0sQ0FBQztRQUNuQixPQUFPLEVBQUUsTUFBTSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUM7S0FDaEIsaUJBMENBO0NBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"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"}