@aztec/ethereum 0.82.2 → 0.82.3-nightly.20250403
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/account.d.ts +2 -0
- package/dest/account.d.ts.map +1 -0
- package/dest/account.js +4 -0
- package/dest/cli/forwarder_address.d.ts +2 -0
- package/dest/cli/forwarder_address.d.ts.map +1 -0
- package/dest/cli/forwarder_address.js +10 -0
- package/dest/client.d.ts +1 -1
- package/dest/client.d.ts.map +1 -1
- package/dest/config.d.ts +8 -0
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +17 -2
- package/dest/contracts/fee_juice.d.ts.map +1 -1
- package/dest/contracts/fee_juice.js +10 -2
- package/dest/contracts/forwarder.d.ts +1 -0
- package/dest/contracts/forwarder.d.ts.map +1 -1
- package/dest/contracts/forwarder.js +7 -1
- package/dest/contracts/registry.d.ts +2 -0
- package/dest/contracts/registry.d.ts.map +1 -1
- package/dest/contracts/registry.js +19 -12
- package/dest/contracts/rollup.d.ts +3 -2
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +20 -8
- package/dest/deploy_l1_contracts.d.ts +2412 -596
- package/dest/deploy_l1_contracts.d.ts.map +1 -1
- package/dest/deploy_l1_contracts.js +248 -195
- package/dest/index.d.ts +1 -0
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +1 -0
- package/dest/l1_contract_addresses.d.ts +4 -0
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +7 -1
- package/dest/queries.d.ts +1 -0
- package/dest/queries.d.ts.map +1 -1
- package/dest/queries.js +5 -3
- package/dest/test/start_anvil.d.ts +1 -0
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/dest/test/start_anvil.js +3 -5
- package/dest/test/upgrade_utils.d.ts +1 -0
- package/dest/test/upgrade_utils.d.ts.map +1 -1
- package/dest/test/upgrade_utils.js +9 -2
- package/package.json +6 -5
- package/src/account.ts +5 -0
- package/src/cli/forwarder_address.ts +12 -0
- package/src/client.ts +2 -0
- package/src/config.ts +26 -1
- package/src/contracts/fee_juice.ts +12 -2
- package/src/contracts/forwarder.ts +6 -1
- package/src/contracts/registry.ts +19 -10
- package/src/contracts/rollup.ts +20 -8
- package/src/deploy_l1_contracts.ts +298 -214
- package/src/index.ts +1 -0
- package/src/l1_contract_addresses.ts +11 -1
- package/src/queries.ts +10 -1
- package/src/test/start_anvil.ts +4 -2
- package/src/test/upgrade_utils.ts +12 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../src/account.ts"],"names":[],"mappings":"AAEA,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,KAAK,MAAM,EAAE,GAAG,KAAK,MAAM,EAAE,CAEjF"}
|
package/dest/account.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forwarder_address.d.ts","sourceRoot":"","sources":["../../src/cli/forwarder_address.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ForwarderContract } from '../contracts/index.js';
|
|
2
|
+
const ownerAddress = process.argv[2];
|
|
3
|
+
if (!ownerAddress) {
|
|
4
|
+
process.stderr.write('Please provide an owner address as an argument\n');
|
|
5
|
+
process.exit(1);
|
|
6
|
+
}
|
|
7
|
+
// Ensure the address starts with 0x
|
|
8
|
+
const formattedAddress = ownerAddress.startsWith('0x') ? ownerAddress : `0x${ownerAddress}`;
|
|
9
|
+
const address = ForwarderContract.expectedAddress(formattedAddress);
|
|
10
|
+
process.stdout.write(`${address}\n`);
|
package/dest/client.d.ts
CHANGED
|
@@ -8,9 +8,9 @@ type Config = {
|
|
|
8
8
|
/** The polling interval viem uses in ms */
|
|
9
9
|
viemPollingIntervalMS?: number;
|
|
10
10
|
};
|
|
11
|
+
export type { Config as EthereumClientConfig };
|
|
11
12
|
/** Returns a viem public client given the L1 config. */
|
|
12
13
|
export declare function getPublicClient(config: Config): ViemPublicClient;
|
|
13
14
|
/** Returns a viem public client after waiting for the L1 RPC node to become available. */
|
|
14
15
|
export declare function waitForPublicClient(config: Config, logger?: Logger): Promise<ViemPublicClient>;
|
|
15
|
-
export {};
|
|
16
16
|
//# sourceMappingURL=client.d.ts.map
|
package/dest/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,KAAK,MAAM,GAAG;IACZ,wCAAwC;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,KAAK,MAAM,GAAG;IACZ,wCAAwC;IACxC,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF,YAAY,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC;AAI/C,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAOhE;AAED,0FAA0F;AAC1F,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAIpG"}
|
package/dest/config.d.ts
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import { type ConfigMappingsType } from '@aztec/foundation/config';
|
|
2
2
|
import { type L1TxUtilsConfig } from './l1_tx_utils.js';
|
|
3
|
+
export type GenesisStateConfig = {
|
|
4
|
+
/** Whether to populate the genesis state with initial fee juice for the test accounts */
|
|
5
|
+
testAccounts: boolean;
|
|
6
|
+
/** Whether to populate the genesis state with initial fee juice for the sponsored FPC */
|
|
7
|
+
sponsoredFPC: boolean;
|
|
8
|
+
};
|
|
3
9
|
export type L1ContractsConfig = {
|
|
4
10
|
/** How many seconds an L1 slot lasts. */
|
|
5
11
|
ethereumSlotDuration: number;
|
|
@@ -41,5 +47,7 @@ export declare const DefaultL1ContractsConfig: {
|
|
|
41
47
|
provingCostPerMana: bigint;
|
|
42
48
|
};
|
|
43
49
|
export declare const l1ContractsConfigMappings: ConfigMappingsType<L1ContractsConfig>;
|
|
50
|
+
export declare const genesisStateConfigMappings: ConfigMappingsType<GenesisStateConfig>;
|
|
44
51
|
export declare function getL1ContractsConfigEnvVars(): L1ContractsConfig;
|
|
52
|
+
export declare function getGenesisStateConfigEnvVars(): GenesisStateConfig;
|
|
45
53
|
//# sourceMappingURL=config.d.ts.map
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,kBAAkB,EAKxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,KAAK,eAAe,EAA2B,MAAM,kBAAkB,CAAC;AAEjF,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,sFAAsF;IACtF,0BAA0B,EAAE,MAAM,CAAC;IACnC,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,8BAA8B;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kCAAkC;IAClC,wBAAwB,EAAE,MAAM,CAAC;IACjC,sCAAsC;IACtC,2BAA2B,EAAE,MAAM,CAAC;IACpC,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;CAaR,CAAC;AAE9B,eAAO,MAAM,yBAAyB,EAAE,kBAAkB,CAAC,iBAAiB,CA+D3E,CAAC;AAEF,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,4 +1,4 @@
|
|
|
1
|
-
import { bigintConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
1
|
+
import { bigintConfigHelper, booleanConfigHelper, getConfigFromMappings, numberConfigHelper } from '@aztec/foundation/config';
|
|
2
2
|
import { l1TxUtilsConfigMappings } from './l1_tx_utils.js';
|
|
3
3
|
export const DefaultL1ContractsConfig = {
|
|
4
4
|
ethereumSlotDuration: 12,
|
|
@@ -11,7 +11,7 @@ export const DefaultL1ContractsConfig = {
|
|
|
11
11
|
slashingRoundSize: 10,
|
|
12
12
|
governanceProposerQuorum: 6,
|
|
13
13
|
governanceProposerRoundSize: 10,
|
|
14
|
-
manaTarget: BigInt(
|
|
14
|
+
manaTarget: BigInt(1e10),
|
|
15
15
|
provingCostPerMana: BigInt(100)
|
|
16
16
|
};
|
|
17
17
|
export const l1ContractsConfigMappings = {
|
|
@@ -77,6 +77,21 @@ export const l1ContractsConfigMappings = {
|
|
|
77
77
|
},
|
|
78
78
|
...l1TxUtilsConfigMappings
|
|
79
79
|
};
|
|
80
|
+
export const genesisStateConfigMappings = {
|
|
81
|
+
testAccounts: {
|
|
82
|
+
env: 'TEST_ACCOUNTS',
|
|
83
|
+
description: 'Whether to populate the genesis state with initial fee juice for the test accounts.',
|
|
84
|
+
...booleanConfigHelper(false)
|
|
85
|
+
},
|
|
86
|
+
sponsoredFPC: {
|
|
87
|
+
env: 'SPONSORED_FPC',
|
|
88
|
+
description: 'Whether to populate the genesis state with initial fee juice for the sponsored FPC.',
|
|
89
|
+
...booleanConfigHelper(false)
|
|
90
|
+
}
|
|
91
|
+
};
|
|
80
92
|
export function getL1ContractsConfigEnvVars() {
|
|
81
93
|
return getConfigFromMappings(l1ContractsConfigMappings);
|
|
82
94
|
}
|
|
95
|
+
export function getGenesisStateConfigEnvVars() {
|
|
96
|
+
return getConfigFromMappings(genesisStateConfigMappings);
|
|
97
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fee_juice.d.ts","sourceRoot":"","sources":["../../src/contracts/fee_juice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAA8B,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,gBAAgB;aAMT,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC;aACvC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS;IANrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuE;IACtG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmF;gBAGhH,OAAO,EAAE,GAAG,EACI,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,EACvC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS;IAMrE,IAAW,OAAO,eAEjB;IAED,OAAO,CAAC,oBAAoB;IAOf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;
|
|
1
|
+
{"version":3,"file":"fee_juice.d.ts","sourceRoot":"","sources":["../../src/contracts/fee_juice.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,EAA8B,KAAK,GAAG,EAAe,MAAM,MAAM,CAAC;AAEzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,qBAAa,gBAAgB;aAMT,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC;aACvC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS;IANrE,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAuE;IACtG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAmF;gBAGhH,OAAO,EAAE,GAAG,EACI,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,EACvC,YAAY,EAAE,SAAS,CAAC,cAAc,CAAC,GAAG,SAAS;IAMrE,IAAW,OAAO,eAEjB;IAED,OAAO,CAAC,oBAAoB;IAOf,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;IAW5B,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM;CAUlD"}
|
|
@@ -35,9 +35,13 @@ export class FeeJuiceContract {
|
|
|
35
35
|
to,
|
|
36
36
|
amount
|
|
37
37
|
]);
|
|
38
|
-
await this.publicClient.waitForTransactionReceipt({
|
|
38
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({
|
|
39
39
|
hash: tx
|
|
40
40
|
});
|
|
41
|
+
if (receipt.status === 'success') {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
throw new Error('Mint failed');
|
|
41
45
|
}
|
|
42
46
|
async approve(spender, amount) {
|
|
43
47
|
const walletFeeJuice = this.assertWalletFeeJuice();
|
|
@@ -45,8 +49,12 @@ export class FeeJuiceContract {
|
|
|
45
49
|
spender,
|
|
46
50
|
amount
|
|
47
51
|
]);
|
|
48
|
-
await this.publicClient.waitForTransactionReceipt({
|
|
52
|
+
const receipt = await this.publicClient.waitForTransactionReceipt({
|
|
49
53
|
hash: tx
|
|
50
54
|
});
|
|
55
|
+
if (receipt.status === 'success') {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
throw new Error('Approve failed');
|
|
51
59
|
}
|
|
52
60
|
}
|
|
@@ -7,6 +7,7 @@ export declare class ForwarderContract {
|
|
|
7
7
|
readonly rollupAddress: Hex;
|
|
8
8
|
private readonly forwarder;
|
|
9
9
|
constructor(client: L1Clients['publicClient'], address: Hex, rollupAddress: Hex);
|
|
10
|
+
static expectedAddress(owner: Hex): `0x${string}`;
|
|
10
11
|
static create(owner: Hex, walletClient: ViemWalletClient, publicClient: ViemPublicClient, logger: Logger, rollupAddress: Hex): Promise<ForwarderContract>;
|
|
11
12
|
getAddress(): `0x${string}`;
|
|
12
13
|
forward(requests: L1TxRequest[], l1TxUtils: L1TxUtils, gasConfig: L1GasConfig | undefined, blobConfig: L1BlobInputs | undefined, logger: Logger): Promise<{
|
|
@@ -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;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;
|
|
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;IAI/G,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG;WAKpB,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"}
|
|
@@ -2,7 +2,7 @@ import { toHex } from '@aztec/foundation/bigint-buffer';
|
|
|
2
2
|
import { ForwarderAbi } from '@aztec/l1-artifacts/ForwarderAbi';
|
|
3
3
|
import { ForwarderBytecode } from '@aztec/l1-artifacts/ForwarderBytecode';
|
|
4
4
|
import { encodeFunctionData, getContract } from 'viem';
|
|
5
|
-
import { deployL1Contract } from '../deploy_l1_contracts.js';
|
|
5
|
+
import { deployL1Contract, getExpectedAddress } from '../deploy_l1_contracts.js';
|
|
6
6
|
import { RollupContract } from './rollup.js';
|
|
7
7
|
export class ForwarderContract {
|
|
8
8
|
client;
|
|
@@ -17,6 +17,12 @@ export class ForwarderContract {
|
|
|
17
17
|
client
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
+
static expectedAddress(owner) {
|
|
21
|
+
const { address } = getExpectedAddress(ForwarderAbi, ForwarderBytecode, [
|
|
22
|
+
owner
|
|
23
|
+
], owner);
|
|
24
|
+
return address;
|
|
25
|
+
}
|
|
20
26
|
static async create(owner, walletClient, publicClient, logger, rollupAddress) {
|
|
21
27
|
logger.info('Deploying forwarder contract');
|
|
22
28
|
const { address, txHash } = await deployL1Contract(walletClient, publicClient, ForwarderAbi, ForwarderBytecode, [
|
|
@@ -21,5 +21,7 @@ export declare class RegistryContract {
|
|
|
21
21
|
getGovernanceAddresses(): Promise<Pick<L1ContractAddresses, 'governanceProposerAddress' | 'governanceAddress'>>;
|
|
22
22
|
static collectAddresses(client: ViemPublicClient, registryAddress: Hex | EthAddress, rollupVersion: number | bigint | 'canonical'): Promise<L1ContractAddresses>;
|
|
23
23
|
getNumberOfVersions(): Promise<number>;
|
|
24
|
+
getRollupVersions(): Promise<bigint[]>;
|
|
25
|
+
getRewardDistributor(): Promise<EthAddress>;
|
|
24
26
|
}
|
|
25
27
|
//# 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;
|
|
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;IAgB1F;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC;IAI1C,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;IAKtC,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAWtC,oBAAoB,IAAI,OAAO,CAAC,UAAU,CAAC;CAGzD"}
|
|
@@ -31,25 +31,19 @@ export class RegistryContract {
|
|
|
31
31
|
if (typeof version === 'number') {
|
|
32
32
|
version = BigInt(version);
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
34
|
+
try {
|
|
35
|
+
return EthAddress.fromString(await this.registry.read.getRollup([
|
|
36
|
+
version
|
|
37
|
+
]));
|
|
38
|
+
} catch (e) {
|
|
39
39
|
throw new Error('Rollup address is undefined');
|
|
40
40
|
}
|
|
41
|
-
return address;
|
|
42
41
|
}
|
|
43
42
|
/**
|
|
44
43
|
* Returns the canonical address of the rollup.
|
|
45
44
|
* @returns The canonical address of the rollup. If the rollup is not set, throws an error.
|
|
46
45
|
*/ async getCanonicalAddress() {
|
|
47
|
-
|
|
48
|
-
const address = EthAddress.fromString(snapshot.rollup);
|
|
49
|
-
if (address.equals(EthAddress.ZERO)) {
|
|
50
|
-
throw new Error('Rollup address is undefined');
|
|
51
|
-
}
|
|
52
|
-
return address;
|
|
46
|
+
return EthAddress.fromString(await this.registry.read.getCanonicalRollup());
|
|
53
47
|
}
|
|
54
48
|
async getGovernanceAddresses() {
|
|
55
49
|
const governanceAddress = await this.registry.read.getGovernance();
|
|
@@ -86,4 +80,17 @@ export class RegistryContract {
|
|
|
86
80
|
const version = await this.registry.read.numberOfVersions();
|
|
87
81
|
return Number(version);
|
|
88
82
|
}
|
|
83
|
+
async getRollupVersions() {
|
|
84
|
+
const count = await this.getNumberOfVersions();
|
|
85
|
+
const versions = [];
|
|
86
|
+
for(let i = 0; i < count; i++){
|
|
87
|
+
versions.push(await this.registry.read.getVersion([
|
|
88
|
+
BigInt(i)
|
|
89
|
+
]));
|
|
90
|
+
}
|
|
91
|
+
return versions;
|
|
92
|
+
}
|
|
93
|
+
async getRewardDistributor() {
|
|
94
|
+
return EthAddress.fromString(await this.registry.read.getRewardDistributor());
|
|
95
|
+
}
|
|
89
96
|
}
|
|
@@ -40,6 +40,7 @@ export declare class RollupContract {
|
|
|
40
40
|
getProvingCostPerMana(): Promise<bigint>;
|
|
41
41
|
getProvingCostPerManaInFeeAsset(): Promise<bigint>;
|
|
42
42
|
getManaLimit(): Promise<bigint>;
|
|
43
|
+
getVersion(): Promise<bigint>;
|
|
43
44
|
getSlasher(): Promise<`0x${string}`>;
|
|
44
45
|
getSlashingProposerAddress(): Promise<EthAddress>;
|
|
45
46
|
getBlockNumber(): Promise<bigint>;
|
|
@@ -51,6 +52,7 @@ export declare class RollupContract {
|
|
|
51
52
|
getCurrentEpochCommittee(): Promise<readonly `0x${string}`[]>;
|
|
52
53
|
getCurrentProposer(): Promise<`0x${string}`>;
|
|
53
54
|
getProposerAt(timestamp: bigint): Promise<`0x${string}`>;
|
|
55
|
+
getEpochCommittee(epoch: bigint): Promise<readonly `0x${string}`[]>;
|
|
54
56
|
getBlock(blockNumber: bigint): Promise<{
|
|
55
57
|
archive: `0x${string}`;
|
|
56
58
|
blockHash: `0x${string}`;
|
|
@@ -63,6 +65,7 @@ export declare class RollupContract {
|
|
|
63
65
|
getTimestampForSlot(slot: bigint): Promise<bigint>;
|
|
64
66
|
getEpochNumber(blockNumber?: bigint): Promise<bigint>;
|
|
65
67
|
getRollupAddresses(): Promise<L1RollupContractAddresses>;
|
|
68
|
+
getFeeJuicePortal(): Promise<EthAddress>;
|
|
66
69
|
getEpochNumberForSlotNumber(slotNumber: bigint): Promise<bigint>;
|
|
67
70
|
getEpochProofPublicInputs(args: readonly [bigint, bigint, EpochProofPublicInputArgs, readonly `0x${string}`[], `0x${string}`, `0x${string}`]): Promise<readonly `0x${string}`[]>;
|
|
68
71
|
validateHeader(args: readonly [
|
|
@@ -89,7 +92,6 @@ export declare class RollupContract {
|
|
|
89
92
|
/** Calls getHasSubmitted directly. Returns whether the given prover has submitted a proof with the given length for the given epoch. */
|
|
90
93
|
getHasSubmittedProof(epochNumber: number, numberOfBlocksInEpoch: number, prover: Hex | EthAddress): Promise<boolean>;
|
|
91
94
|
getManaBaseFeeAt(timestamp: bigint, inFeeAsset: boolean): Promise<bigint>;
|
|
92
|
-
getVersion(): Promise<bigint>;
|
|
93
95
|
getSlotAt(timestamp: bigint): Promise<bigint>;
|
|
94
96
|
status(blockNumber: bigint, options?: {
|
|
95
97
|
blockNumber?: bigint;
|
|
@@ -102,7 +104,6 @@ export declare class RollupContract {
|
|
|
102
104
|
getSequencerRewards(address: Hex | EthAddress): Promise<bigint>;
|
|
103
105
|
getSpecificProverRewardsForEpoch(epoch: bigint, prover: Hex | EthAddress): Promise<bigint>;
|
|
104
106
|
getAttesters(): Promise<readonly `0x${string}`[]>;
|
|
105
|
-
getEpochCommittee(epoch: bigint): Promise<readonly `0x${string}`[]>;
|
|
106
107
|
getInfo(address: Hex | EthAddress): Promise<{
|
|
107
108
|
stake: bigint;
|
|
108
109
|
withdrawer: `0x${string}`;
|
|
@@ -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;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAI1D,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,qBAAqB,EAAE,KAAK,GAAG,EAA2B,MAAM,MAAM,CAAC;AAGnG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,mBAAmB,EACjB,eAAe,GACf,cAAc,GACd,eAAe,GACf,uBAAuB,GACvB,iBAAiB,GACjB,qBAAqB,GACrB,0BAA0B,GAC1B,qBAAqB,CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,eAAe,EAAE,KAAK,MAAM,EAAE,CAAC;IAC/B,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,iBAAiB,EAAE,KAAK,MAAM,EAAE,CAAC;IACjC,YAAY,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;IACvB,QAAQ,EAAE,KAAK,MAAM,EAAE,CAAC;CACzB,CAAC;AAEF,qBAAa,cAAc;aAyBG,MAAM,EAAE,gBAAgB;IAxBpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4D;IAEnF,MAAM,KAAK,oBAAoB,IAAI,MAAM,CAMxC;IAED,MAAM,CAAC,wBAAwB,CAAC,uBAAuB,EAAE,2BAA2B;IAQpF,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,cAAc;gBAMf,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,GAAG,GAAG,UAAU;IAO/E,IAAW,OAAO,kBAEjB;IAED,WAAW,IAAI,qBAAqB,CAAC,OAAO,SAAS,EAAE,gBAAgB,CAAC;IAK3D,mBAAmB;IAQhC,eAAe;IAKf,gBAAgB;IAKhB,wBAAwB;IAKxB,gBAAgB;IAKhB,eAAe;IAKf,sBAAsB;IAKtB,eAAe;IAKf,aAAa;IAKb,qBAAqB;IAKrB,+BAA+B;IAK/B,YAAY;
|
|
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
|
@@ -92,6 +92,9 @@ export class RollupContract {
|
|
|
92
92
|
getManaLimit() {
|
|
93
93
|
return this.rollup.read.getManaLimit();
|
|
94
94
|
}
|
|
95
|
+
getVersion() {
|
|
96
|
+
return this.rollup.read.getVersion();
|
|
97
|
+
}
|
|
95
98
|
getSlasher() {
|
|
96
99
|
return this.rollup.read.getSlasher();
|
|
97
100
|
}
|
|
@@ -161,6 +164,17 @@ export class RollupContract {
|
|
|
161
164
|
});
|
|
162
165
|
return result;
|
|
163
166
|
}
|
|
167
|
+
async getEpochCommittee(epoch) {
|
|
168
|
+
const { result } = await this.client.simulateContract({
|
|
169
|
+
address: this.address,
|
|
170
|
+
abi: RollupAbi,
|
|
171
|
+
functionName: 'getEpochCommittee',
|
|
172
|
+
args: [
|
|
173
|
+
epoch
|
|
174
|
+
]
|
|
175
|
+
});
|
|
176
|
+
return result;
|
|
177
|
+
}
|
|
164
178
|
getBlock(blockNumber) {
|
|
165
179
|
return this.rollup.read.getBlock([
|
|
166
180
|
blockNumber
|
|
@@ -199,6 +213,9 @@ export class RollupContract {
|
|
|
199
213
|
rewardDistributorAddress
|
|
200
214
|
};
|
|
201
215
|
}
|
|
216
|
+
async getFeeJuicePortal() {
|
|
217
|
+
return EthAddress.fromString(await this.rollup.read.getFeeAssetPortal());
|
|
218
|
+
}
|
|
202
219
|
async getEpochNumberForSlotNumber(slotNumber) {
|
|
203
220
|
return await this.rollup.read.getEpochAtSlot([
|
|
204
221
|
slotNumber
|
|
@@ -268,9 +285,6 @@ export class RollupContract {
|
|
|
268
285
|
inFeeAsset
|
|
269
286
|
]);
|
|
270
287
|
}
|
|
271
|
-
getVersion() {
|
|
272
|
-
return this.rollup.read.getVersion();
|
|
273
|
-
}
|
|
274
288
|
getSlotAt(timestamp) {
|
|
275
289
|
return this.rollup.read.getSlotAt([
|
|
276
290
|
timestamp
|
|
@@ -314,11 +328,6 @@ export class RollupContract {
|
|
|
314
328
|
getAttesters() {
|
|
315
329
|
return this.rollup.read.getAttesters();
|
|
316
330
|
}
|
|
317
|
-
getEpochCommittee(epoch) {
|
|
318
|
-
return this.rollup.read.getEpochCommittee([
|
|
319
|
-
epoch
|
|
320
|
-
]);
|
|
321
|
-
}
|
|
322
331
|
getInfo(address) {
|
|
323
332
|
if (address instanceof EthAddress) {
|
|
324
333
|
address = address.toString();
|
|
@@ -380,3 +389,6 @@ _ts_decorate([
|
|
|
380
389
|
_ts_decorate([
|
|
381
390
|
memoize
|
|
382
391
|
], RollupContract.prototype, "getManaLimit", null);
|
|
392
|
+
_ts_decorate([
|
|
393
|
+
memoize
|
|
394
|
+
], RollupContract.prototype, "getVersion", null);
|