ContractDeployer
Abstract0x0000000000000000000000000000000000008006
Solidity v0.8.20+commit.a1b79de6
概览
读取函数
Returns the account abstraction version if `_address` is a deployed contract. Returns the latest supported account abstraction version if `_address` is an EOA.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _address | address |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| — | uint8 |
Returns information about a certain account.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _address | address |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| info | tuple |
Calculates the address of a deployed contract via create
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _sender | address | The account that deploys the contract. |
| _senderNonce | uint256 | The deploy nonce of the sender's account. |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| newAddress | address |
Calculates the address of a deployed contract via create2
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _sender | address | The account that deploys the contract. |
| _bytecodeHash | bytes32 | The correctly formatted hash of the bytecode. |
| _salt | bytes32 | The create2 salt. |
| _input | bytes | The constructor data. |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| newAddress | address | newAddress The derived address of the account. |
写入函数
Deploys a contract with similar address derivation rules to the EVM's `CREATE` opcode.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _salt | bytes32 | |
| _bytecodeHash | bytes32 | The correctly formatted hash of the bytecode. |
| _input | bytes | The constructor calldata |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| — | address |
Deploys a contract with similar address derivation rules to the EVM's `CREATE2` opcode.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _salt | bytes32 | The CREATE2 salt |
| _bytecodeHash | bytes32 | The correctly formatted hash of the bytecode. |
| _input | bytes | The constructor calldata |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| — | address |
Deploys a contract account with similar address derivation rules to the EVM's `CREATE2` opcode.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _salt | bytes32 | The CREATE2 salt |
| _bytecodeHash | bytes32 | The correctly formatted hash of the bytecode. |
| _input | bytes | The constructor calldata. |
| _aaVersion | uint8 | The account abstraction version to use. Note: this method may be callable only in system mode, that is checked in the `createAccount` by `onlySystemCall` modifier. |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| — | address |
Deploys a contract account with similar address derivation rules to the EVM's `CREATE` opcode.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| — | bytes32 | |
| _bytecodeHash | bytes32 | The correctly formatted hash of the bytecode. |
| _input | bytes | The constructor calldata. |
| _aaVersion | uint8 | The account abstraction version to use. |
返回值
| 名称 | 类型 | 描述 |
|---|---|---|
| — | address |
The method that can be used to forcefully deploy a contract.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _deployment | tuple | Information about the forced deployment. |
| _sender | address | The `msg.sender` inside the constructor call. |
This method is to be used only during an upgrade to set bytecodes on specific addresses.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _deployments | tuple[] |
Update the used version of the account.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _version | uint8 | The new version of the AA protocol to use. |
Updates the nonce ordering of the account. Currently, it only allows changes from sequential to arbitrary ordering.
参数
| 名称 | 类型 | 描述 |
|---|---|---|
| _nonceOrdering | uint8 | The new nonce ordering to use. |
事件
| 名称 | 类型 | 已索引 | 描述 |
|---|---|---|---|
| accountAddress | address | ✓ | |
| nonceOrdering | uint8 |
| 名称 | 类型 | 已索引 | 描述 |
|---|---|---|---|
| accountAddress | address | ✓ | |
| aaVersion | uint8 |
| 名称 | 类型 | 已索引 | 描述 |
|---|---|---|---|
| deployerAddress | address | ✓ | |
| bytecodeHash | bytes32 | ✓ | |
| contractAddress | address | ✓ |