#
ContractFactory
source

@TODO: Fill this in, including @SRC links

##
Creating Instances

new ethers.ContractFactory( interface , bydecode [ , signer ] )
source
ContractFactory.fromSolidity( compilerOutput [ , signer ] ) ⇒ ContractFactory
contractFactory.connect( signer ) ⇒ Contract

##
Properties

contractFactory.interface ⇒ Interface
contractFactory.bytecode ⇒ string< DataHexString >
contractFactory.signer ⇒ Signer

##
Methods

contractFactory.attach( address ) ⇒ Contract

Return an instance of a Contract attched to address. This is the same as using the Contract constructor with address and this the the interface and signerOrProvider passed in when creating the ContractFactory.

contractFactory.getDeployTransaction( ...args ) ⇒ UnsignedTransaction

Returns the unsigned transaction which would deploy this Contract with args passed to the Contract's constructor.

contractFactory.deploy( ...args ) ⇒ Promise< Contract >

Uses the signer to deploy the Contract with args passed into tgee constructor and retruns a Contract which is attached to the address where this contract will be deployed once the transction is mined.

The transction can be found at `contract.deployTransaction`, and no interactions should be made until the transaction is mined.

Deploying a Contract
// <hide> const signer = ethers.LocalSigner(); const ContractFactory = ethers.ContractFactory; // </hide> // If your contract constructor requires parameters, the ABI // must include the constructor const abi = [ "constructor(address owner, uint256 initialValue)" ]; const factory = new ContractFactory(abi, bytecode, signer) const contract = await factory.deploy("ricmoo.eth", 42); // The address is available immediately, but the contract // is NOT deployed yet contract.address //! // The transaction that the signer sent to deploy contract.deployTransaction //! // Wait until the transaction is mined contract.deployTransaction.wait() //! // Now the contract is safe to ineract with contract.value() //!
The content of this site is licensed under the Creative Commons License. Last modified on June 12, 2020, 7:17pm.