@aztec/ethereum 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/config.d.ts +27 -5
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +90 -9
- package/dest/contracts/empire_base.d.ts +3 -4
- package/dest/contracts/empire_base.d.ts.map +1 -1
- package/dest/contracts/empire_base.js +4 -8
- package/dest/contracts/governance_proposer.d.ts +2 -2
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +4 -9
- package/dest/contracts/multicall.d.ts +2 -1
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +79 -48
- package/dest/contracts/rollup.d.ts +13 -1
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +64 -0
- package/dest/contracts/slashing_proposer.d.ts +2 -2
- package/dest/contracts/slashing_proposer.d.ts.map +1 -1
- package/dest/contracts/slashing_proposer.js +5 -10
- package/dest/deploy_l1_contracts.d.ts +837 -534
- package/dest/deploy_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_l1_contracts.js +35 -19
- package/dest/l1_tx_utils.d.ts +7 -2
- package/dest/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils.js +41 -13
- package/dest/l1_tx_utils_with_blobs.d.ts +2 -1
- package/dest/l1_tx_utils_with_blobs.d.ts.map +1 -1
- package/dest/l1_tx_utils_with_blobs.js +5 -3
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +5 -3
- package/dest/test/start_anvil.d.ts +2 -0
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +3 -0
- package/package.json +6 -4
- package/src/config.ts +102 -8
- package/src/contracts/empire_base.ts +10 -16
- package/src/contracts/governance_proposer.ts +10 -10
- package/src/contracts/multicall.ts +73 -46
- package/src/contracts/rollup.ts +82 -1
- package/src/contracts/slashing_proposer.ts +11 -11
- package/src/deploy_l1_contracts.ts +45 -18
- package/src/l1_tx_utils.ts +56 -19
- package/src/l1_tx_utils_with_blobs.ts +14 -3
- package/src/queries.ts +3 -0
- package/src/test/start_anvil.ts +5 -3
|
@@ -2,7 +2,7 @@ import { EthAddress } from '@aztec/foundation/eth-address';
|
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
3
|
import { type Hex } from 'viem';
|
|
4
4
|
import type { L1TxRequest, L1TxUtils } from '../l1_tx_utils.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { ViemClient } from '../types.js';
|
|
6
6
|
import { type IEmpireBase } from './empire_base.js';
|
|
7
7
|
export declare class ProposalAlreadyExecutedError extends Error {
|
|
8
8
|
constructor(round: bigint);
|
|
@@ -23,7 +23,7 @@ export declare class SlashingProposerContract extends EventEmitter implements IE
|
|
|
23
23
|
}>;
|
|
24
24
|
getProposalVotes(rollupAddress: Hex, round: bigint, proposal: Hex): Promise<bigint>;
|
|
25
25
|
createVoteRequest(payload: Hex): L1TxRequest;
|
|
26
|
-
createVoteRequestWithSignature(payload: Hex,
|
|
26
|
+
createVoteRequestWithSignature(payload: Hex, chainId: number, signerAddress: Hex, signer: (msg: Hex) => Promise<Hex>): Promise<L1TxRequest>;
|
|
27
27
|
listenToExecutableProposals(callback: (args: {
|
|
28
28
|
proposal: `0x${string}`;
|
|
29
29
|
round: bigint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"slashing_proposer.d.ts","sourceRoot":"","sources":["../../src/contracts/slashing_proposer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAI3D,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAGL,KAAK,GAAG,EAGT,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,KAAK,WAAW,EAAwD,MAAM,kBAAkB,CAAC;AAE1G,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,KAAK,EAAE,MAAM;CAG1B;AAED,qBAAa,wBAAyB,SAAQ,YAAa,YAAW,WAAW;aAI7D,MAAM,EAAE,UAAU;IAHpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgE;gBAGvE,MAAM,EAAE,UAAU,EAClC,OAAO,EAAE,GAAG;IAMd,IAAW,OAAO,eAEjB;IAEM,aAAa;IAIb,YAAY;IAIZ,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C,QAAQ,CAAC,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAIlC,YAAY,CACvB,aAAa,EAAE,GAAG,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzD,gBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAInF,iBAAiB,CAAC,OAAO,EAAE,GAAG,GAAG,WAAW;IAOtC,8BAA8B,CACzC,OAAO,EAAE,GAAG,EACZ,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,GAAG,EAClB,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,GACjC,OAAO,CAAC,WAAW,CAAC;IAShB,2BAA2B,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO;IAiBnG,wBAAwB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO;IAgBhG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,sBAAsB,GAAE,MAAU;IAYxD,YAAY,CACvB,OAAO,EAAE,SAAS,EAClB,KAAK,EAAE,MAAM,GAAG,MAAM,GACrB,UAAU,CAAC,OAAO,OAAO,CAAC,yBAAyB,CAAC;CA+CxD"}
|
|
@@ -41,15 +41,10 @@ export class SlashingProposerContract extends EventEmitter {
|
|
|
41
41
|
]);
|
|
42
42
|
}
|
|
43
43
|
async getRoundInfo(rollupAddress, round) {
|
|
44
|
-
|
|
44
|
+
return await this.proposer.read.getRoundData([
|
|
45
45
|
rollupAddress,
|
|
46
46
|
round
|
|
47
47
|
]);
|
|
48
|
-
return {
|
|
49
|
-
lastVote: roundInfo[0],
|
|
50
|
-
leader: roundInfo[1],
|
|
51
|
-
executed: roundInfo[2]
|
|
52
|
-
};
|
|
53
48
|
}
|
|
54
49
|
getProposalVotes(rollupAddress, round, proposal) {
|
|
55
50
|
return this.proposer.read.yeaCount([
|
|
@@ -64,9 +59,9 @@ export class SlashingProposerContract extends EventEmitter {
|
|
|
64
59
|
data: encodeVote(payload)
|
|
65
60
|
};
|
|
66
61
|
}
|
|
67
|
-
async createVoteRequestWithSignature(payload,
|
|
68
|
-
const nonce = await this.getNonce(
|
|
69
|
-
const signature = await signVoteWithSig(
|
|
62
|
+
async createVoteRequestWithSignature(payload, chainId, signerAddress, signer) {
|
|
63
|
+
const nonce = await this.getNonce(signerAddress);
|
|
64
|
+
const signature = await signVoteWithSig(signer, payload, nonce, this.address.toString(), chainId);
|
|
70
65
|
return {
|
|
71
66
|
to: this.address.toString(),
|
|
72
67
|
data: encodeVoteWithSignature(payload, signature)
|
|
@@ -121,7 +116,7 @@ export class SlashingProposerContract extends EventEmitter {
|
|
|
121
116
|
}, {
|
|
122
117
|
// Gas estimation is way off for this, likely because we are creating the contract/selector to call
|
|
123
118
|
// for the actual slashing dynamically.
|
|
124
|
-
gasLimitBufferPercentage:
|
|
119
|
+
gasLimitBufferPercentage: 50
|
|
125
120
|
}).catch((err)=>{
|
|
126
121
|
if (err instanceof FormattedViemError && err.message.includes('ProposalAlreadyExecuted')) {
|
|
127
122
|
throw new ProposalAlreadyExecutedError(round);
|