Class: ContractFactory
@fuel-ts/contract.ContractFactory
ContractFactory
provides utilities for deploying and configuring contracts.
Constructors
constructor
• new ContractFactory(bytecode
, abi
, accountOrProvider?
): ContractFactory
Create a ContractFactory instance.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
bytecode | BytesLike | undefined | The bytecode of the contract. |
abi | JsonAbi | Interface <JsonAbi > | undefined | The contract's ABI (Application Binary Interface). |
accountOrProvider | null | Provider | Account | null | An account or provider to be associated with the factory. |
Returns
Defined in
contract-factory.ts:68
Properties
account
• account: null
| Account
Defined in
contract-factory.ts:59
bytecode
• bytecode: BytesLike
Defined in
contract-factory.ts:56
interface
• interface: Interface
<JsonAbi
>
Defined in
contract-factory.ts:57
provider
• provider: null
| Provider
Defined in
contract-factory.ts:58
Methods
blobTransactionRequest
▸ blobTransactionRequest(options
): BlobTransactionRequest
Create a blob transaction request, used for deploying contract chunks.
Parameters
Name | Type | Description |
---|---|---|
options | { bytecode : BytesLike } & { chunkSizeMultiplier? : number ; configurableConstants? : { [name: string] : unknown ; } ; salt? : BytesLike ; stateRoot? : BytesLike ; storageSlots? : StorageSlot [] } & CreateTransactionRequestLike | options for creating a blob transaction request. |
Returns
a populated BlobTransactionRequest.
Defined in
contract-factory.ts:444
connect
▸ connect(provider
): ContractFactory
Connect the factory to a provider.
Parameters
Name | Type | Description |
---|---|---|
provider | Provider | The provider to be associated with the factory. |
Returns
A new ContractFactory instance.
Defined in
contract-factory.ts:110
createTransactionRequest
▸ createTransactionRequest(deployOptions?
): Object
Create a transaction request to deploy a contract with the specified options.
Parameters
Name | Type | Description |
---|---|---|
deployOptions? | { chunkSizeMultiplier? : number ; configurableConstants? : { [name: string] : unknown ; } ; salt? : BytesLike ; stateRoot? : BytesLike ; storageSlots? : StorageSlot [] } & CreateTransactionRequestLike & { bytecode? : BytesLike } | Options for deploying the contract. |
Returns
Object
The CreateTransactionRequest object for deploying the contract.
Name | Type |
---|---|
contractId | string |
transactionRequest | CreateTransactionRequest |
Defined in
contract-factory.ts:120
deploy
▸ deploy<TContract
>(deployOptions?
): Promise
<DeployContractResult
<TContract
>>
Deploy a contract of any length with the specified options.
Type parameters
Name | Type |
---|---|
TContract | extends Contract = Contract |
Parameters
Name | Type | Description |
---|---|---|
deployOptions | DeployContractOptions | Options for deploying the contract. |
Returns
Promise
<DeployContractResult
<TContract
>>
A promise that resolves to the deployed contract instance.
Defined in
contract-factory.ts:195
deployAsBlobTx
▸ deployAsBlobTx<TContract
>(deployOptions?
): Promise
<DeployContractResult
<TContract
>>
Chunks and deploys a contract via a loader contract. Suitable for deploying contracts larger than the max contract size.
Type parameters
Name | Type |
---|---|
TContract | extends Contract = Contract |
Parameters
Name | Type | Description |
---|---|---|
deployOptions | DeployContractOptions | Options for deploying the contract. |
Returns
Promise
<DeployContractResult
<TContract
>>
A promise that resolves to the deployed contract instance.
Defined in
contract-factory.ts:251
deployAsCreateTx
▸ deployAsCreateTx<TContract
>(deployOptions?
): Promise
<DeployContractResult
<TContract
>>
Deploy a contract with the specified options.
Type parameters
Name | Type |
---|---|
TContract | extends Contract = Contract |
Parameters
Name | Type | Description |
---|---|---|
deployOptions | DeployContractOptions | Options for deploying the contract. |
Returns
Promise
<DeployContractResult
<TContract
>>
A promise that resolves to the deployed contract instance.
Defined in
contract-factory.ts:213
fundTransactionRequest
▸ fundTransactionRequest(request
, options?
): Promise
<TransactionRequest
>
Takes a transaction request, estimates it and funds it.
Parameters
Name | Type | Description |
---|---|---|
request | TransactionRequest | the request to fund. |
options | DeployContractOptions | options for funding the request. |
Returns
Promise
<TransactionRequest
>
a funded transaction request.
Defined in
contract-factory.ts:164
getAccount
▸ getAccount(): Account
Returns
Defined in
contract-factory.ts:414
getMaxChunkSize
▸ getMaxChunkSize(deployOptions
, chunkSizeMultiplier?
): number
Get the maximum chunk size for deploying a contract by chunks.
Parameters
Name | Type | Default value |
---|---|---|
deployOptions | DeployContractOptions | undefined |
chunkSizeMultiplier | number | CHUNK_SIZE_MULTIPLIER |
Returns
number
Defined in
contract-factory.ts:457
prepareDeploy
▸ prepareDeploy(deployOptions
): Promise
<{ contractId
: string
; transactionRequest
: CreateTransactionRequest
}>
Parameters
Name | Type |
---|---|
deployOptions | DeployContractOptions |
Returns
Promise
<{ contractId
: string
; transactionRequest
: CreateTransactionRequest
}>
Defined in
contract-factory.ts:421
setConfigurableConstants
▸ setConfigurableConstants(configurableConstants
): void
Set configurable constants of the contract with the specified values.
Parameters
Name | Type | Description |
---|---|---|
configurableConstants | Object | An object containing configurable names and their values. |
Returns
void
Defined in
contract-factory.ts:377