@aztec/ethereum 3.0.0-nightly.20251211 → 3.0.0-nightly.20251213
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 +3 -42
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +3 -327
- package/dest/contracts/inbox.d.ts +3 -3
- package/dest/contracts/inbox.d.ts.map +1 -1
- package/dest/contracts/rollup.d.ts +3 -3
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/deploy_aztec_l1_contracts.d.ts +245 -0
- package/dest/deploy_aztec_l1_contracts.d.ts.map +1 -0
- package/dest/deploy_aztec_l1_contracts.js +329 -0
- package/dest/deploy_l1_contract.d.ts +68 -0
- package/dest/deploy_l1_contract.d.ts.map +1 -0
- package/dest/deploy_l1_contract.js +312 -0
- package/dest/forwarder_proxy.js +1 -1
- package/dest/l1_artifacts.d.ts +37 -37
- package/dest/test/rollup_cheat_codes.js +4 -1
- package/dest/test/start_anvil.d.ts +3 -1
- package/dest/test/start_anvil.d.ts.map +1 -1
- package/package.json +10 -6
- package/src/config.ts +2 -406
- package/src/contracts/inbox.ts +2 -2
- package/src/contracts/rollup.ts +2 -2
- package/src/deploy_aztec_l1_contracts.ts +545 -0
- package/src/deploy_l1_contract.ts +362 -0
- package/src/forwarder_proxy.ts +1 -1
- package/src/test/rollup_cheat_codes.ts +1 -1
- package/src/test/start_anvil.ts +2 -0
- package/dest/deploy_l1_contracts.d.ts +0 -673
- package/dest/deploy_l1_contracts.d.ts.map +0 -1
- package/dest/deploy_l1_contracts.js +0 -1491
- package/src/deploy_l1_contracts.ts +0 -1869
|
@@ -1,673 +0,0 @@
|
|
|
1
|
-
import { SecretValue } from '@aztec/foundation/config';
|
|
2
|
-
import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
3
|
-
import { EthAddress } from '@aztec/foundation/eth-address';
|
|
4
|
-
import { type Logger } from '@aztec/foundation/log';
|
|
5
|
-
import { DateProvider } from '@aztec/foundation/timer';
|
|
6
|
-
import type { Abi, Narrow } from 'abitype';
|
|
7
|
-
import { type Chain, type ContractConstructorArgs, type Hex } from 'viem';
|
|
8
|
-
import { type L1ContractsConfig } from './config.js';
|
|
9
|
-
import { RollupContract } from './contracts/rollup.js';
|
|
10
|
-
import type { L1ContractAddresses } from './l1_contract_addresses.js';
|
|
11
|
-
import { type GasPrice, type L1TxConfig, type L1TxRequest, L1TxUtils, type L1TxUtilsConfig } from './l1_tx_utils/index.js';
|
|
12
|
-
import type { ExtendedViemWalletClient } from './types.js';
|
|
13
|
-
export declare const DEPLOYER_ADDRESS: Hex;
|
|
14
|
-
export type Operator = {
|
|
15
|
-
attester: EthAddress;
|
|
16
|
-
withdrawer: EthAddress;
|
|
17
|
-
bn254SecretKey: SecretValue<bigint>;
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* Return type of the deployL1Contract function.
|
|
21
|
-
*/
|
|
22
|
-
export type DeployL1ContractsReturnType = {
|
|
23
|
-
/** Extended Wallet Client Type. */
|
|
24
|
-
l1Client: ExtendedViemWalletClient;
|
|
25
|
-
/** The currently deployed l1 contract addresses */
|
|
26
|
-
l1ContractAddresses: L1ContractAddresses;
|
|
27
|
-
/** Version of the current rollup contract. */
|
|
28
|
-
rollupVersion: number;
|
|
29
|
-
};
|
|
30
|
-
export interface LinkReferences {
|
|
31
|
-
[fileName: string]: {
|
|
32
|
-
[contractName: string]: ReadonlyArray<{
|
|
33
|
-
start: number;
|
|
34
|
-
length: number;
|
|
35
|
-
}>;
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
export interface Libraries {
|
|
39
|
-
linkReferences: LinkReferences;
|
|
40
|
-
libraryCode: Record<string, ContractArtifacts>;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Contract artifacts
|
|
44
|
-
*/
|
|
45
|
-
export interface ContractArtifacts<TAbi extends Abi | readonly unknown[] = Abi> {
|
|
46
|
-
/**
|
|
47
|
-
* The contract name.
|
|
48
|
-
*/
|
|
49
|
-
name: string;
|
|
50
|
-
/**
|
|
51
|
-
* The contract abi.
|
|
52
|
-
*/
|
|
53
|
-
contractAbi: Narrow<TAbi>;
|
|
54
|
-
/**
|
|
55
|
-
* The contract bytecode
|
|
56
|
-
*/
|
|
57
|
-
contractBytecode: Hex;
|
|
58
|
-
/**
|
|
59
|
-
* The contract libraries
|
|
60
|
-
*/
|
|
61
|
-
libraries?: Libraries;
|
|
62
|
-
}
|
|
63
|
-
export type VerificationLibraryEntry = {
|
|
64
|
-
file: string;
|
|
65
|
-
contract: string;
|
|
66
|
-
address: string;
|
|
67
|
-
};
|
|
68
|
-
export type VerificationRecord = {
|
|
69
|
-
name: string;
|
|
70
|
-
address: string;
|
|
71
|
-
constructorArgsHex: Hex;
|
|
72
|
-
libraries: VerificationLibraryEntry[];
|
|
73
|
-
};
|
|
74
|
-
export interface DeployL1ContractsArgs extends Omit<L1ContractsConfig, keyof L1TxUtilsConfig> {
|
|
75
|
-
/** The vk tree root. */
|
|
76
|
-
vkTreeRoot: Fr;
|
|
77
|
-
/** The hash of the protocol contracts. */
|
|
78
|
-
protocolContractsHash: Fr;
|
|
79
|
-
/** The genesis root of the archive tree. */
|
|
80
|
-
genesisArchiveRoot: Fr;
|
|
81
|
-
/** The salt for CREATE2 deployment. */
|
|
82
|
-
salt: number | undefined;
|
|
83
|
-
/** The initial validators for the rollup contract. */
|
|
84
|
-
initialValidators?: Operator[];
|
|
85
|
-
/** Configuration for the L1 tx utils module. */
|
|
86
|
-
l1TxConfig?: Partial<L1TxUtilsConfig>;
|
|
87
|
-
/** Enable fast mode for deployments (fire and forget transactions) */
|
|
88
|
-
acceleratedTestDeployments?: boolean;
|
|
89
|
-
/** The initial balance of the fee juice portal. This is the amount of fee juice that is prefunded to accounts */
|
|
90
|
-
feeJuicePortalInitialBalance?: bigint;
|
|
91
|
-
/** Whether to deploy the real verifier or the mock verifier */
|
|
92
|
-
realVerifier: boolean;
|
|
93
|
-
/** The zk passport args */
|
|
94
|
-
zkPassportArgs?: ZKPassportArgs;
|
|
95
|
-
/** If provided, use this token for BOTH fee and staking assets (skip deployments) */
|
|
96
|
-
existingTokenAddress?: EthAddress;
|
|
97
|
-
}
|
|
98
|
-
export interface ZKPassportArgs {
|
|
99
|
-
/** Whether to use the mock zk passport verifier */
|
|
100
|
-
mockZkPassportVerifier?: boolean;
|
|
101
|
-
/** The domain of the zk passport (url) */
|
|
102
|
-
zkPassportDomain?: string;
|
|
103
|
-
/** The scope of the zk passport (personhood, etc) */
|
|
104
|
-
zkPassportScope?: string;
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Validates that the provided address points to a contract that resembles an ERC20 token.
|
|
108
|
-
* Checks for contract code and attempts common ERC20 view calls.
|
|
109
|
-
* Throws an error if validation fails.
|
|
110
|
-
*/
|
|
111
|
-
export declare function validateExistingErc20TokenAddress(l1Client: ExtendedViemWalletClient, tokenAddress: EthAddress, logger: Logger): Promise<void>;
|
|
112
|
-
export declare const deploySharedContracts: (l1Client: ExtendedViemWalletClient, deployer: L1Deployer, args: DeployL1ContractsArgs, logger: Logger) => Promise<{
|
|
113
|
-
feeAssetAddress: EthAddress;
|
|
114
|
-
feeAssetHandlerAddress: EthAddress | undefined;
|
|
115
|
-
stakingAssetAddress: EthAddress;
|
|
116
|
-
stakingAssetHandlerAddress: EthAddress | undefined;
|
|
117
|
-
zkPassportVerifierAddress: EthAddress | undefined;
|
|
118
|
-
registryAddress: EthAddress;
|
|
119
|
-
gseAddress: EthAddress;
|
|
120
|
-
governanceAddress: EthAddress;
|
|
121
|
-
governanceProposerAddress: EthAddress;
|
|
122
|
-
coinIssuerAddress: EthAddress;
|
|
123
|
-
rewardDistributorAddress: EthAddress;
|
|
124
|
-
}>;
|
|
125
|
-
/**
|
|
126
|
-
* Deploys a new rollup, using the existing canonical version to derive certain values (addresses of assets etc).
|
|
127
|
-
* @param clients - The L1 clients.
|
|
128
|
-
* @param args - The deployment arguments.
|
|
129
|
-
* @param registryAddress - The address of the registry.
|
|
130
|
-
* @param logger - The logger.
|
|
131
|
-
* @param txUtilsConfig - The L1 tx utils config.
|
|
132
|
-
* @param createVerificationJson - Optional path to write verification data for forge verify.
|
|
133
|
-
*/
|
|
134
|
-
export declare const deployRollupForUpgrade: (extendedClient: ExtendedViemWalletClient, args: Omit<DeployL1ContractsArgs, "activationThreshold" | "ejectionThreshold" | "governanceProposerQuorum" | "governanceProposerRoundSize">, registryAddress: EthAddress, logger: Logger, txUtilsConfig: L1TxUtilsConfig, createVerificationJson?: string | false) => Promise<{
|
|
135
|
-
rollup: RollupContract;
|
|
136
|
-
slashFactoryAddress: EthAddress;
|
|
137
|
-
}>;
|
|
138
|
-
export declare const deploySlashFactory: (deployer: L1Deployer, rollupAddress: `0x${string}`, logger: Logger) => Promise<EthAddress>;
|
|
139
|
-
export declare const deployUpgradePayload: (deployer: L1Deployer, addresses: Pick<L1ContractAddresses, "registryAddress" | "rollupAddress">) => Promise<EthAddress>;
|
|
140
|
-
/**
|
|
141
|
-
* Deploys a new rollup contract, funds and initializes the fee juice portal, and initializes the validator set.
|
|
142
|
-
*/
|
|
143
|
-
export declare const deployRollup: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, args: Omit<DeployL1ContractsArgs, "activationThreshold" | "ejectionThreshold" | "governanceProposerQuorum" | "governanceProposerRoundSize">, addresses: Pick<L1ContractAddresses, "feeJuiceAddress" | "governanceAddress" | "gseAddress" | "registryAddress" | "rewardDistributorAddress" | "stakingAssetAddress">, logger: Logger) => Promise<{
|
|
144
|
-
rollup: RollupContract;
|
|
145
|
-
slashFactoryAddress: EthAddress;
|
|
146
|
-
}>;
|
|
147
|
-
export declare const handoverToGovernance: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, registryAddress: EthAddress, gseAddress: EthAddress, coinIssuerAddress: EthAddress, feeAssetAddress: EthAddress, governanceAddress: EthAddress, logger: Logger, acceleratedTestDeployments: boolean | undefined, useExternalToken?: boolean) => Promise<{
|
|
148
|
-
dateGatedRelayerAddress: EthAddress;
|
|
149
|
-
}>;
|
|
150
|
-
export declare const addMultipleValidators: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, gseAddress: `0x${string}`, rollupAddress: `0x${string}`, stakingAssetAddress: `0x${string}`, validators: Operator[], acceleratedTestDeployments: boolean | undefined, logger: Logger) => Promise<void>;
|
|
151
|
-
/**
|
|
152
|
-
* Initialize the fee asset handler and make it a minter on the fee asset.
|
|
153
|
-
* @note This function will only be used for testing purposes.
|
|
154
|
-
*
|
|
155
|
-
* @param extendedClient - The L1 clients.
|
|
156
|
-
* @param deployer - The L1 deployer.
|
|
157
|
-
* @param feeAssetAddress - The address of the fee asset.
|
|
158
|
-
* @param logger - The logger.
|
|
159
|
-
*/
|
|
160
|
-
export declare const cheat_initializeFeeAssetHandler: (extendedClient: ExtendedViemWalletClient, deployer: L1Deployer, feeAssetAddress: EthAddress, logger: Logger) => Promise<{
|
|
161
|
-
feeAssetHandlerAddress: EthAddress;
|
|
162
|
-
txHash: `0x${string}`;
|
|
163
|
-
}>;
|
|
164
|
-
/**
|
|
165
|
-
* Deploys the aztec L1 contracts; Rollup & (optionally) Decoder Helper.
|
|
166
|
-
* @param rpcUrls - List of URLs of the ETH RPC to use for deployment.
|
|
167
|
-
* @param account - Private Key or HD Account that will deploy the contracts.
|
|
168
|
-
* @param chain - The chain instance to deploy to.
|
|
169
|
-
* @param logger - A logger object.
|
|
170
|
-
* @param args - Arguments for initialization of L1 contracts
|
|
171
|
-
* @returns A list of ETH addresses of the deployed contracts.
|
|
172
|
-
*/
|
|
173
|
-
export declare const deployL1Contracts: (rpcUrls: string[], account: {
|
|
174
|
-
address: `0x${string}`;
|
|
175
|
-
nonceManager?: import("viem").NonceManager | undefined;
|
|
176
|
-
sign: (parameters: {
|
|
177
|
-
hash: `0x${string}`;
|
|
178
|
-
}) => Promise<`0x${string}`>;
|
|
179
|
-
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
180
|
-
signMessage: ({ message }: {
|
|
181
|
-
message: import("viem").SignableMessage;
|
|
182
|
-
}) => Promise<`0x${string}`>;
|
|
183
|
-
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
184
|
-
serializer?: serializer | undefined;
|
|
185
|
-
} | undefined) => Promise<`0x${string}`>;
|
|
186
|
-
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
187
|
-
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
188
|
-
[x: `address[${string}]`]: undefined;
|
|
189
|
-
[x: `bool[${string}]`]: undefined;
|
|
190
|
-
[x: `bytes10[${string}]`]: undefined;
|
|
191
|
-
[x: `bytes11[${string}]`]: undefined;
|
|
192
|
-
[x: `bytes12[${string}]`]: undefined;
|
|
193
|
-
[x: `bytes13[${string}]`]: undefined;
|
|
194
|
-
[x: `bytes14[${string}]`]: undefined;
|
|
195
|
-
[x: `bytes15[${string}]`]: undefined;
|
|
196
|
-
[x: `bytes16[${string}]`]: undefined;
|
|
197
|
-
[x: `bytes17[${string}]`]: undefined;
|
|
198
|
-
[x: `bytes18[${string}]`]: undefined;
|
|
199
|
-
[x: `bytes19[${string}]`]: undefined;
|
|
200
|
-
[x: `bytes1[${string}]`]: undefined;
|
|
201
|
-
[x: `bytes20[${string}]`]: undefined;
|
|
202
|
-
[x: `bytes21[${string}]`]: undefined;
|
|
203
|
-
[x: `bytes22[${string}]`]: undefined;
|
|
204
|
-
[x: `bytes23[${string}]`]: undefined;
|
|
205
|
-
[x: `bytes24[${string}]`]: undefined;
|
|
206
|
-
[x: `bytes25[${string}]`]: undefined;
|
|
207
|
-
[x: `bytes26[${string}]`]: undefined;
|
|
208
|
-
[x: `bytes27[${string}]`]: undefined;
|
|
209
|
-
[x: `bytes28[${string}]`]: undefined;
|
|
210
|
-
[x: `bytes29[${string}]`]: undefined;
|
|
211
|
-
[x: `bytes2[${string}]`]: undefined;
|
|
212
|
-
[x: `bytes30[${string}]`]: undefined;
|
|
213
|
-
[x: `bytes31[${string}]`]: undefined;
|
|
214
|
-
[x: `bytes32[${string}]`]: undefined;
|
|
215
|
-
[x: `bytes3[${string}]`]: undefined;
|
|
216
|
-
[x: `bytes4[${string}]`]: undefined;
|
|
217
|
-
[x: `bytes5[${string}]`]: undefined;
|
|
218
|
-
[x: `bytes6[${string}]`]: undefined;
|
|
219
|
-
[x: `bytes7[${string}]`]: undefined;
|
|
220
|
-
[x: `bytes8[${string}]`]: undefined;
|
|
221
|
-
[x: `bytes9[${string}]`]: undefined;
|
|
222
|
-
[x: `bytes[${string}]`]: undefined;
|
|
223
|
-
[x: `function[${string}]`]: undefined;
|
|
224
|
-
[x: `int104[${string}]`]: undefined;
|
|
225
|
-
[x: `int112[${string}]`]: undefined;
|
|
226
|
-
[x: `int120[${string}]`]: undefined;
|
|
227
|
-
[x: `int128[${string}]`]: undefined;
|
|
228
|
-
[x: `int136[${string}]`]: undefined;
|
|
229
|
-
[x: `int144[${string}]`]: undefined;
|
|
230
|
-
[x: `int152[${string}]`]: undefined;
|
|
231
|
-
[x: `int160[${string}]`]: undefined;
|
|
232
|
-
[x: `int168[${string}]`]: undefined;
|
|
233
|
-
[x: `int16[${string}]`]: undefined;
|
|
234
|
-
[x: `int176[${string}]`]: undefined;
|
|
235
|
-
[x: `int184[${string}]`]: undefined;
|
|
236
|
-
[x: `int192[${string}]`]: undefined;
|
|
237
|
-
[x: `int200[${string}]`]: undefined;
|
|
238
|
-
[x: `int208[${string}]`]: undefined;
|
|
239
|
-
[x: `int216[${string}]`]: undefined;
|
|
240
|
-
[x: `int224[${string}]`]: undefined;
|
|
241
|
-
[x: `int232[${string}]`]: undefined;
|
|
242
|
-
[x: `int240[${string}]`]: undefined;
|
|
243
|
-
[x: `int248[${string}]`]: undefined;
|
|
244
|
-
[x: `int24[${string}]`]: undefined;
|
|
245
|
-
[x: `int256[${string}]`]: undefined;
|
|
246
|
-
[x: `int32[${string}]`]: undefined;
|
|
247
|
-
[x: `int40[${string}]`]: undefined;
|
|
248
|
-
[x: `int48[${string}]`]: undefined;
|
|
249
|
-
[x: `int56[${string}]`]: undefined;
|
|
250
|
-
[x: `int64[${string}]`]: undefined;
|
|
251
|
-
[x: `int72[${string}]`]: undefined;
|
|
252
|
-
[x: `int80[${string}]`]: undefined;
|
|
253
|
-
[x: `int88[${string}]`]: undefined;
|
|
254
|
-
[x: `int8[${string}]`]: undefined;
|
|
255
|
-
[x: `int96[${string}]`]: undefined;
|
|
256
|
-
[x: `int[${string}]`]: undefined;
|
|
257
|
-
[x: `string[${string}]`]: undefined;
|
|
258
|
-
[x: `uint104[${string}]`]: undefined;
|
|
259
|
-
[x: `uint112[${string}]`]: undefined;
|
|
260
|
-
[x: `uint120[${string}]`]: undefined;
|
|
261
|
-
[x: `uint128[${string}]`]: undefined;
|
|
262
|
-
[x: `uint136[${string}]`]: undefined;
|
|
263
|
-
[x: `uint144[${string}]`]: undefined;
|
|
264
|
-
[x: `uint152[${string}]`]: undefined;
|
|
265
|
-
[x: `uint160[${string}]`]: undefined;
|
|
266
|
-
[x: `uint168[${string}]`]: undefined;
|
|
267
|
-
[x: `uint16[${string}]`]: undefined;
|
|
268
|
-
[x: `uint176[${string}]`]: undefined;
|
|
269
|
-
[x: `uint184[${string}]`]: undefined;
|
|
270
|
-
[x: `uint192[${string}]`]: undefined;
|
|
271
|
-
[x: `uint200[${string}]`]: undefined;
|
|
272
|
-
[x: `uint208[${string}]`]: undefined;
|
|
273
|
-
[x: `uint216[${string}]`]: undefined;
|
|
274
|
-
[x: `uint224[${string}]`]: undefined;
|
|
275
|
-
[x: `uint232[${string}]`]: undefined;
|
|
276
|
-
[x: `uint240[${string}]`]: undefined;
|
|
277
|
-
[x: `uint248[${string}]`]: undefined;
|
|
278
|
-
[x: `uint24[${string}]`]: undefined;
|
|
279
|
-
[x: `uint256[${string}]`]: undefined;
|
|
280
|
-
[x: `uint32[${string}]`]: undefined;
|
|
281
|
-
[x: `uint40[${string}]`]: undefined;
|
|
282
|
-
[x: `uint48[${string}]`]: undefined;
|
|
283
|
-
[x: `uint56[${string}]`]: undefined;
|
|
284
|
-
[x: `uint64[${string}]`]: undefined;
|
|
285
|
-
[x: `uint72[${string}]`]: undefined;
|
|
286
|
-
[x: `uint80[${string}]`]: undefined;
|
|
287
|
-
[x: `uint88[${string}]`]: undefined;
|
|
288
|
-
[x: `uint8[${string}]`]: undefined;
|
|
289
|
-
[x: `uint96[${string}]`]: undefined;
|
|
290
|
-
[x: `uint[${string}]`]: undefined;
|
|
291
|
-
address?: undefined;
|
|
292
|
-
bool?: undefined;
|
|
293
|
-
bytes?: undefined;
|
|
294
|
-
bytes1?: undefined;
|
|
295
|
-
bytes10?: undefined;
|
|
296
|
-
bytes11?: undefined;
|
|
297
|
-
bytes12?: undefined;
|
|
298
|
-
bytes13?: undefined;
|
|
299
|
-
bytes14?: undefined;
|
|
300
|
-
bytes15?: undefined;
|
|
301
|
-
bytes16?: undefined;
|
|
302
|
-
bytes17?: undefined;
|
|
303
|
-
bytes18?: undefined;
|
|
304
|
-
bytes19?: undefined;
|
|
305
|
-
bytes2?: undefined;
|
|
306
|
-
bytes20?: undefined;
|
|
307
|
-
bytes21?: undefined;
|
|
308
|
-
bytes22?: undefined;
|
|
309
|
-
bytes23?: undefined;
|
|
310
|
-
bytes24?: undefined;
|
|
311
|
-
bytes25?: undefined;
|
|
312
|
-
bytes26?: undefined;
|
|
313
|
-
bytes27?: undefined;
|
|
314
|
-
bytes28?: undefined;
|
|
315
|
-
bytes29?: undefined;
|
|
316
|
-
bytes3?: undefined;
|
|
317
|
-
bytes30?: undefined;
|
|
318
|
-
bytes31?: undefined;
|
|
319
|
-
bytes32?: undefined;
|
|
320
|
-
bytes4?: undefined;
|
|
321
|
-
bytes5?: undefined;
|
|
322
|
-
bytes6?: undefined;
|
|
323
|
-
bytes7?: undefined;
|
|
324
|
-
bytes8?: undefined;
|
|
325
|
-
bytes9?: undefined;
|
|
326
|
-
int104?: undefined;
|
|
327
|
-
int112?: undefined;
|
|
328
|
-
int120?: undefined;
|
|
329
|
-
int128?: undefined;
|
|
330
|
-
int136?: undefined;
|
|
331
|
-
int144?: undefined;
|
|
332
|
-
int152?: undefined;
|
|
333
|
-
int16?: undefined;
|
|
334
|
-
int160?: undefined;
|
|
335
|
-
int168?: undefined;
|
|
336
|
-
int176?: undefined;
|
|
337
|
-
int184?: undefined;
|
|
338
|
-
int192?: undefined;
|
|
339
|
-
int200?: undefined;
|
|
340
|
-
int208?: undefined;
|
|
341
|
-
int216?: undefined;
|
|
342
|
-
int224?: undefined;
|
|
343
|
-
int232?: undefined;
|
|
344
|
-
int24?: undefined;
|
|
345
|
-
int240?: undefined;
|
|
346
|
-
int248?: undefined;
|
|
347
|
-
int256?: undefined;
|
|
348
|
-
int32?: undefined;
|
|
349
|
-
int40?: undefined;
|
|
350
|
-
int48?: undefined;
|
|
351
|
-
int56?: undefined;
|
|
352
|
-
int64?: undefined;
|
|
353
|
-
int72?: undefined;
|
|
354
|
-
int8?: undefined;
|
|
355
|
-
int80?: undefined;
|
|
356
|
-
int88?: undefined;
|
|
357
|
-
int96?: undefined;
|
|
358
|
-
string?: undefined;
|
|
359
|
-
uint104?: undefined;
|
|
360
|
-
uint112?: undefined;
|
|
361
|
-
uint120?: undefined;
|
|
362
|
-
uint128?: undefined;
|
|
363
|
-
uint136?: undefined;
|
|
364
|
-
uint144?: undefined;
|
|
365
|
-
uint152?: undefined;
|
|
366
|
-
uint16?: undefined;
|
|
367
|
-
uint160?: undefined;
|
|
368
|
-
uint168?: undefined;
|
|
369
|
-
uint176?: undefined;
|
|
370
|
-
uint184?: undefined;
|
|
371
|
-
uint192?: undefined;
|
|
372
|
-
uint200?: undefined;
|
|
373
|
-
uint208?: undefined;
|
|
374
|
-
uint216?: undefined;
|
|
375
|
-
uint224?: undefined;
|
|
376
|
-
uint232?: undefined;
|
|
377
|
-
uint24?: undefined;
|
|
378
|
-
uint240?: undefined;
|
|
379
|
-
uint248?: undefined;
|
|
380
|
-
uint256?: undefined;
|
|
381
|
-
uint32?: undefined;
|
|
382
|
-
uint40?: undefined;
|
|
383
|
-
uint48?: undefined;
|
|
384
|
-
uint56?: undefined;
|
|
385
|
-
uint64?: undefined;
|
|
386
|
-
uint72?: undefined;
|
|
387
|
-
uint8?: undefined;
|
|
388
|
-
uint80?: undefined;
|
|
389
|
-
uint88?: undefined;
|
|
390
|
-
uint96?: undefined;
|
|
391
|
-
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
392
|
-
publicKey: `0x${string}`;
|
|
393
|
-
source: "privateKey";
|
|
394
|
-
type: "local";
|
|
395
|
-
} | {
|
|
396
|
-
address: `0x${string}`;
|
|
397
|
-
nonceManager?: import("viem").NonceManager | undefined;
|
|
398
|
-
sign: (parameters: {
|
|
399
|
-
hash: `0x${string}`;
|
|
400
|
-
}) => Promise<`0x${string}`>;
|
|
401
|
-
signAuthorization?: ((parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>) | undefined;
|
|
402
|
-
signMessage: ({ message }: {
|
|
403
|
-
message: import("viem").SignableMessage;
|
|
404
|
-
}) => Promise<`0x${string}`>;
|
|
405
|
-
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
406
|
-
serializer?: serializer | undefined;
|
|
407
|
-
} | undefined) => Promise<`0x${string}`>;
|
|
408
|
-
signTypedData: <const typedData extends Record<string, unknown> | {
|
|
409
|
-
[x: string]: readonly import("viem").TypedDataParameter[];
|
|
410
|
-
[x: `address[${string}]`]: undefined;
|
|
411
|
-
[x: `bool[${string}]`]: undefined;
|
|
412
|
-
[x: `bytes10[${string}]`]: undefined;
|
|
413
|
-
[x: `bytes11[${string}]`]: undefined;
|
|
414
|
-
[x: `bytes12[${string}]`]: undefined;
|
|
415
|
-
[x: `bytes13[${string}]`]: undefined;
|
|
416
|
-
[x: `bytes14[${string}]`]: undefined;
|
|
417
|
-
[x: `bytes15[${string}]`]: undefined;
|
|
418
|
-
[x: `bytes16[${string}]`]: undefined;
|
|
419
|
-
[x: `bytes17[${string}]`]: undefined;
|
|
420
|
-
[x: `bytes18[${string}]`]: undefined;
|
|
421
|
-
[x: `bytes19[${string}]`]: undefined;
|
|
422
|
-
[x: `bytes1[${string}]`]: undefined;
|
|
423
|
-
[x: `bytes20[${string}]`]: undefined;
|
|
424
|
-
[x: `bytes21[${string}]`]: undefined;
|
|
425
|
-
[x: `bytes22[${string}]`]: undefined;
|
|
426
|
-
[x: `bytes23[${string}]`]: undefined;
|
|
427
|
-
[x: `bytes24[${string}]`]: undefined;
|
|
428
|
-
[x: `bytes25[${string}]`]: undefined;
|
|
429
|
-
[x: `bytes26[${string}]`]: undefined;
|
|
430
|
-
[x: `bytes27[${string}]`]: undefined;
|
|
431
|
-
[x: `bytes28[${string}]`]: undefined;
|
|
432
|
-
[x: `bytes29[${string}]`]: undefined;
|
|
433
|
-
[x: `bytes2[${string}]`]: undefined;
|
|
434
|
-
[x: `bytes30[${string}]`]: undefined;
|
|
435
|
-
[x: `bytes31[${string}]`]: undefined;
|
|
436
|
-
[x: `bytes32[${string}]`]: undefined;
|
|
437
|
-
[x: `bytes3[${string}]`]: undefined;
|
|
438
|
-
[x: `bytes4[${string}]`]: undefined;
|
|
439
|
-
[x: `bytes5[${string}]`]: undefined;
|
|
440
|
-
[x: `bytes6[${string}]`]: undefined;
|
|
441
|
-
[x: `bytes7[${string}]`]: undefined;
|
|
442
|
-
[x: `bytes8[${string}]`]: undefined;
|
|
443
|
-
[x: `bytes9[${string}]`]: undefined;
|
|
444
|
-
[x: `bytes[${string}]`]: undefined;
|
|
445
|
-
[x: `function[${string}]`]: undefined;
|
|
446
|
-
[x: `int104[${string}]`]: undefined;
|
|
447
|
-
[x: `int112[${string}]`]: undefined;
|
|
448
|
-
[x: `int120[${string}]`]: undefined;
|
|
449
|
-
[x: `int128[${string}]`]: undefined;
|
|
450
|
-
[x: `int136[${string}]`]: undefined;
|
|
451
|
-
[x: `int144[${string}]`]: undefined;
|
|
452
|
-
[x: `int152[${string}]`]: undefined;
|
|
453
|
-
[x: `int160[${string}]`]: undefined;
|
|
454
|
-
[x: `int168[${string}]`]: undefined;
|
|
455
|
-
[x: `int16[${string}]`]: undefined;
|
|
456
|
-
[x: `int176[${string}]`]: undefined;
|
|
457
|
-
[x: `int184[${string}]`]: undefined;
|
|
458
|
-
[x: `int192[${string}]`]: undefined;
|
|
459
|
-
[x: `int200[${string}]`]: undefined;
|
|
460
|
-
[x: `int208[${string}]`]: undefined;
|
|
461
|
-
[x: `int216[${string}]`]: undefined;
|
|
462
|
-
[x: `int224[${string}]`]: undefined;
|
|
463
|
-
[x: `int232[${string}]`]: undefined;
|
|
464
|
-
[x: `int240[${string}]`]: undefined;
|
|
465
|
-
[x: `int248[${string}]`]: undefined;
|
|
466
|
-
[x: `int24[${string}]`]: undefined;
|
|
467
|
-
[x: `int256[${string}]`]: undefined;
|
|
468
|
-
[x: `int32[${string}]`]: undefined;
|
|
469
|
-
[x: `int40[${string}]`]: undefined;
|
|
470
|
-
[x: `int48[${string}]`]: undefined;
|
|
471
|
-
[x: `int56[${string}]`]: undefined;
|
|
472
|
-
[x: `int64[${string}]`]: undefined;
|
|
473
|
-
[x: `int72[${string}]`]: undefined;
|
|
474
|
-
[x: `int80[${string}]`]: undefined;
|
|
475
|
-
[x: `int88[${string}]`]: undefined;
|
|
476
|
-
[x: `int8[${string}]`]: undefined;
|
|
477
|
-
[x: `int96[${string}]`]: undefined;
|
|
478
|
-
[x: `int[${string}]`]: undefined;
|
|
479
|
-
[x: `string[${string}]`]: undefined;
|
|
480
|
-
[x: `uint104[${string}]`]: undefined;
|
|
481
|
-
[x: `uint112[${string}]`]: undefined;
|
|
482
|
-
[x: `uint120[${string}]`]: undefined;
|
|
483
|
-
[x: `uint128[${string}]`]: undefined;
|
|
484
|
-
[x: `uint136[${string}]`]: undefined;
|
|
485
|
-
[x: `uint144[${string}]`]: undefined;
|
|
486
|
-
[x: `uint152[${string}]`]: undefined;
|
|
487
|
-
[x: `uint160[${string}]`]: undefined;
|
|
488
|
-
[x: `uint168[${string}]`]: undefined;
|
|
489
|
-
[x: `uint16[${string}]`]: undefined;
|
|
490
|
-
[x: `uint176[${string}]`]: undefined;
|
|
491
|
-
[x: `uint184[${string}]`]: undefined;
|
|
492
|
-
[x: `uint192[${string}]`]: undefined;
|
|
493
|
-
[x: `uint200[${string}]`]: undefined;
|
|
494
|
-
[x: `uint208[${string}]`]: undefined;
|
|
495
|
-
[x: `uint216[${string}]`]: undefined;
|
|
496
|
-
[x: `uint224[${string}]`]: undefined;
|
|
497
|
-
[x: `uint232[${string}]`]: undefined;
|
|
498
|
-
[x: `uint240[${string}]`]: undefined;
|
|
499
|
-
[x: `uint248[${string}]`]: undefined;
|
|
500
|
-
[x: `uint24[${string}]`]: undefined;
|
|
501
|
-
[x: `uint256[${string}]`]: undefined;
|
|
502
|
-
[x: `uint32[${string}]`]: undefined;
|
|
503
|
-
[x: `uint40[${string}]`]: undefined;
|
|
504
|
-
[x: `uint48[${string}]`]: undefined;
|
|
505
|
-
[x: `uint56[${string}]`]: undefined;
|
|
506
|
-
[x: `uint64[${string}]`]: undefined;
|
|
507
|
-
[x: `uint72[${string}]`]: undefined;
|
|
508
|
-
[x: `uint80[${string}]`]: undefined;
|
|
509
|
-
[x: `uint88[${string}]`]: undefined;
|
|
510
|
-
[x: `uint8[${string}]`]: undefined;
|
|
511
|
-
[x: `uint96[${string}]`]: undefined;
|
|
512
|
-
[x: `uint[${string}]`]: undefined;
|
|
513
|
-
address?: undefined;
|
|
514
|
-
bool?: undefined;
|
|
515
|
-
bytes?: undefined;
|
|
516
|
-
bytes1?: undefined;
|
|
517
|
-
bytes10?: undefined;
|
|
518
|
-
bytes11?: undefined;
|
|
519
|
-
bytes12?: undefined;
|
|
520
|
-
bytes13?: undefined;
|
|
521
|
-
bytes14?: undefined;
|
|
522
|
-
bytes15?: undefined;
|
|
523
|
-
bytes16?: undefined;
|
|
524
|
-
bytes17?: undefined;
|
|
525
|
-
bytes18?: undefined;
|
|
526
|
-
bytes19?: undefined;
|
|
527
|
-
bytes2?: undefined;
|
|
528
|
-
bytes20?: undefined;
|
|
529
|
-
bytes21?: undefined;
|
|
530
|
-
bytes22?: undefined;
|
|
531
|
-
bytes23?: undefined;
|
|
532
|
-
bytes24?: undefined;
|
|
533
|
-
bytes25?: undefined;
|
|
534
|
-
bytes26?: undefined;
|
|
535
|
-
bytes27?: undefined;
|
|
536
|
-
bytes28?: undefined;
|
|
537
|
-
bytes29?: undefined;
|
|
538
|
-
bytes3?: undefined;
|
|
539
|
-
bytes30?: undefined;
|
|
540
|
-
bytes31?: undefined;
|
|
541
|
-
bytes32?: undefined;
|
|
542
|
-
bytes4?: undefined;
|
|
543
|
-
bytes5?: undefined;
|
|
544
|
-
bytes6?: undefined;
|
|
545
|
-
bytes7?: undefined;
|
|
546
|
-
bytes8?: undefined;
|
|
547
|
-
bytes9?: undefined;
|
|
548
|
-
int104?: undefined;
|
|
549
|
-
int112?: undefined;
|
|
550
|
-
int120?: undefined;
|
|
551
|
-
int128?: undefined;
|
|
552
|
-
int136?: undefined;
|
|
553
|
-
int144?: undefined;
|
|
554
|
-
int152?: undefined;
|
|
555
|
-
int16?: undefined;
|
|
556
|
-
int160?: undefined;
|
|
557
|
-
int168?: undefined;
|
|
558
|
-
int176?: undefined;
|
|
559
|
-
int184?: undefined;
|
|
560
|
-
int192?: undefined;
|
|
561
|
-
int200?: undefined;
|
|
562
|
-
int208?: undefined;
|
|
563
|
-
int216?: undefined;
|
|
564
|
-
int224?: undefined;
|
|
565
|
-
int232?: undefined;
|
|
566
|
-
int24?: undefined;
|
|
567
|
-
int240?: undefined;
|
|
568
|
-
int248?: undefined;
|
|
569
|
-
int256?: undefined;
|
|
570
|
-
int32?: undefined;
|
|
571
|
-
int40?: undefined;
|
|
572
|
-
int48?: undefined;
|
|
573
|
-
int56?: undefined;
|
|
574
|
-
int64?: undefined;
|
|
575
|
-
int72?: undefined;
|
|
576
|
-
int8?: undefined;
|
|
577
|
-
int80?: undefined;
|
|
578
|
-
int88?: undefined;
|
|
579
|
-
int96?: undefined;
|
|
580
|
-
string?: undefined;
|
|
581
|
-
uint104?: undefined;
|
|
582
|
-
uint112?: undefined;
|
|
583
|
-
uint120?: undefined;
|
|
584
|
-
uint128?: undefined;
|
|
585
|
-
uint136?: undefined;
|
|
586
|
-
uint144?: undefined;
|
|
587
|
-
uint152?: undefined;
|
|
588
|
-
uint16?: undefined;
|
|
589
|
-
uint160?: undefined;
|
|
590
|
-
uint168?: undefined;
|
|
591
|
-
uint176?: undefined;
|
|
592
|
-
uint184?: undefined;
|
|
593
|
-
uint192?: undefined;
|
|
594
|
-
uint200?: undefined;
|
|
595
|
-
uint208?: undefined;
|
|
596
|
-
uint216?: undefined;
|
|
597
|
-
uint224?: undefined;
|
|
598
|
-
uint232?: undefined;
|
|
599
|
-
uint24?: undefined;
|
|
600
|
-
uint240?: undefined;
|
|
601
|
-
uint248?: undefined;
|
|
602
|
-
uint256?: undefined;
|
|
603
|
-
uint32?: undefined;
|
|
604
|
-
uint40?: undefined;
|
|
605
|
-
uint48?: undefined;
|
|
606
|
-
uint56?: undefined;
|
|
607
|
-
uint64?: undefined;
|
|
608
|
-
uint72?: undefined;
|
|
609
|
-
uint8?: undefined;
|
|
610
|
-
uint80?: undefined;
|
|
611
|
-
uint88?: undefined;
|
|
612
|
-
uint96?: undefined;
|
|
613
|
-
}, primaryType extends "EIP712Domain" | keyof typedData = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<`0x${string}`>;
|
|
614
|
-
publicKey: `0x${string}`;
|
|
615
|
-
source: "hd";
|
|
616
|
-
type: "local";
|
|
617
|
-
getHdKey: () => import("viem").HDKey;
|
|
618
|
-
}, chain: Chain, logger: Logger, args: DeployL1ContractsArgs, txUtilsConfig?: L1TxUtilsConfig, createVerificationJson?: string | false) => Promise<DeployL1ContractsReturnType>;
|
|
619
|
-
export declare class L1Deployer {
|
|
620
|
-
readonly client: ExtendedViemWalletClient;
|
|
621
|
-
private acceleratedTestDeployments;
|
|
622
|
-
private logger;
|
|
623
|
-
private txUtilsConfig?;
|
|
624
|
-
private createVerificationJson;
|
|
625
|
-
private salt;
|
|
626
|
-
private txHashes;
|
|
627
|
-
readonly l1TxUtils: L1TxUtils;
|
|
628
|
-
readonly verificationRecords: VerificationRecord[];
|
|
629
|
-
constructor(client: ExtendedViemWalletClient, maybeSalt: number | undefined, dateProvider?: DateProvider, acceleratedTestDeployments?: boolean, logger?: Logger, txUtilsConfig?: L1TxUtilsConfig | undefined, createVerificationJson?: boolean);
|
|
630
|
-
deploy<const TAbi extends Abi>(params: ContractArtifacts<TAbi>, args?: ContractConstructorArgs<TAbi>, opts?: {
|
|
631
|
-
gasLimit?: bigint;
|
|
632
|
-
noSimulation?: boolean;
|
|
633
|
-
}): Promise<{
|
|
634
|
-
address: EthAddress;
|
|
635
|
-
existed: boolean;
|
|
636
|
-
}>;
|
|
637
|
-
waitForDeployments(): Promise<void>;
|
|
638
|
-
sendTransaction(tx: L1TxRequest, options?: L1TxConfig): Promise<{
|
|
639
|
-
txHash: Hex;
|
|
640
|
-
gasLimit: bigint;
|
|
641
|
-
gasPrice: GasPrice;
|
|
642
|
-
}>;
|
|
643
|
-
}
|
|
644
|
-
/**
|
|
645
|
-
* Helper function to deploy ETH contracts.
|
|
646
|
-
* @param walletClient - A viem WalletClient.
|
|
647
|
-
* @param publicClient - A viem PublicClient.
|
|
648
|
-
* @param abi - The ETH contract's ABI (as abitype's Abi).
|
|
649
|
-
* @param bytecode - The ETH contract's bytecode.
|
|
650
|
-
* @param args - Constructor arguments for the contract.
|
|
651
|
-
* @param salt - Optional salt for CREATE2 deployment (does not wait for deployment tx to be mined if set, does not send tx if contract already exists).
|
|
652
|
-
* @returns The ETH address the contract was deployed to.
|
|
653
|
-
*/
|
|
654
|
-
export declare function deployL1Contract(extendedClient: ExtendedViemWalletClient, abi: Narrow<Abi | readonly unknown[]>, bytecode: Hex, args?: readonly unknown[], opts?: {
|
|
655
|
-
salt?: Hex;
|
|
656
|
-
libraries?: Libraries;
|
|
657
|
-
logger?: Logger;
|
|
658
|
-
l1TxUtils?: L1TxUtils;
|
|
659
|
-
gasLimit?: bigint;
|
|
660
|
-
acceleratedTestDeployments?: boolean;
|
|
661
|
-
noSimulation?: boolean;
|
|
662
|
-
}): Promise<{
|
|
663
|
-
address: EthAddress;
|
|
664
|
-
txHash: Hex | undefined;
|
|
665
|
-
deployedLibraries?: VerificationLibraryEntry[];
|
|
666
|
-
existed: boolean;
|
|
667
|
-
}>;
|
|
668
|
-
export declare function getExpectedAddress(abi: Narrow<Abi | readonly unknown[]>, bytecode: Hex, args: readonly unknown[], salt: Hex): {
|
|
669
|
-
address: `0x${string}`;
|
|
670
|
-
paddedSalt: `0x${string}`;
|
|
671
|
-
calldata: `0x${string}`;
|
|
672
|
-
};
|
|
673
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVwbG95X2wxX2NvbnRyYWN0cy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2RlcGxveV9sMV9jb250cmFjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFdBQVcsRUFBd0IsTUFBTSwwQkFBMEIsQ0FBQztBQUU3RSxPQUFPLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFM0QsT0FBTyxFQUFFLEtBQUssTUFBTSxFQUFnQixNQUFNLHVCQUF1QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUd2RCxPQUFPLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRzNDLE9BQU8sRUFDTCxLQUFLLEtBQUssRUFDVixLQUFLLHVCQUF1QixFQUU1QixLQUFLLEdBQUcsRUFXVCxNQUFNLE1BQU0sQ0FBQztBQUtkLE9BQU8sRUFDTCxLQUFLLGlCQUFpQixFQU12QixNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQUUsY0FBYyxFQUF3QixNQUFNLHVCQUF1QixDQUFDO0FBbUI3RSxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFDTCxLQUFLLFFBQVEsRUFDYixLQUFLLFVBQVUsRUFDZixLQUFLLFdBQVcsRUFDaEIsU0FBUyxFQUNULEtBQUssZUFBZSxFQUdyQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sS0FBSyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBSTNELGVBQU8sTUFBTSxnQkFBZ0IsRUFBRSxHQUFrRCxDQUFDO0FBRWxGLE1BQU0sTUFBTSxRQUFRLEdBQUc7SUFDckIsUUFBUSxFQUFFLFVBQVUsQ0FBQztJQUNyQixVQUFVLEVBQUUsVUFBVSxD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
|