@aztec/ethereum 0.78.1 → 0.80.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.
- package/dest/contracts/fee_juice.js +1 -1
- package/dest/contracts/forwarder.d.ts.map +1 -1
- package/dest/contracts/forwarder.js +2 -1
- package/dest/contracts/governance.d.ts +17 -5
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +18 -20
- package/dest/contracts/governance_proposer.d.ts +1 -0
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +10 -3
- package/dest/contracts/registry.d.ts +1 -0
- package/dest/contracts/registry.d.ts.map +1 -1
- package/dest/contracts/registry.js +6 -2
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +3 -1
- package/dest/contracts/slashing_proposer.js +1 -1
- package/dest/deploy_l1_contracts.d.ts +181 -325
- package/dest/deploy_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_l1_contracts.js +48 -26
- package/dest/l1_tx_utils.d.ts +1 -0
- package/dest/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils.js +4 -1
- package/dest/queries.d.ts +7 -0
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +14 -2
- package/dest/test/chain_monitor.d.ts +25 -0
- package/dest/test/chain_monitor.d.ts.map +1 -0
- package/dest/test/chain_monitor.js +74 -0
- package/dest/test/index.d.ts +1 -0
- package/dest/test/index.d.ts.map +1 -1
- package/dest/test/index.js +1 -0
- package/dest/test/upgrade_utils.d.ts.map +1 -1
- package/dest/test/upgrade_utils.js +1 -1
- package/dest/utils.js +1 -1
- package/package.json +5 -5
- package/src/contracts/fee_juice.ts +1 -1
- package/src/contracts/forwarder.ts +2 -1
- package/src/contracts/governance.ts +22 -21
- package/src/contracts/governance_proposer.ts +7 -3
- package/src/contracts/registry.ts +7 -2
- package/src/contracts/rollup.ts +3 -1
- package/src/contracts/slashing_proposer.ts +1 -1
- package/src/deploy_l1_contracts.ts +66 -28
- package/src/l1_tx_utils.ts +5 -0
- package/src/queries.ts +29 -2
- package/src/test/chain_monitor.ts +88 -0
- package/src/test/index.ts +1 -0
- package/src/test/upgrade_utils.ts +1 -1
- package/src/utils.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
-
import { TestERC20Abi as FeeJuiceAbi } from '@aztec/l1-artifacts';
|
|
2
|
+
import { TestERC20Abi as FeeJuiceAbi } from '@aztec/l1-artifacts/TestERC20Abi';
|
|
3
3
|
import { getContract } from 'viem';
|
|
4
4
|
export class FeeJuiceContract {
|
|
5
5
|
publicClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"forwarder.d.ts","sourceRoot":"","sources":["../../src/contracts/forwarder.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGjF,qBAAa,iBAAiB;aAGA,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;aAAgC,aAAa,EAAE,GAAG;IAF/G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA+D;gBAE7D,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,EAAkB,aAAa,EAAE,GAAG;WAIlG,MAAM,CACjB,KAAK,EAAE,GAAG,EACV,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,EAC9B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,GAAG;IAwBb,UAAU;IAIJ,OAAO,CAClB,QAAQ,EAAE,WAAW,EAAE,EACvB,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,WAAW,GAAG,SAAS,EAClC,UAAU,EAAE,YAAY,GAAG,SAAS,EACpC,MAAM,EAAE,MAAM;;;;;;;;;;;CAqEjB"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toHex } from '@aztec/foundation/bigint-buffer';
|
|
2
|
-
import { ForwarderAbi
|
|
2
|
+
import { ForwarderAbi } from '@aztec/l1-artifacts/ForwarderAbi';
|
|
3
|
+
import { ForwarderBytecode } from '@aztec/l1-artifacts/ForwarderBytecode';
|
|
3
4
|
import { encodeFunctionData, getContract } from 'viem';
|
|
4
5
|
import { deployL1Contract } from '../deploy_l1_contracts.js';
|
|
5
6
|
import { RollupContract } from './rollup.js';
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import type { Logger } from '@aztec/foundation/log';
|
|
3
|
-
import { type Hex } from 'viem';
|
|
3
|
+
import { type Hex, type Log } from 'viem';
|
|
4
4
|
import type { L1ContractAddresses } from '../l1_contract_addresses.js';
|
|
5
5
|
import type { ViemPublicClient, ViemWalletClient } from '../types.js';
|
|
6
|
-
import { GovernanceProposerContract } from './governance_proposer.js';
|
|
7
6
|
export type L1GovernanceContractAddresses = Pick<L1ContractAddresses, 'governanceAddress' | 'rollupAddress' | 'registryAddress' | 'governanceProposerAddress'>;
|
|
8
7
|
export declare enum ProposalState {
|
|
9
8
|
Pending = 0,
|
|
@@ -15,6 +14,7 @@ export declare enum ProposalState {
|
|
|
15
14
|
Dropped = 6,
|
|
16
15
|
Expired = 7
|
|
17
16
|
}
|
|
17
|
+
export declare function extractProposalIdFromLogs(logs: Log[]): bigint;
|
|
18
18
|
export declare class GovernanceContract {
|
|
19
19
|
readonly publicClient: ViemPublicClient;
|
|
20
20
|
readonly walletClient: ViemWalletClient | undefined;
|
|
@@ -22,8 +22,20 @@ export declare class GovernanceContract {
|
|
|
22
22
|
private readonly walletGovernance;
|
|
23
23
|
constructor(address: Hex, publicClient: ViemPublicClient, walletClient: ViemWalletClient | undefined);
|
|
24
24
|
get address(): EthAddress;
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
getGovernanceProposerAddress(): Promise<EthAddress>;
|
|
26
|
+
getConfiguration(): Promise<{
|
|
27
|
+
proposeConfig: {
|
|
28
|
+
lockDelay: bigint;
|
|
29
|
+
lockAmount: bigint;
|
|
30
|
+
};
|
|
31
|
+
votingDelay: bigint;
|
|
32
|
+
votingDuration: bigint;
|
|
33
|
+
executionDelay: bigint;
|
|
34
|
+
gracePeriod: bigint;
|
|
35
|
+
quorum: bigint;
|
|
36
|
+
voteDifferential: bigint;
|
|
37
|
+
minimumVotes: bigint;
|
|
38
|
+
}>;
|
|
27
39
|
getProposal(proposalId: bigint): Promise<{
|
|
28
40
|
config: {
|
|
29
41
|
proposeConfig: {
|
|
@@ -53,7 +65,7 @@ export declare class GovernanceContract {
|
|
|
53
65
|
proposeWithLock({ payloadAddress, withdrawAddress, }: {
|
|
54
66
|
payloadAddress: Hex;
|
|
55
67
|
withdrawAddress: Hex;
|
|
56
|
-
}): Promise<
|
|
68
|
+
}): Promise<bigint>;
|
|
57
69
|
awaitProposalActive({ proposalId, logger }: {
|
|
58
70
|
proposalId: bigint;
|
|
59
71
|
logger: Logger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,
|
|
1
|
+
{"version":3,"file":"governance.d.ts","sourceRoot":"","sources":["../../src/contracts/governance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,OAAO,EAGL,KAAK,GAAG,EACR,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,mBAAmB,EACnB,mBAAmB,GAAG,eAAe,GAAG,iBAAiB,GAAG,2BAA2B,CACxF,CAAC;AAGF,oBAAY,aAAa;IACvB,OAAO,IAAA;IACP,MAAM,IAAA;IACN,MAAM,IAAA;IACN,UAAU,IAAA;IACV,QAAQ,IAAA;IACR,QAAQ,IAAA;IACR,OAAO,IAAA;IACP,OAAO,IAAA;CACR;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,CAW7D;AAED,qBAAa,kBAAkB;aAMX,YAAY,EAAE,gBAAgB;aAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAN5D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgE;IACjG,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA4E;gBAG3G,OAAO,EAAE,GAAG,EACI,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,gBAAgB,GAAG,SAAS;IAQ5D,IAAW,OAAO,eAEjB;IAEY,4BAA4B;IAIlC,gBAAgB;;;;;;;;;;;;;IAIhB,WAAW,CAAC,UAAU,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;IAIxB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAQzE,OAAO,CAAC,sBAAsB;IAOjB,OAAO,CAAC,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;IAMvC,eAAe,CAAC,EAC3B,cAAc,EACd,eAAe,GAChB,EAAE;QACD,cAAc,EAAE,GAAG,CAAC;QACpB,eAAe,EAAE,GAAG,CAAC;KACtB,GAAG,OAAO,CAAC,MAAM,CAAC;IAUN,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAsBlF,uBAAuB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IA2BtF,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IAM3B,IAAI,CAAC,EAChB,UAAU,EACV,UAAU,EACV,OAAO,EACP,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;QAC/B,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;IAkDY,eAAe,CAAC,EAC3B,UAAU,EACV,OAAY,EACZ,MAAM,GACP,EAAE;QACD,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB;CA2CF"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import { sleep } from '@aztec/foundation/sleep';
|
|
3
|
-
import { GovernanceAbi } from '@aztec/l1-artifacts';
|
|
4
|
-
import { encodeFunctionData, getContract } from 'viem';
|
|
3
|
+
import { GovernanceAbi } from '@aztec/l1-artifacts/GovernanceAbi';
|
|
4
|
+
import { encodeFunctionData, getContract, parseEventLogs } from 'viem';
|
|
5
5
|
import { L1TxUtils } from '../l1_tx_utils.js';
|
|
6
|
-
import { GovernanceProposerContract } from './governance_proposer.js';
|
|
7
6
|
// NOTE: Must be kept in sync with DataStructures.ProposalState in l1-contracts
|
|
8
7
|
export var ProposalState = /*#__PURE__*/ function(ProposalState) {
|
|
9
8
|
ProposalState[ProposalState["Pending"] = 0] = "Pending";
|
|
@@ -16,6 +15,17 @@ export var ProposalState = /*#__PURE__*/ function(ProposalState) {
|
|
|
16
15
|
ProposalState[ProposalState["Expired"] = 7] = "Expired";
|
|
17
16
|
return ProposalState;
|
|
18
17
|
}({});
|
|
18
|
+
export function extractProposalIdFromLogs(logs) {
|
|
19
|
+
const parsedLogs = parseEventLogs({
|
|
20
|
+
abi: GovernanceAbi,
|
|
21
|
+
logs: logs,
|
|
22
|
+
eventName: 'Proposed'
|
|
23
|
+
});
|
|
24
|
+
if (parsedLogs.length === 0) {
|
|
25
|
+
throw new Error('Proposal log not found');
|
|
26
|
+
}
|
|
27
|
+
return parsedLogs[0].args.proposalId;
|
|
28
|
+
}
|
|
19
29
|
export class GovernanceContract {
|
|
20
30
|
publicClient;
|
|
21
31
|
walletClient;
|
|
@@ -38,22 +48,11 @@ export class GovernanceContract {
|
|
|
38
48
|
get address() {
|
|
39
49
|
return EthAddress.fromString(this.publicGovernance.address);
|
|
40
50
|
}
|
|
41
|
-
async
|
|
42
|
-
|
|
43
|
-
return new GovernanceProposerContract(this.publicClient, governanceProposerAddress.toString());
|
|
51
|
+
async getGovernanceProposerAddress() {
|
|
52
|
+
return EthAddress.fromString(await this.publicGovernance.read.governanceProposer());
|
|
44
53
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
const [rollupAddress, registryAddress] = await Promise.all([
|
|
48
|
-
governanceProposer.getRollupAddress(),
|
|
49
|
-
governanceProposer.getRegistryAddress()
|
|
50
|
-
]);
|
|
51
|
-
return {
|
|
52
|
-
governanceAddress: this.address,
|
|
53
|
-
rollupAddress,
|
|
54
|
-
registryAddress,
|
|
55
|
-
governanceProposerAddress: governanceProposer.address
|
|
56
|
-
};
|
|
54
|
+
getConfiguration() {
|
|
55
|
+
return this.publicGovernance.read.getConfiguration();
|
|
57
56
|
}
|
|
58
57
|
getProposal(proposalId) {
|
|
59
58
|
return this.publicGovernance.read.getProposal([
|
|
@@ -97,8 +96,7 @@ export class GovernanceContract {
|
|
|
97
96
|
if (receipt.status !== 'success') {
|
|
98
97
|
throw new Error(`Proposal failed: ${receipt.status}`);
|
|
99
98
|
}
|
|
100
|
-
|
|
101
|
-
return proposalId;
|
|
99
|
+
return extractProposalIdFromLogs(receipt.logs);
|
|
102
100
|
}
|
|
103
101
|
async awaitProposalActive({ proposalId, logger }) {
|
|
104
102
|
const state = await this.getProposalState(proposalId);
|
|
@@ -23,6 +23,7 @@ export declare class GovernanceProposerContract implements IEmpireBase {
|
|
|
23
23
|
executeProposal(round: bigint, l1TxUtils: L1TxUtils): Promise<{
|
|
24
24
|
receipt: TransactionReceipt;
|
|
25
25
|
gasPrice: GasPrice;
|
|
26
|
+
proposalId: bigint;
|
|
26
27
|
}>;
|
|
27
28
|
}
|
|
28
29
|
//# sourceMappingURL=governance_proposer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"governance_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/governance_proposer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAA8B,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAEtH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"governance_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/governance_proposer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAA8B,KAAK,GAAG,EAAE,KAAK,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAEtH,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,KAAK,WAAW,EAAc,MAAM,kBAAkB,CAAC;AAGhE,qBAAa,0BAA2B,YAAW,WAAW;aAGhC,MAAM,EAAE,gBAAgB;IAFpD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwE;gBAErE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG;IAIlE,IAAW,OAAO,eAEjB;IAEY,gBAAgB;IAKhB,kBAAkB;IAIxB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIrC,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IASzD,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;IAOtC,eAAe,CAC1B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC;QACT,OAAO,EAAE,kBAAkB,CAAC;QAC5B,QAAQ,EAAE,QAAQ,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CAYH"}
|
|
@@ -6,9 +6,10 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
6
6
|
}
|
|
7
7
|
import { memoize } from '@aztec/foundation/decorators';
|
|
8
8
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
|
-
import { GovernanceProposerAbi } from '@aztec/l1-artifacts';
|
|
9
|
+
import { GovernanceProposerAbi } from '@aztec/l1-artifacts/GovernanceProposerAbi';
|
|
10
10
|
import { encodeFunctionData, getContract } from 'viem';
|
|
11
11
|
import { encodeVote } from './empire_base.js';
|
|
12
|
+
import { extractProposalIdFromLogs } from './governance.js';
|
|
12
13
|
export class GovernanceProposerContract {
|
|
13
14
|
client;
|
|
14
15
|
proposer;
|
|
@@ -64,8 +65,8 @@ export class GovernanceProposerContract {
|
|
|
64
65
|
data: encodeVote(payload)
|
|
65
66
|
};
|
|
66
67
|
}
|
|
67
|
-
executeProposal(round, l1TxUtils) {
|
|
68
|
-
|
|
68
|
+
async executeProposal(round, l1TxUtils) {
|
|
69
|
+
const { receipt, gasPrice } = await l1TxUtils.sendAndMonitorTransaction({
|
|
69
70
|
to: this.address.toString(),
|
|
70
71
|
data: encodeFunctionData({
|
|
71
72
|
abi: this.proposer.abi,
|
|
@@ -75,6 +76,12 @@ export class GovernanceProposerContract {
|
|
|
75
76
|
]
|
|
76
77
|
})
|
|
77
78
|
});
|
|
79
|
+
const proposalId = extractProposalIdFromLogs(receipt.logs);
|
|
80
|
+
return {
|
|
81
|
+
receipt,
|
|
82
|
+
gasPrice,
|
|
83
|
+
proposalId
|
|
84
|
+
};
|
|
78
85
|
}
|
|
79
86
|
}
|
|
80
87
|
_ts_decorate([
|
|
@@ -20,5 +20,6 @@ export declare class RegistryContract {
|
|
|
20
20
|
getCanonicalAddress(): Promise<EthAddress>;
|
|
21
21
|
getGovernanceAddresses(): Promise<Pick<L1ContractAddresses, 'governanceProposerAddress' | 'governanceAddress'>>;
|
|
22
22
|
static collectAddresses(client: ViemPublicClient, registryAddress: Hex | EthAddress, rollupVersion: number | bigint | 'canonical'): Promise<L1ContractAddresses>;
|
|
23
|
+
getNumberOfVersions(): Promise<number>;
|
|
23
24
|
}
|
|
24
25
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/contracts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,EAGL,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/D,qBAAa,gBAAgB;aAIC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;IAHtD,OAAO,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgF;gBAE7E,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU;IAQxF;;;;OAIG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB1F;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IAS1C,sBAAsB,IAAI,OAAO,CAC5C,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,GAAG,mBAAmB,CAAC,CAC7E;WAUmB,gBAAgB,CAClC,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,GAAG,GAAG,UAAU,EACjC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAC3C,OAAO,CAAC,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/contracts/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,EAGL,KAAK,GAAG,EAIT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAI/D,qBAAa,gBAAgB;aAIC,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC;IAHtD,OAAO,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgF;gBAE7E,MAAM,EAAE,SAAS,CAAC,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU;IAQxF;;;;OAIG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB1F;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IAS1C,sBAAsB,IAAI,OAAO,CAC5C,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,GAAG,mBAAmB,CAAC,CAC7E;WAUmB,gBAAgB,CAClC,MAAM,EAAE,gBAAgB,EACxB,eAAe,EAAE,GAAG,GAAG,UAAU,EACjC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAC3C,OAAO,CAAC,mBAAmB,CAAC;IAyBlB,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;CAIpD"}
|
|
@@ -54,10 +54,10 @@ export class RegistryContract {
|
|
|
54
54
|
async getGovernanceAddresses() {
|
|
55
55
|
const governanceAddress = await this.registry.read.getGovernance();
|
|
56
56
|
const governance = new GovernanceContract(governanceAddress, this.client, undefined);
|
|
57
|
-
const
|
|
57
|
+
const governanceProposerAddress = await governance.getGovernanceProposerAddress();
|
|
58
58
|
return {
|
|
59
59
|
governanceAddress: governance.address,
|
|
60
|
-
governanceProposerAddress:
|
|
60
|
+
governanceProposerAddress: governanceProposerAddress
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
static async collectAddresses(client, registryAddress, rollupVersion) {
|
|
@@ -82,4 +82,8 @@ export class RegistryContract {
|
|
|
82
82
|
coinIssuerAddress: EthAddress.fromString(coinIssuer)
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
|
+
async getNumberOfVersions() {
|
|
86
|
+
const version = await this.registry.read.numberOfVersions();
|
|
87
|
+
return Number(version);
|
|
88
|
+
}
|
|
85
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":";;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"rollup.d.ts","sourceRoot":"","sources":["../../src/contracts/rollup.ts"],"names":[],"mappings":"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"}
|
package/dest/contracts/rollup.js
CHANGED
|
@@ -6,7 +6,9 @@ function _ts_decorate(decorators, target, key, desc) {
|
|
|
6
6
|
}
|
|
7
7
|
import { memoize } from '@aztec/foundation/decorators';
|
|
8
8
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
9
|
-
import { RollupAbi
|
|
9
|
+
import { RollupAbi } from '@aztec/l1-artifacts/RollupAbi';
|
|
10
|
+
import { RollupStorage } from '@aztec/l1-artifacts/RollupStorage';
|
|
11
|
+
import { SlasherAbi } from '@aztec/l1-artifacts/SlasherAbi';
|
|
10
12
|
import { getAddress, getContract } from 'viem';
|
|
11
13
|
import { getPublicClient } from '../client.js';
|
|
12
14
|
import { formatViemError } from '../utils.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
|
-
import { SlashingProposerAbi } from '@aztec/l1-artifacts';
|
|
2
|
+
import { SlashingProposerAbi } from '@aztec/l1-artifacts/SlashingProposerAbi';
|
|
3
3
|
import { getContract } from 'viem';
|
|
4
4
|
import { encodeVote } from './empire_base.js';
|
|
5
5
|
export class SlashingProposerContract {
|